hadoop集群内文件传输脚本

在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文件。

 

hadoop集群内文件传输脚本_第1张图片

你可能感兴趣的:(hadoop集群内文件传输脚本)