Hadoop集群脚本分发

1.  scp的安装: yum -y install openssh-clients ,所有主机都要安装。

 命令格式:scp [参数] 本地文件 远程帐户@远程 IP 地址:远程目录,参数如下

 

-v 显示详细的连接进度
-P 指定远程主机的 sshd 端口号
-r 用于传送文件夹
-6 使用 IPv6 协议

 

 

 

 添加主机名与 IP 映射

 编辑文件 vim /etc/host ,添加主机名与 ip 的映射,即可直接使用 主机名传输文件

2.  rsync 的使用:centos7默认已安装,格式同 scp ,参数说明参考上文,相当于 scp 升级版。

3.  ansible:自动运维工具,本文暂不作介绍。 

4. 集群分发脚本编写:

利用 rsync 编写一个脚本,自动将文件分发到所有主机的同一文件夹。

  •  编写文件:在 /usr/local/bin 下新建一个文件,命名为 xsync,文件内容如下。

cd /usr/local/bin

 

vim xsync

 

注意根据实际情况修改第 5 部分的 host 值和主机名。 

 

#!/bin/bash

 

 

if [[ -x $(command -v rsync) ]]; then

 

 

echo yes > /dev/null

 

 

else

 

 

echo no rsync found!

 

 

exit 1

 

 

fi

 

 

#1. 获取输入参数个数;如果没有参数,直接退出

 

 

pcount=$#

 

 

if (( pcount==0 )); then

 

 

echo no args!

 

 

exit

 

 

fi

 

 

#2. 获取文件名称

 

 

p1=$1

 

 

fname=$(basename $p1)

 

 

echo fname=$name

 

 

#3. 获取文件绝对路径

 

 

pdir=$(cd -P $(dirname $p1); pwd)

 

 

echo pdir=$pdir

 

 

#4. 获取当前用户名

 

 

usr=$(whoami)

 

 

#5. 循环体

 

 

for (( host = 2; host < 4; host++ )); do

 

 

echo ---node${host}---

 

 

rsync -rvl $pdir/$fname ${usr}@node${host}:${pdir}

 

 

#statements

done

 

  •   添加权限:编写完以后保存,给文件添加可执行权限。
chmod a+x xsync
  •   使用方法:进入要分发的文件所在的文件夹,输入 xsync filename 即可。

      示例:将 node1 上的 demo3 文件分发给 node2 和 node3

      

      完成分发后即可在其它主机同一文件夹下看到文件

      

      

 

文章转载自:https://blog.csdn.net/sinat_40471574/article/details/105148572

posted @ 2020-08-06 20:14  cjyyoyo  阅读(254)  评论(0)    收藏  举报