1.2)Hadoop学习(完全分部署运行模式)开发重点
1.3) Hadoop学习集群崩溃的处理方法
1.配置mapred-site.xml
vim /opt/model/hadoop-3.1.3/etc/hadoop/mapred-site.xml
在该文件中增加如下配置
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop51:10020</value>
</property>
<!-- 历史服务器 web 端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop51:19888</value>
</property>
配置完之后分发到个个服务器
xsync mapred-site.xml
2.关闭yarn
yarn是需要在hadoop52上启动的
#如果yarn是开启的先关闭yarn 然后在启动
stop-yarn.sh #关闭yarn
start-yarn.sh #启动yarn
启动完这里就多了个ResourceManager
3.启动历史服务器
在hadoop51上执行也就是192.168.10.51
mapred --daemon start historyserver
jps #查看
mapred是在hadoop中bin目录下的
4.查看jobHistory
http://192.168.10.51:19888/jobhistory
5.测试
在hdfs上上传一个文件然后在执行计算
#hdfs创建文件 创建一个input文件夹
hadoop fs -mkdir /input
#把本地的wcinput目录下的word文件上传到hdfs上的iput目录
hadoop fs -put wcinput/word.txt /input
#执行jar方法
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output
然后我们打开http://192.168.10.52:8088/cluster可以看到有个任务在计算执行
这个执行到一半报这个错
传送门添加链接描述
我的报这个错是没有配置haostname,直接执行vim /etc/hostname
输入自己的域名hadoop51
然后reboot
重启就好啦。然后随后又报这个错真的是一个坑接一个坑
用的是这个方法传送门就是在vim etc/hadoop/mapred-site.xml
加上了
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
启动时候报这个错
很好理解 /bin/java 无法执行执行
ln -s /opt/model/jdk1.8.0_212/bin/java /bin/java
执行这个然后在执行 /bin/java
就能执行那个命令啦
然后分发到hadoop51 52 53 上去然后在执行还是报错报这个
然后经过一番倒腾 把 vim etc/hadoop/yarn-site.xml
该成下面的那个就好啦
这个是加的代码value 要根据自己的hadoop classpath来写 配置完之后分发到各个机器上就好啦
<property>
<name>yarn.application.classpath</name>
<value>/opt/model/hadoop-3.1.1/etc/hadoop:/opt/model/hadoop-3.1.1/share/hadoop/common/lib/*:/opt/model/hadoop-3.1.1/share/hadoop/common/*:/opt/model/hadoop-3.1.1/share/hadoop/hdfs:/opt/model/hadoop-3.1.1/share/hadoop/hdfs/lib/*:/opt/model/hadoop-3.1.1/share/hadoop/hdfs/*:/opt/model/hadoop-3.1.1/share/hadoop/mapreduce/lib/*:/opt/model/hadoop-3.1.1/share/hadoop/mapreduce/*:/opt/model/hadoop-3.1.1/share/hadoop/yarn:/opt/model/hadoop-3.1.1/share/hadoop/yarn/lib/*:/opt/model/hadoop-3.1.1/share/hadoop/yarn/*</value>
</property>
如果不写那个长串的话他会报一个错找不到什么什么主类
Container exited with a non-zero exit code 1. Error file: prelaunch.err. Last 4096 bytes of prelaunch.err : Last 4096 bytes of stderr : 错误: 找不到或无法加载主类 org.apache.hadoop.mapreduce.v2.app.MRAppMaster
最后执行西面的命令
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.3.jar wordcount /input /output
出现了这个就是成功了
这就是显示的执行完整了
还有一个问题就是点击History的时候跳转的时候会报错跳转不过去我这边是因为我配置的是hadoop52本机host文件里面解析不了这个域名,所以要在你访问的机子上配置这个域名打开host文件在C:\Windows\System32\drivers\etc
打开编辑hosts文件把这个配进来就好啦
然后就大公告成就能点过去拉然后就跳到了这里
自学自学,小白一枚大佬看到还请多多指点。
学习时的痛苦是暂时的,未学到的痛苦是终生的 加油!