为了方便启动关闭hadoop集群,我们直接编写脚本,每次启动集群时运行脚本即可
一.编写
1.开启关闭脚本
在bigdata03的/opt目录下创建shell文件夹
cd /opt
mkdir /opt/shell
在本地用NodePad++编写启动关闭的脚本,名为my_hadoop.sh
#!/bin/bash
#在调用shell脚本时,需要传入一个参数,用于标识执行开启或者关闭hadoop(hdfs,yarn,历史服务)
#判断调用shell脚本时 是否正常的传入参数
if [ $# -lt 1 ]
then
echo "调用该脚本时需要传入一个参数"
exit ;
fi
case $1 in
"start")
echo "-----------启动hadoop集群-------"
echo "-----------启动hdfs--------"
#远程访问databig03,然后执行start-dfs.sh脚本
ssh bigdata03 "/opt/softs/hadoop3.1.3/sbin/start-dfs.sh"
echo "-----------启动yarn--------"
ssh bigdata05 "/opt/softs/hadoop3.1.3/sbin/start-yarn.sh"
echo "-----------启动历史服务--------"
ssh bigdata05 "/opt/softs/hadoop3.1.3/bin/mapred --daemon start historyserver"
;;
"stop")
echo "-----------关闭hadoop集群-------"
echo "-----------关闭hdfs--------"
#远程访问databig03,然后执行stop-dfs.sh脚本
ssh bigdata03 "/opt/softs/hadoop3.1.3/sbin/stop-dfs.sh"
echo "-----------关闭yarn--------"
ssh bigdata05 "/opt/softs/hadoop3.1.3/sbin/stop-yarn.sh"
echo "-----------关闭历史服务--------"
ssh bigdata05 "/opt/softs/hadoop3.1.3/bin/mapred --daemon stop historyserver"
;;
*)
echo "输入的参数不符合脚本运行的规则,请输入start或者stop"
;;
esac
注意编写时语言为shell,同时右下角要改为Unix
2.查看进程脚本
再编写一个my_jps.sh脚本,用于查看进程
#!/bin/bash
for hostname in bigdata03 bigdata04 bigdata05
do
echo "------$hostname------"
ssh $hostname /opt/softs/jdk1.8.0/bin/jps
done
通过MobaXterm传输到/opt/shell下
二.配置
在bigdata03下启动脚本
sh my_hadoop.sh start
出现报错
cd /opt/softs/hadoop3.1.3/sbin/
vim start-dfs.sh
在开头加上
HDFS_NAMENODE_USER=root
HDFS_DATANODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
stop-dfs.sh 也要加
同理,start-yarn.sh stop-yarn.sh 开头加
YARN_RESOURCEMANAGER_USER=root
YARN_NODEMANAGER_USER=root
添加完毕后通过scp命令将start-dfs.sh stop-dfs.sh start-yarn.sh stop-yarn.sh发送给 bigdata04,bigdata05
scp start-dfs.sh root@bigdata04:/opt/softs/hadoop3.1.3/sbin/
scp start-dfs.sh root@bigdata05:/opt/softs/hadoop3.1.3/sbin/
scp stop-dfs.sh root@bigdata04:/opt/softs/hadoop3.1.3/sbin/
scp stop-dfs.sh root@bigdata05:/opt/softs/hadoop3.1.3/sbin/
scp start-yarn.sh root@bigdata04:/opt/softs/hadoop3.1.3/sbin/
scp start-yarn.sh root@bigdata05:/opt/softs/hadoop3.1.3/sbin/
scp stop-yarn.sh root@bigdata04:/opt/softs/hadoop3.1.3/sbin/
scp stop-yarn.sh root@bigdata05:/opt/softs/hadoop3.1.3/sbin/
传输完毕运行即可