在搭建Hadoop集群环境的时候,用到了同步即xsync 命令,写完脚本后又发现,执行过程中有问题,特此总结。
问题情景1——未找到命令
此类问题多半是因为 xsync 可执行文件 没有被配置环境路径
解决方法:
输入代码:
$PATH
查看自己终端上的环境,主要有两种解决办法
1.将xsync文件复制到查到的全局环境显示出的目录中,比如下图中紫红色突出的目录(具体电脑具体分析)
2.将xsync所在目录配置到全局变量中。
3.(有时候还有可能是脚本代码有误,可以试试下面的代码~)
!!!要注意 2. 遍历集群所有机器 下host要根据自己虚拟机的名称而改变
#!/bin/bash
#1. 判断参数个数
if[ $# -lt 1]
then
echo Not Enough Arguement!
exit;
fi
#2. 遍历集群所有机器
for host in nameNode dataNode01 dataNode02
do
echo ==================== $host ====================
#3. 遍历所有目录,挨个发送
for file in $@
do
#4. 判断文件是否存在
if[-e $file ]
then
#5. 获取父目录
pdir=$(cd -P $(dirname $file); pwd)
#6. 获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir"
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
4.还有可能是主机上没有安装 rsync
安装一下试试(命令语句如下)
yum install -y rsync
问题情景2——bash: rsync: 未找到命令
如果是以下错误情况,则是因为另外的主机没有安装 rsync
安装一下试试(命令语句如上)
THAT’S ALL!
版权归原作者 瑞雪美景 所有, 如有侵权,请联系我们删除。