大数据学习之脚本编写(hadoop群起、进程显示、分发、zookeeper群起、kafka群起)心得

一、hadoop群起脚本

#!/bin/bash

case $1 in 

"start")
	echo "======== 启动 Hadoop集群 ========"

	echo "-------- 启动 hdfs --------"
	
	ssh hadoop1 "source /etc/profile && /opt/module/hadoop-3.1.3/sbin/start-dfs.sh"

	echo "-------- 启动 yarn --------"

	ssh hadoop2 "source /etc/profile && /opt/module/hadoop-3.1.3/sbin/start-yarn.sh"

	echo "-------- 启动 历史服务器 --------"

	ssh hadoop1 "source /etc/profile && /opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"	
;;
"stop")
	echo "======== 关闭 Hadoop集群 ========"

	echo "-------- 关闭 历史服务器 --------"

        ssh hadoop1 "source /etc/profile && /opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"

	echo "-------- 关闭 yarn --------"

        ssh hadoop2 "source /etc/profile && /opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"

	echo "-------- 关闭 hdfs --------"

        ssh hadoop1 "source /etc/profile && /opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"
;;
esac

二、显示集群中启动的进程脚本

#!/bin/bash

for host in hadoop1 hadoop2 hadoop3

do
	echo "======== $host ========"
	ssh $host '/opt/module/jdk1.8.0_212/bin/jps'
done

三、集群中分发脚本

#!/bin/bash

#1.判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit;
fi

#2.便利集群所有机器
for host in hadoop1 hadoop2 hadoop3
do
    echo =============== $host ================

    #3.便利所有目录,挨个发送
    for file in $@
    do

        #4.判断文件是否存在
        if [ -e $file ]
            then

                #5.获取父目录
                pdir=$(cd -P $(dirname $file);pwd)

                #6.获取当前文件的名称
                fname=$(basename $file)
                ssh $host "mkdir -p $pdir"
                rsync -av $pdir/$fname $host:$pdir
            else
                echo $file does not exists!
        fi
    done
done

四、zookeeper群起脚本

#!/bin/bash

case $1 in
"start"){
	for i in hadoop1 hadoop2 hadoop3
	do
		 echo ----------- zookeeper $i 启动 --------------
                ssh $i "source /etc/profile &&  /opt/module/zookeeper-3.5.7/bin/zkServer.sh start"
        done
}
;;
"stop"){
	for i in hadoop1 hadoop2 hadoop3
        do
                echo ----------- zookeeper $i 停止 --------------
                ssh $i "source /etc/profile && /opt/module/zookeeper-3.5.7/bin/zkServer.sh stop"
        done
}
;;
"status"){
	for i in hadoop1 hadoop2 hadoop3
        do
                echo ----------- zookeeper $i 状态 --------------
                ssh $i "source /etc/profile && /opt/module/zookeeper-3.5.7/bin/zkServer.sh status"
        done
}
;;
esac

五、kafka群起脚本

#!/bin/bash

case $1 in
"start")
	for i in hadoop1 hadoop2 hadoop3
	do
		echo "-------- 启动 $i kafka --------"
		ssh $i "source /etc/profile && /opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties "
	done
;;
"stop")
	for i in hadoop1 hadoop2 hadoop3
	do
		echo "-------- 停止 $i kafka --------"
		ssh $i "source /etc/profile && /opt/module/kafka/bin/kafka-server-stop.sh "
	done
;;
esac
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

顺其自然的济帅哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值