上一篇说了集群中怎样统一执行集群命令
这里主要讲一下在集群中,如何去分发相关的配置文件,配置文件、hosts、bashrc等配置项
在集群中只需配置单一节点即可(一般在namenode上做配置就可以了)。配置完成后,采用统
一分发的模式,让各个节点完成统一。
配置文件deplog.conf与统一执行命令中复用即可,可以根据需要在文件中继续添加tag。
下面主要还是看代码
if [ $# -lt 3 ]
then
echo 'Usage: ./deply.sh srcFile(or Dir) descFile(or Dir) MachineTag'
echo 'Usage: ./deply.sh srcFile(or Dir) descFile(or Dir) MachineTag confFile'
exit
fi
首先判断参数的传递情况,这里需要传递三个参数,分别是文件的来源路径,文件的目标路 径和服务器tag
if [ -f $confFile ]
then
if [ -f $src ]
then
for server in `cat $confFile|grep -v '^#'|grep ','$tag','|awk -F',' '{print $2}'`
do
scp $src $server":"${dest}
done
elif [ -d $src ]
then
for server in `cat $confFile|grep -v '^#'|grep ','$tag','|awk -F',' '{print $2}'`
do
scp -r $src $server":"${dest}
done
else
echo "Error: No source file exist"
fi
else
echo "Error: Please assign config file or run deploy.sh command with deploy.conf in same directory"
fi
先判断文件或者路径是否存在,如果存在进行后续操作,通过scp将对应文件传输到对应tag服务器的
对应路径上面。