linux 开发的 脚本 xsync.sh 传送其他两台
#!/bin/sh
# 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args...;
exit;
fi
# 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
# 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
# 获取当前用户名称
user=`whoami`
# 循环
for((host=2; host<=3; host++)); do
echo $pdir/$fname $user@slave$host:$pdir
echo ==================slave$host==================
rsync -rvl $pdir/$fname $user@hdp$host:$pdir
done
#Note:这里的slave对应自己主机名,需要做相应修改。另外,for循环中的host的边界值
查看三台进程
xcall.sh
#! /bin/bash
for i in hdp1 hdp2 hdp3
do echo --------- $i ----------
ssh $i "source /etc/profile;$*"
done
启动三台zookeeper
myzookeeper.sh
/opt/zookeeper-3.4.10/bin/zkServer.sh $1
ssh hdp2 "source /etc/profile;/opt/zookeeper-3.4.10/bin/zkServer.sh $1"
ssh hdp3 "source /etc/profile;/opt/zookeeper-3.4.10/bin/zkServer.sh $1"
启动三台kafka
mykafka.sh
#!bin/bash
if [ "$1" = "start" ]
then
echo "启动--------"
/opt/kafka_2.11-2.4.1/bin/kafka-server-start.sh -daemon /opt/kafka_2.11-2.4.1/config/server.properties
ssh hdp2 "source /etc/profile;/opt/kafka_2.11-2.4.1/bin/kafka-server-start.sh -daemon /opt/kafka_2.11-2.4.1/config/server.properties"
ssh hdp3 "source /etc/profile;/opt/kafka_2.11-2.4.1/bin/kafka-server-start.sh -daemon /opt/kafka_2.11-2.4.1/config/server.properties"
elif [ "$1" = "stop" ]
then
echo "停止--------"
/opt/kafka_2.11-2.4.1/bin/kafka-server-stop.sh
ssh hdp2 "source /etc/profile;/opt/kafka_2.11-2.4.1/bin/kafka-server-stop.sh"
ssh hdp3 "source /etc/profile;/opt/kafka_2.11-2.4.1/bin/kafka-server-stop.sh"
else
echo "参数不合法"
fi