目录
- 前言
- 一、Hadoop集群配置历史服务器
- 二、配置日志的聚集
- 三、集群启动/停止方式总结
- 四、编写Hadoop集群常用脚本
- 五、常用端口号说明
- 最后
前言
这篇文章内容覆盖了Hadoop集群中一些重要且常用的配置和管理任务。首先,我们将介绍如何配置Hadoop集群的历史服务器,这对于查看和分析任务的历史信息非常有帮助。其次,我们将探讨如何配置日志的聚集和管理,以便有效地监控和故障排查集群。然后,我们将总结集群的启动和停止方式,包括常见的启动脚本和命令。接下来,我们将给出一些编写Hadoop集群常用脚本的建议和实例。最后,我们将简要介绍Hadoop集群中常用的端口号,并解释其作用。
一、Hadoop集群配置历史服务器
配置mapred-site.xml文件
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>hadoop102:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hadoop102:19888</value>
</property>
启动历史服务器:bin/mapred --daemon start historyserver
[amo@hadoop104 hadoop-3.2.4]$ bin/mapred --daemon start historyserver
[amo@hadoop104 hadoop-3.2.4]$ jps
2066 SecondaryNameNode
26628 NodeManager
1977 DataNode
26889 Jps
26860 JobHistoryServer
查看jobhistory
http://hadoop102:19888/jobhistory/
二、配置日志的聚集
日志聚集概念:应用运行完成以后,将程序运行日志信息上传到HDFS系统上。
日志聚集功能好处:可以方便的查看到程序运行详情,方便开发调试。
注意:开启日志聚集功能,需要重新启动NodeManager 、ResourceManager和HistoryServer。
开启日志聚集功能具体步骤如下:
- 配置 yarn-site.xml 文件
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://hadoop102:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为7天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
-
分发yarn-site.xml 文件到hadoop103、hadoop104
xsync yarn-site.xml
-
关闭NodeManager/ResourceManager
sbin/stop-yarn.sh
-
关闭historyserver
mapred --daemon stop historyserver
-
启动NodeManager/ResourceManager
sbin/start-yarn.sh
-
启动historyserver
mapred --daemon start historyserver
-
测试,执行wordcount
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.4.jar wordcount /input /output
- 任务列表
- 任务运行日志
- 日志详情
三、集群启动/停止方式总结
- 各个模块分开启动/停止(配置ssh是前提)常用
- 整体启动/停止HDFS
start-dfs.sh/stop-dfs.sh
- 整体启动/停止YARN
start-yarn.sh/stop-yarn.sh
- 整体启动/停止HDFS
- 各个服务组件逐一启动/停止
- 分别启动/停止HDFS组件
hdfs --daemon start/stop namenode/datanode/secondarynamenode
- 启动/停止YARN
yarn --daemon start/stop resourcemanager/nodemanager
- 分别启动/停止HDFS组件
四、编写Hadoop集群常用脚本
1)Hadoop集群启停脚本(包含HDFS,Yarn,Historyserver):myhadoop.sh
[amo@hadoop102 ~]$ cd /home/amo/bin
[amo@hadoop102 bin]$ vim myhadoop.sh
⦁ 输入如下内容
#!/bin/bash
if [ $# -lt 1 ]
then
echo "No Args Input..."
exit ;
fi
case $1 in
"start")
echo " =================== 启动 hadoop集群 ==================="
echo " --------------- 启动 hdfs ---------------"
ssh hadoop102 "/opt/module/hadoop-3.2.4/sbin/start-dfs.sh"
echo " --------------- 启动 yarn ---------------"
ssh hadoop103 "/opt/module/hadoop-3.2.4/sbin/start-yarn.sh"
echo " --------------- 启动 historyserver ---------------"
ssh hadoop102 "/opt/module/hadoop-3.2.4/bin/mapred --daemon start historyserver"
;;
"stop")
echo " =================== 关闭 hadoop集群 ==================="
echo " --------------- 关闭 historyserver ---------------"
ssh hadoop102 "/opt/module/hadoop-3.2.4/bin/mapred --daemon stop historyserver"
echo " --------------- 关闭 yarn ---------------"
ssh hadoop103 "/opt/module/hadoop-3.2.4/sbin/stop-yarn.sh"
echo " --------------- 关闭 hdfs ---------------"
ssh hadoop102 "/opt/module/hadoop-3.2.4/sbin/stop-dfs.sh"
;;
*)
echo "Input Args Error..."
;;
esac
⦁ 保存后退出,然后赋予脚本执行权限
chmod 777 myhadoop.sh
2)查看三台服务器Java进程脚本:jpsall
[amo@hadoop102 ~]$ cd /home/amo/bin
[amo@hadoop102 bin]$ vim jpsall
⦁ 输入如下内容
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo =============== $host ===============
ssh $host jps
done
⦁ 保存后退出,然后赋予脚本执行权限
chmod 777 jpsall
3)分发/home/atguigu/bin目录,保证自定义脚本在三台机器上都可以使用
xsync bin/
五、常用端口号说明
端口名称 | Hadoop2.x | Hadoop3.x |
---|---|---|
NameNode内部通信端口 | 8020 / 9000 | 8020 / 9000 / 9820 |
NameNode HTTP UI 端口 | 50070 | 9870 |
MapReduce查看执行任务端口 | 8088 | 8088 |
历史服务器通信端口 | 19888 | 19888 |
最后
希望本篇文章能帮助你更好地理解和应用Hadoop集群的配置与管理方法,从而提高数据处理和分析的效率和可靠性。祝你在Hadoop集群的配置和管理中取得成功!