欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

hadoop_批量命令脚本&同步文件脚本

程序员文章站 2023-08-13 08:20:01
1、xcall.sh 批量命令脚本,例:xcall.sh jps ,查看hadoop101~ hadoop104的jps进程 2、xsync.sh 集群同步文件,分发文件脚本,例:xsync.sh /usr/loacl/test.sh,在hadoop101~hadoop104上的/usr/local ......

1、xcall.sh  批量命令脚本,例:xcall.sh jps ,查看hadoop101~ hadoop104的jps进程

#!/bin/bash
#命令参数
params=$@
for((i=101;i<105;i=$i+1))do
    echo ====== hadoop$i  $params ======
    ssh hadoop$i $params
done

2、xsync.sh  集群同步文件,分发文件脚本,例:xsync.sh /usr/loacl/test.sh,在hadoop101~hadoop104上的/usr/local/下同步分发test.sh

#!/bin/bash
path=$1
#判断是否有参数,若无参数
if [ $# -lt 1 ]
then
  #提示无路径,没有参数
  echo "no path"
  #退出
  exit
fi
#得到当前文件名
filename=`basename $path`
#echo $filename
#得到文件路径,为防止用的相对路径,所以先cd 当前文件路径,然后pwd -p 获得绝对路径
dir=`dirname $path`
cd $dir
fullpath=`pwd -p`
#echo $fullpath
#得到当前用户
username=`whoami`
#i可以当作主机名的后缀
for ((i=101;i<105;i=$i+1))
do
  #进行分发命令,后面的主机名根据自己改
  rsync -rvl $fullpath/$filename $username@hadoop$i:$fullpath
  echo "--hadoop$i........success" 
done
echo "--success"