问题一:Hadoop版本太高

卸载Hadoop3.2.0 我改安装了Hadoop 2.7.7

如果没有权限下载。可以采用如下方式:

卸载完成以后返回原目录即可

后面的jdk卸载也可以采用这种方式。

按照教程重新安装http://dblab.xmu.edu.cn/blog/install-hadoop/

由于后期需要安装HBASE 所以Hadoop安装版本选择问题参考如下:

然后

执行这一步时或者某些会出现各种警告,这个是由于之前安装的jdk版本过高造成的 卸载jdk 改安装jdk1.8.0

  问题二:jdk版本过高

按照上述方式,卸载jdk

然后配置环境变量

然后可能会出现JAVA_HOME is not set and could not be found 类似于这种java_home找不到这种错误,或者找不到default-java等修改一下hadoop-env.sh文件改一下jdk路径即可,参考:https://blog.csdn.net/dianzishijian/article/details/52094569

运行MapReduce 项目实例的时候 可能会出现

Unable to load native-hadoop library for your platform

解决参考教程:https://blog.csdn.net/jack85986370/article/details/51902871

启动Hadoop:./sbin/start-dfs.sh

关闭Hadoop:./sbin/stop-dfs.sh

运行 Hadoop 程序时,为了防止覆盖结果,程序指定的输出目录(如 output)不能存在,否则会提示错误,因此运行前需要先删除输出目录。

./bin/hdfs dfs -rm -r output # 删除 output 文件夹

或者添加如下代码 在程序中(能在每次运行时自动删除输出目录,避免繁琐的命令行操作)

  1. Configuration conf = new Configuration();
  2. Job job = new Job(conf);
  3. /* 删除输出目录 */
  4. Path outputPath = new Path(args[1]);
  5. outputPath.getFileSystem(conf).delete(outputPath, true);

  1. // String[] otherArgs = new GenericOptionsParser(conf, args).getRemainingArgs();
  2. String[] otherArgs=new String[]{"input","output"}; /* 直接设置输入参数 */

   分布式文件系统HDFS:

1.为了解决海量数据的分布式存储的问题

2.满足大规模数据的批量处理需求,不会去访问一块一块儿的数据

3.实时性不高

4.不支持多用户写入及任意修改文件,只允许追加数据,不允许修改

  HDFS相关概念

1.块:HDFS的一个快要比普通的一个快大很多(支持面向大规模数据存储,降低分布式节点的寻址开销)-------->支持大规模文件存储,简化系统设计,适合数据备份

2.名称节点(主节点,记录数据库存储位置信息,数据目录),数据节点(存储实际数据,每个数据节点上的数据是被保存到数据节点本地的Linux文件系统中去)----->两大组件

注意,在FsImage文件中是没有具体记录块在哪个数据节点存储的

HDFS启动:先从底层读出FsImage,再读出EditLog,然后它们在内存中进行合并操作,合并后得到一个新的FsImage,删掉旧的FsImage,再生成一个新的EditLog,系统开始运行

第二名称节点:1.名称节点的冷备份,2.对EditLog的处理(帮助解决EditLog不断增大的问题)

暑假周进度报告(三)-------版本过高后续问题处理,eclipse编译运行MapReduce以及Hadoop学习的更多相关文章

  1. 02-03Android学习进度报告三

    今天主要学习了线性布局和相对布局的概念和区别,以及线性布局和相对布局的优缺点. 经过搜素发现,我们屏幕适配的使用用的比较多的就是LinearLayout的权重属性weight,我 学习了一些 Line ...

  2. Hadoop 系列文章(三) 配置部署启动YARN及在YARN上运行MapReduce程序

    这篇文章里我们将用配置 YARN,在 YARN 上运行 MapReduce. 1.修改 yarn-env.sh 环境变量里的 JAVA_HOME 路径 [bamboo@hadoop-senior ha ...

  3. 第五周总结&实验报告三

    第五周总结&实验报告三 实验报告 1.已知字符串:"this is a test of java".按要求执行以下操作:(要求源代码.结果截图.) ① 统计该字符串中字母s ...

  4. 20135231 JAVA实验报告三:敏捷开发与XP实践

    ---恢复内容开始--- JAVA实验报告三:敏捷开发与XP实践 20135231 何佳 实验内容 1. XP基础 2. XP核心实践 3. 相关工具 实验要求 1.没有Linux基础的同学建议先学习 ...

  5. 20162317袁逸灏 第八周实验报告:实验二 Java面向对象程序设计

    20162317袁逸灏 第八周实验报告:实验二 Java面向对象程序设计 实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 ...

  6. CSS3中flexbox如何实现水平垂直居中和三列等高布局

    最近这些天都在弥补css以及css3的基础知识,在打开网页的时候,发现了火狐默认首页上有这样一个东西.

  7. Android特效专辑(十一)——仿水波纹流量球进度条控制器,实现高端大气的主流特效

    Android特效专辑(十一)--仿水波纹流球进度条控制器,实现高端大气的主流特效 今天看到一个效果挺不错的,就模仿了下来,加上了一些自己想要的效果,感觉还不错的样子,所以就分享出来了,话不多说,上图 ...

  8. Windows版本redis高可用方案探究

    目录 Windows版本redis高可用方案探究 前言 搭建redis主从 配置主redis-28380 配置从redis-23381 配置从redis-23382 将redis部署为服务 启动red ...

  9. 本周java 学习进度报告

    本周java 学习进度报告 本周对我的感触很深,因为这是我初学java 语言的第一周,我认识到java 和c语言是有很多的不同之处和相同之处.我这几天几乎是在研究java 基础入门知识,而并没有太多的 ...

随机推荐

  1. Servlet映射细节

    Servlet的映射细节: 1):一个Servlet程序(Web组件),可以配置多个<url-pattern>,表示一个Servlet有多个资源名称. <servlet-mappin ...

  2. css——伪类选择器

    <body> <div class="box">   <p>0</p>         <div>1</div&g ...

  3. Django框架之模板路径及静态文件路径配置

    内容: (1)模板文件路径的配置 (2)静态文件路径的配置 一.模板文件路径的配置 模板文件主要通过jinja2模板进行渲染html页面,实现动态页面. 步骤一:创建一个template的文件夹,用于 ...

  4. STM的低功耗系列

    STM32L0的2个新增外设:一是集成了晶振的USB,第二高精度的12位或16位ADC: 特色外设LUART:传统的MCU当CPU睡眠,进入低功耗模式下,外设是关闭的,因为时钟是关闭的,而意法半导体的 ...

  5. Codeforces Round #589 (Div. 2)E(组合数,容斥原理,更高复杂度做法为DP)

    #define HAVE_STRUCT_TIMESPEC#include<bits/stdc++.h>using namespace std;int f[257],fac[257],ifa ...

  6. 涂涂影院APP-免费VIP电影观看「安卓APP」

    最新下载链接:https://www.lanzous.com/u/niceyoo 2019年基本就没推广过这款APP,很失败,从第一版发布到现在涂涂影院已经做了2年了, 由于没有官网,所以基本百度能搜 ...

  7. ssh pubkey免密登陆远程主机

    二.公钥登录 每次登录远程主机都需要输入密码是很不方便的,如果想要省去这一步骤,可以利用密钥对进行连接,还可以提高安全性. 1.在本机生成密钥对 使用ssh-keygen命令生成密钥对: ssh-ke ...

  8. 工具 - PyCharm相关

    Ctrl + Q查看Documentation Ctrl + Alt + L 格式化代码 """""" + enter就可以自动生成DocS ...

  9. Python 爬取 热词并进行分类数据分析-[数据修复]

    日期:2020.02.01 博客期:140 星期六 [本博客的代码如若要使用,请在下方评论区留言,之后再用(就是跟我说一声)] 所有相关跳转: a.[简单准备] b.[云图制作+数据导入] c.[拓扑 ...

  10. 什么是redis事务

    一.什么是redis事务? 可以一次性执行多条命令,本质上是一组命令的集合.一个事务中的所有命令都会序列化,然后按顺序地串行化执行,而不会被插入其他命令 二.Redis 事务可以做什么? 一个队列中, ...