xsync脚本和jpsall脚本

注意!!!!
1.两个脚本都是在root用户下编写,然后还要有执行权限chmod 777 xsync/jpsall
2.这两个脚本都必须在PATH环境变量之下
xsync脚本和jpsall脚本_第1张图片xsync脚本:用于集群文件分发的脚本
前提是:需要安装rsync—>用于文件分发的软件包

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

#2 获取文件名称
p1=$1       #$1获取第一个输入的数据
fname=`basename $p1`  #basename:获取输入的数据文件自身的名称 如p1为/home/hadoop/hadoop2.7/hadoop-2.7.2/liubei.txt,fname为liubei.txt
echo fname=$fname 

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd` #dirname:获取文件的目录名:如/home/hadoop/hadoop2.7/hadoop-2.7.2/liubei.txt,pdir为/home/hadoop/hadoop2.7/hadoop-2.7.2
echo pdir=$pdir

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

#5 循环 
#这里我使用的主机名写的循环
for host in {master,slave01,slave02}; do
        echo ---------------------- $host ----------------
        rsync -rvl $pdir/$fname $user@$host:$pdir
done

jpsall:用于快速查看集群中每个主节点和从节点的任务启动情况

for host in master slave01 slave02 
do
 	echo "==========  $host  ========="
		ssh $host "jps" | grep -v Jps
done

你可能感兴趣的:(Hadoop,hadoop,shell)