Lesson7 Hadoop 完全分布式 集群分发脚本编写 xsync - 集群分发工具 scp、rsync 介绍及安装使用

一、 集群分发介绍: 

将一台主机上的配置、文件分发到其它主机上,避免重复操作。

二、  集群分发工具: 

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:自动运维工具,本文暂不作介绍。 

三、 集群分发脚本编写:

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

1.  编写文件:在 /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

 2.  添加权限:编写完以后保存,给文件添加可执行权限。

chmod a+x xsync

 3.  使用方法:进入要分发的文件所在的文件夹,输入 xsync filename 即可。

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

      

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

      

      

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值