在搭建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!

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐