在hadoop集群内,为方便修改每个设备的文件,编写如下脚本。
作用:将在一个设备下,实现循环复制文件到所有节点的相同目录下。
脚本源码:
#!/bin/bash
pccount=$#;
if ((pccount<1)); then
echo no args;
exit;
fi
p1=$1;
fname=`basename $p1`
#获得上级目录的绝对路径
pdir=`cd -P $(dirname $p1);pwd`
echo $pdir
cuser=`whoami`
#循环
for((host=2;host<7;host=host+1));do
echo $pdir/$fname $cuser@dsj$host.zkhy.com:$pdir
rsync -rvl $pdir/$fname $cuser@dsj$host.zkhy.com:$pdir
done
脚本位置:/usr/local/bin,将脚本命名为xsync。
使用举例:在1设备/home/hive目录下存有test.txt文件,在此目录下执行xsync tets.txt命令,
则结果显示2-6设备的/home/hive目录下都拥有了test.txt文件。