jps-cluster.sh
可以在主服务器上查看整个集群的所有java服务的启动情况
#!/bin/bash
USAGE="使⽤⽅法:sh jps-cluster.sh"
NODES=("bigdata01" "bigdata02" "bigdata03")
for NODE in ${NODES[*]};do
echo "--------$NODE--------"
ssh $NODE "/opt/installs/jdk/bin/jps"
done
echo "------------------------------------------"
echo "--------jps-cluster.sh脚本执⾏完成!--------"
赋权限
chmod 777 jps-cluster.sh
xsync.sh
集群文件分发脚本
-- 首先需要 rsync命令
-- 所有的服务器上都需要
yum install -y rsync
脚本内容:
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if [ $pcount -lt 1 ]
then
echo No Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in bigdata02 bigdata03
do
echo ==================== $host ====================
#3. 递归遍历所有目录
for file in $@
do
#4 判断文件是否存在
if [ -e $file ]
then
#5. 获取全路径
pdir=$(cd -P $(dirname $file); pwd)
echo pdir=$pdir
#6. 获取当前文件的名称
fname=$(basename $file)
echo fname=$fname
#7. 通过ssh执行命令:在$host主机上递归创建文件夹(如果存在该文件夹)
ssh $host "source /etc/profile;mkdir -p $pdir"
#8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下
rsync -av $pdir/$fname $USER@$host:$pdir
else
echo $file Does Not Exists!
fi
done
done
xcall.sh
命令同步执行脚本,可以在集群的所有服务器上执行相同的命令
#!/bin/bash
params=$@
i=1
for (( i=1 ; i <= 3 ; i = $i + 1 )) ; do
echo ============= bigdata0$i $params =============
ssh bigdata0$i "$params"
done
-- 实验
xcall.sh hostname
xcall.sh ifconfig
xcall.sh yum install -y rsync
xcall.sh source /etc/profile