大数据学习(Hadoop3.0安装与样例测试)

首先,最新的Apache Hadoop已经3.0了,为了跟上时代我还是配3.0的吧。然后,因为所给的教程是2.*,网上的基本也是1.*和2.*,所以配置的的时候可以说是山路十八弯,这里把过程详细写写。

1.下载,解压,配置环境变量,不用多说

大数据学习(Hadoop3.0安装与样例测试)_第1张图片

2.配置相关文件(Hadoop3.0版本)

进入解压目录

执行如下命令,创建一些数据缓存的文件夹:

mkdir hdfs

mkdir tmp

mkdir /hdfs/name

mkdir /hdfs/data

进入etc/hadoop文件下编辑相关文件

①首先深呼吸,保证等会不要抄错代码(自己手打一遍)

② 修改yarn-env.sh  以及 mapred-env.sh,指定 JAVA_HOME

③  打开slaves,添加分节点主机名    打开wokers,添加分节点主机名

④ 打开core-site.xml编辑,配置hdfs地址和端口

大数据学习(Hadoop3.0安装与样例测试)_第2张图片

Master是主机名,~/tmp 是我们开始创建的文件夹目录

⑤ 打开hdfs-site.xml,配置副本的个数及数据的存放路径

大数据学习(Hadoop3.0安装与样例测试)_第3张图片

~/name,~/data同理,别照教程直抄上去。

⑥ 打开mapred-site.xml,重点配置

这是第一步,与之前版本无异,配置使用yarn框架执行map-reduce处理程序,然后不同的是,在格式化HDFS文件系统后,我们还得配置第二步。

大数据学习(Hadoop3.0安装与样例测试)_第4张图片

新加了两段话。如果不加的话,后面测试样例会让人怀疑人生。

报错如下:NoClassDefFoundError:org/apache/hadoop/mapreduce/v2/app/MRAppMaster

⑦ 打开yarn-site.xml,配置resourcemanager,nodemanager通信端口

大数据学习(Hadoop3.0安装与样例测试)_第5张图片

⑧ scp 命令将Master中的hadoop文件夹复制到2个分节点上(说白了就是让三个节点的hadoop一模一样,别忘了jdk)



3.启动集群

①启动hadoop集群

格式化文件系统,在主节点上执行命令:hadoop namenode–format

进入sbin文件夹,启动hdfs,执行:./start-dfs.sh

检查

每个节点执行:jps 在主节点启动了NameNode和SecondaryNameNode,分节点均启动了DataNode则启动成功

②启动yarn集群

在sbin文件夹下,主节点执行命令:./start-yarn.sh

主节点启动了ResourceManager,分节点上启动了NodeManager则启动成功

至此大功告成。

问题1:未知的莫名其妙的错误

解决方法:首先检查文件配置有没错误的单词字母

问题2:第二天起床namenode启动不了

解决方法:很有可能是格式化文件系统后,又格式化了一次。尝试吧 tmp 和 hdsf/name 、hdfs/data 以及 log 中的文件全部删除,再格式化后启动试试

笔记:

1.kill 命令可以结束进程

2.每次启动集群需要去到hadoop中sbin的文件夹下执行命令,有点不方便,可以在etc的profile文件中export一个HADOOP_HOME,然后在PATH中添加:$HADOOP_HOME/sbin即可,注意添加的格式和标点。

3.格式化文件系统一次就够了,之后只需start相关内容

4.可以提前把sublime text3这款软件装好


二.使用Hadoop MapReduce V2样例代码快速测试系统

进入如下目录,测试的jar文件在这里。

执行如下代码

最终我们想要的结果大概就是这样的。

问题1:报错“ xx of xx virtual memory used.....Killing container..".查阅资料后,应该是虚拟内存超了的问题

解决方法:在yarn-site.xml文件中加入如下的话让他不检查虚拟内存

问题2:“ssh client refused....”

解决方案:每台虚拟机都依次跑两个命令再试试

问题3:第二天起床可能会发生如下问题,安全模式开启了

解决方法:那我们就关掉它,执行命令hadoop dfsadmin -safemod leave

大数据学习(Hadoop3.0安装与样例测试)_第6张图片

笔记:

1.这个目录下的jar文件储存了hadoop里的很多测试样例,比如还有wordcount,具体的网上搜。我们的pi命令就是计算Pi,π(为什么等于3.8... ..)后面2个数字参数的含义:第1个2指的是要运行2次map任务,第2个数字10指的是每个map任务,要执行多少次

2.操作一定要规范,操作一定要规范,操作一定要规范任何的失误都可能浪费巨多的时间,像我重装Hadoop几次都装出内伤了。

3.学会看Log,真的学会看Log,很多玄学问题的解决方案都是可以从Log中看出端倪的,不然查解决方案都没有头绪。

你可能感兴趣的:(大数据学习(Hadoop3.0安装与样例测试))