赞
踩
在配置两个脚本之前,需要配置好ssh免密登陆
在用户家目录的bin
下,创建脚本myhadoop.sh
[wzq@hadoop102 ~]$ cd /home/wzq/bin/
[wzq@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.1.3/sbin/start-dfs.sh" echo " --------------- 启动 yarn ---------------" ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh" echo " --------------- 启动 historyserver ---------------" ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver" ;; "stop") echo " =================== 关闭 hadoop 集群 ===================" echo " --------------- 关闭 historyserver ---------------" ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver" echo " --------------- 关闭 yarn ---------------" ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh" echo " --------------- 关闭 hdfs ---------------" ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh" ;; *) echo "Input Args Error..." ;; esac
然后给该文件满权限:
chmod 777 myhadoop.sh
关闭集群:
myhadoop.sh stop
启动集群:
myhadoop.sh start
然后使用jps
命令查看是否启动成功:
这只是在hadoop102
上查看了是否成功,同时也需要去hadoop103和104
上使用jps
命令查看,如果我们有非常多的服务器,逐个查看实在太麻烦了,所以编写一下,查看所有服务进程的脚本
在用户家目录的bin
下,创建脚本myhadoop.sh
[wzq@hadoop102 ~]$ cd /home/wzq/bin/
[wzq@hadoop102 bin]$ vim jpsall
将以下代码插入到该文件中:
#!/bin/bash
for host in hadoop102 hadoop103 hadoop104
do
echo =============== $host ===============
ssh $host jps
done
然后给该文件满权限:
chmod 777 myhadoop.sh
直接在控制台输入:jpsall
这样就直接查看到了所有主机的进程!
现在只在hadoop102
上写了脚本,也就是说只能在hadoop102
上面运行该脚本,现在做一下分发,让其余两台也都可以连接:
[wzq@hadoop102 ~]$ xsync /home/wzq/bin/
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。