#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in bigdata001.com bigdata002.com bigdata003.com
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
1.1 赋值权限:
[root@bigdata001 bin]# chmod 777 xsync1.2 使用
[root@bigdata001 module]# xsync bigdatarealtime/ ==================== bigdata001.com ==================== sending incremental file list sent 259 bytes received 18 bytes 554.00 bytes/sec total size is 112,524,502 speedup is 406,225.64 ==================== bigdata002.com ==================== sending incremental file list bigdatarealtime/ bigdatarealtime/rt_applog/ bigdatarealtime/rt_applog/Flink-wudl-mock-logger-1.0-SNAPSHOT-jar-with-dependencies.jar bigdatarealtime/rt_applog/application.yml bigdatarealtime/rt_applog/gmall2020-mock-log-2020-12-18.jar sent 112,552,360 bytes received 85 bytes 75,034,963.33 bytes/sec total size is 112,524,502 speedup is 1.00 ==================== bigdata003.com ==================== The authenticity of host 'bigdata003.com (192.168.1.128)' can't be established. ECDSA key fingerprint is SHA256:nuBNEaeMRCpZ+wpRfnielQ8IHtxjR5N6d/9YVvh6PHA. ECDSA key fingerprint is MD5:cb:f7:35:82:a3:30:57:53:07:ff:54:44:c8:d2:c6:59. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'bigdata003.com' (ECDSA) to the list of known hosts. sending incremental file list bigdatarealtime/ bigdatarealtime/rt_applog/ bigdatarealtime/rt_applog/Flink-wudl-mock-logger-1.0-SNAPSHOT-jar-with-dependencies.jar bigdatarealtime/rt_applog/application.yml bigdatarealtime/rt_applog/gmall2020-mock-log-2020-12-18.jar sent 112,552,360 bytes received 85 bytes 75,034,963.33 bytes/sec total size is 112,524,502 speedup is 1.00
2. 集群启动java jar 包脚本
#!/bin/bash
JAVA_BIN=/opt/module/jdk1.8.0_144
APPNAME=Flink-wudl-mock-logger-1.0-SNAPSHOT-jar-with-dependencies.jar
case $1 in
"start")
{
for i in bigdata001.com bigdata002.com bigdata003.com
do
echo "========: $i==============="
ssh $i "$JAVA_BIN -Xms32m -Xmx64m -jar /opt/module/bigdatarealtime/rt_applog/$APPNAME >/dev/null 2>&1 &"
done
};;
"stop")
{
for i in bigdata001.com bigdata002.com bigdata003.com
do
echo "========: $i==============="
ssh $i "ps -ef|grep $APPNAME | grep -v grep|awk '{print $2}'| xargs kill" >/dev/null 2>&1
done
};;
esac
2.1 赋值权限
chmod 777 logger.sh2.2 使用
./logger.sh start / stop
[root@bigdata001 bin]# ./logger.sh start ========: bigdata001.com=============== ========: bigdata002.com=============== ========: bigdata003.com=============== [root@bigdata001 bin]#
3. zookeeper 集群启动脚本
#! /bin/bash
case $1 in
"start"){
for i in bigdata001.com bigdata002.com bigdata003.com
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
done
};;
"stop"){
for i in bigdata001.com bigdata002.com bigdata003.com
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
done
};;
"status"){
for i in bigdata001.com bigdata002.com bigdata003.com
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh status"
done
};;
esac
3.1 赋值权限
chmod 777 zk.sh3.2 使用
./zk.sh start /stop
[root@bigdata001 bin]# ./zk.sh start ZooKeeper JMX enabled by default Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg Starting zookeeper ... STARTED ZooKeeper JMX enabled by default Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg Starting zookeeper ... STARTED ZooKeeper JMX enabled by default Using config: /opt/module/zookeeper-3.4.10/bin/../conf/zoo.cfg Starting zookeeper ... STARTED [root@bigdata001 bin]#
=========================================================================================================
4. kafka 集群启动#! /bin/bash
case $1 in
"start"){
for i in bigdata001.com bigdata002.com bigdata003.com
do
echo " --------启动 $i Kafka-------"
# 用于KafkaManager监控
ssh $i "export JMX_PORT=9988 && /opt/module/kafka_2.11-0.11.0.2/bin/kafka-server-start.sh -daemon /opt/module/kafka_2.11-0.11.0.2/config/server.properties "
done
};;
"stop"){
for i in bigdata001.com bigdata002.com bigdata003.com
do
echo " --------停止 $i Kafka-------"
ssh $i "/opt/module/kafka_2.11-0.11.0.2/bin/kafka-server-stop.sh stop"
done
};;
esac
4.1 赋值权限
chmod 777 kf.sh4.2 使用
./kf.sh start/stop
[root@bigdata001 bin]# ./kf.sh start --------启动 bigdata001.com Kafka------- --------启动 bigdata002.com Kafka------- --------启动 bigdata003.com Kafka------- [root@bigdata001 bin]#
========================================================================================================
5.


