大数据集群相关组件的群起脚本

脚本一:集群群发脚本

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for((host=101; host<104; host++)); do
        echo ------------------- hadoop$host --------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

脚本二:集群中的所有节点执行相同的指令

#! /bin/bash
params=$@
for((i=101;i<=103;i=$i+1));do
echo "==================hadoop$i $params==============="
ssh hadoop$i "source /etc/profile;$params"
done

脚本三:启动hdfs、yarn的脚本

#!/bin/bash
user=`whoami` 
echo "================    正在启动HDFS              ==============="
ssh $user@hadoop101 '/opt/module/hadoop-2.7.2/sbin/start-dfs.sh'
echo "================    正在启动YARN                ==============="
ssh $user@hadoop102 '/opt/module/hadoop-2.7.2/sbin/start-yarn.sh'
done

脚本四:启动zookeeper集群的脚本

#! /bin/bash
params=$@
for((i=101;i<=103;i=$i+1));do
echo "==================hadoop$i $params==============="
ssh hadoop$i "source /etc/profile;$params"
done
[fym000@hadoop101 bin]$ cat zk.sh 
#! /bin/bash
case $1 in
"start"){
    for i in fym000@hadoop101 fym000@hadoop102 fym000@hadoop103
    do
        ssh $i "source /etc/profile;/opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
    done
};;
"stop"){
    for i in fym000@hadoop101 fym000@hadoop102 fym000@hadoop103
    do
        ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
    done
};;
"status"){
    for i in fym000@hadoop101 fym000@hadoop102 fym000@hadoop103
    do
        ssh $i "source /etc/profile;/opt/module/zookeeper-3.4.10/bin/zkServer.sh status"
    done
};;

脚本五:启动kafka集群的脚本

#!/bin/bash
case $1 in
"start"){

    for i in fym000@hadoop101 fym000@hadoop102 fym000@hadoop103
    do
        echo "=================== $i ================"
        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 fym000@hadoop101 fym000@hadoop102 fym000@hadoop103
    do
        echo "=================== $i ================"
        ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh"
    done
};;
esac

 

你可能感兴趣的:(大数据集群相关组件的群起脚本)