Hadoop:群起脚本【xcall.sh】【一个命令启动/停止所有节点的Hadoop(NameNode,DataNode)、Yarn节点(ResourceManager, NodeManager)】

1)集群部署规划

        注意:

  • NameNode和SecondaryNameNode不要安装在同一台服务器
  • ResourceManager也很消耗内存,不要和NameNode、SecondaryNameNode配置在同一台机器上。

hadoop102

hadoop103

hadoop104

HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN

NodeManager

ResourceManager

NodeManager

NodeManager

①在/home/wyr/bin目录下创建xcall文件

[wyr@hadoop102 opt]$ cd /home/wyr
[wyr@hadoop102 ~]$ mkdir bin
[wyr@hadoop102 ~]$ cd bin
[wyr@hadoop102 bin]$ vim xcall

一、只负责Hadoop启动、关闭

hadoop.sh

#!/bin/bash

if [ $# -lt 1 ]
then
    echo "No Args Input...(启动Hadoop集群:xcall start;停止Hadoop集群:xcall stop;Hadoop集群状态:xcall status)"
    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 "mapred --daemon start historyserver"

;;
"stop")
        echo " ==========关闭 hadoop集群 ========="
        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 " --------------- 关闭 历史服务器 historyserver ---------------"
        ssh hadoop102 "mapred --daemon stop historyserver"

;;
"status")
        for host in hadoop102 hadoop103 hadoop104
        do
                echo =============== $host ===============
                ssh $host jps
        done
;;
*)
    echo "Input Args Error..."
;;
esac

二、整个Hadoop集群

(1)hadoop集群、(2)Zookeeper集群、(3)Kafka集群、(4)历史服务器 historyserver、(5)Kafka集群监控平台Eagle

xcall.sh

#!/bin/bash

if [ $# -lt 1 ]
then
    echo "No Args Input...(启动Hadoop集群:xcall start;停止Hadoop集群:xcall stop;Hadoop集群状态:xcall status)"
    exit ;
fi

case $1 in
"start")
		echo " ==================依次启动:(1)hadoop集群、(2)Zookeeper集群、(3)Kafka集群、(4)历史服务器 historyserver、(5)Kafka集群监控平台Eagle ==================="
		
		echo -e "\n(1)启动 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 -e "\n(2)启动 Zookeeper集群 ======="
		for i in hadoop102 hadoop103 hadoop104
			do
				echo ---------- zookeeper $i 启动 ------------
				ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
			done
		
		echo -e "\n(3)启动 Kafka集群 ======="
		for host in hadoop103 hadoop102 hadoop104
			do
				echo "---------- $1 $host 的kafka ----------"
				ssh $host "/opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties"
			done
			
		echo -e "\n(4)启动 历史服务器 historyserver ======="
		ssh hadoop102 "mapred --daemon start historyserver"
	   	
	   	echo -e "\n(5)启动 Kafka集群监控平台Eagle ======="
		for host in hadoop103 hadoop102 hadoop104
			do
				echo "---------- $1 $host 的Eagle ----------"
				ssh $host "/opt/module/efak/bin/ke.sh start"
			done


;;
"stop")
		echo " ==================依次启动:(1)Kafka集群监控平台Eagle、(2)历史服务器 historyserver、(3)Kafka集群、(4)Zookeeper集群、(5)hadoop集群==================="
		echo -e "\n(1)关闭 Kafka集群监控平台Eagle ======="
		for host in hadoop103 hadoop102 hadoop104
			do
				echo "---------- $1 $host 的Eagle ----------"
				ssh $host "/opt/module/efak/bin/ke.sh stop"
			done
		
		echo -e "\n(2)关闭 历史服务器 historyserver ======="
		ssh hadoop102 "mapred --daemon stop historyserver"
		
		echo -e "\n(3)关闭 Kafka集群 ======="
		for host in hadoop103 hadoop102 hadoop104
			do
				echo "---------- $1 $host 的kafka ----------"
				ssh $host "/opt/module/kafka/bin/kafka-server-stop.sh"
			done
		
		echo -e "\n等待30秒,让Kafka集群完全关闭后才可关闭Zookeeper"
		sleep 30
		
		echo -e "\n(4)关闭 Zookeeper集群 ======="
		for i in hadoop102 hadoop103 hadoop104
			do
				echo ---------- zookeeper $i 停止 ------------    
				ssh $i "/opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
			done
		
		echo -e "\n(5)关闭 hadoop集群 ======="
		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"
;;
"status")
	for host in hadoop102 hadoop103 hadoop104
	do
        	echo =============== $host ===============
        	ssh $host jps
	done
;;
*)
    echo "Input Args Error..."
;;
esac

修改脚本 xcall 具有执行权限

[wyr@hadoop102 bin]$ chmod +x xcall

将脚本复制到/usr/bin/中,以便全局调用

[wyr@hadoop102 bin]$ pwd
/home/wyr/bin
[wyr@hadoop102 bin]$ sudo cp /home/wyr/bin/xcall /usr/bin/

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值