章节内容:
上一节完成:
HDFS 文件操作
WordCount 案例 分布式运行
查看运行结果
背景介绍
这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。
之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。
注意,如果你和我一样,打算用公网部署,那一定要做好防火墙策略,避免不必要的麻烦!!!
请大家都以学习为目的,也请不要对我的服务进行嗅探或者攻击!!!
但是有一台公网服务器我还运行着别的服务,比如前几天发的:autodl-keeper 自己写的小工具,防止AutoDL机器过期的。还跑着别的Web服务,所以只能挤出一台 2C2G 的机器。那我的配置如下了:
2C4G 编号 h121
2C4G 编号 h122
2C2G 编号 h123
请确保上一节内容全部完毕和跑通!!!
目前问题
在YARN
中运行的任务生产的日志都看不了,所以如果需要查看程序历史的运行结果,需要配置历史服务器。
历史服务
mapred-site
修改 mapred-site.xml
,在之前的基础上,添加如下的内容:
<!-- 历史服务器端地址 --> <property> <name>mapreduce.jobhistory.address</name> <value>h121.wzk.icu:10020</value> </property> <!-- 历史服务器web端地址 --> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>h121.wzk.icu:19888</value> </property>
同步配置
通过分发脚本将脚本同步,你也可以手动都配置一下。
rsync-script mapred-site.xml • 1
保证这三台节点的配置一致即可!
- h121
- h122
- h123
启动服务
在 h121
机器上运行
mr-jobhistory-daemon.sh start historyserver • 1
查看结果
jps • 1
访问网页
http://h121.wzk.icu:19888/jobhistory • 1
日志聚集
在 h121
节点上修改 yarn-site.xml
修改为如下的内容:
vim yarn-site.xml
<!-- 日志聚集 --> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <!-- 日志保留时间设置7天 --> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>604800</value> </property> <property> <name>yarn.log.server.url</name> <value>http://h121.wzk.icu:19888/jobhistory/logs</value> </property>
修改截图如下:
同步配置
同样的,你也可以使用手动进行同步,只要保证配置是一致的即可
rsync-script yarn-site.xml
重启服务
在 h121
上进行操作:
yarn-daemon.sh stop resourcemanager yarn-daemon.sh stop nodemanager mr-jobhistory-daemon.sh stop historyserver
在 h121
上继续操作:
yarn-daemon.sh start resourcemanager yarn-daemon.sh start nodemanager mr-jobhistory-daemon.sh start historyserver
测试效果
hdfs dfs -rm -R /wcoutput • 1
运行测试
重新运行我们之前跑的 WordCount 的案例:
cd /opt/servers/hadoop-2.9.2 hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.9.2.jar wordcount /wcinput /wcoutput
查看日志
http://h121.wzk.icu:19888/jobhistory • 1