hadoop完全分布式之集群分发脚本

例如:循环复制文件到所有节点的相同目录下:

首先在centos01中的xiximayou用户下的/home目录下新建一个bin文件夹,在bin文件夹中新建xsync.sh文件,在里面输入:

!/bin/bash
#获取输入参数个数,如果没有参数,就直接输出
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=02;host<03;host++));do
        echo --------------hadoop0$host-------------
        rsync -rvl $pdir/$fname $user@hadoop0$host:$pdir
done

然后在退出bin目录,输入xsync.sh bin/

由于我目前只有另一个虚拟机centos02,所以只会分发给它。

之后我们进入到centos02虚拟机中查看:

文件成功传过来了。

借此脚本,就可以实现一次性给不同虚拟机发送文件了。 

原文地址:https://www.cnblogs.com/xiximayou/p/12426679.html