一、启动关闭集群脚本
1.1 所有进程启动脚本
cd到bin目录,脚本放这:
cd /home/chuan/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 "/home/chuan/software/hadoop-3.2.4/sbin/start-dfs.sh"
echo " --------------- 启动 yarn ---------------"
ssh hadoop103 "/home/chuan/software/hadoop-3.2.4/sbin/start-yarn.sh"
echo " --------------- 启动 historyserver ---------------"
ssh hadoop102 "/home/chuan/software/hadoop-3.2.4/bin/mapred --daemon start historyserver"
;;
"stop")
echo " =================== 关闭 hadoop 集群 ==================="
echo " --------------- 关闭 historyserver ---------------"
ssh hadoop102 "/home/chuan/software/hadoop-3.2.4/bin/mapred --daemon stop historyserver"
echo " --------------- 关闭 yarn ---------------"
ssh hadoop103 "/home/chuan/software/hadoop-3.2.4/sbin/stop-yarn.sh"
echo " --------------- 关闭 hdfs ---------------"
ssh hadoop102 "/home/chuan/software/hadoop-3.2.4/sbin/stop-dfs.sh"
;;
*)
echo "Input Args Error..."
;;
esac
给脚本权限:
chmod 777 myhadoop.sh
如下:
1.2 测试
先关闭所有进程:
stop-all.sh
执行刚刚编写的脚本:
myhadoop.sh start
执行如下:
该脚本实现了同时启动我们需要的进程,而不用一个个单独去启动。注意,该脚本编写语言是shell。
1.3 编写所有服务器进程查看脚本
由于每次查看进程都得到每台服务器上输入jps查看,比较麻烦,且如果服务器较多,十分耗时,于是想到编写一个脚本,查看所有服务器的进程情况。
vim jpsall
添加内容如下:
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo =============== $host ===============
ssh $host jps
done
赋予权限:
chmod 777 jpsall
执行脚本:
jpsall
如下:
1.4 脚本分发
分到后,其它服务器也可以执行相同操作。
xsync /home/chuan/bin
如下:
去其它服务器上测试下(103)
cd /home/chuan/bin
jpsall
如下:
104服务器:
二、基本知识回顾
2.1 端口号
对应hadoop3版本:
- HDFS NameNode 内部通信端口:8020/9000/9820
- HDFS NameNode 对用户的查询端口:9870
- Yarn查看任务运行情况的:8088
- 历史服务器:19888
2.2 常用配置
- core-site.xml
- hdfs-site.xml
- yarn-site.xml
- mapred-site.xml
- workers