编写集群分发脚本
scp(secure copy)安全拷贝
scp可以实现服务器与服务器之间的数据拷贝。
scp -r $pdir/$fname $user@$host:$pdir/$fname
递归拷贝文件到目标用户文件夹下
rsync远程同步工具
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync -av 要拷贝的文件 目的用户@主机地址:目的路径
选项:
-a:归档拷贝
-v:显示复制过程
xsync脚本编写
#!/bin/bash
#1.判断参数个数
if [$# -lt 1]
then
echo Not Enough Arguement!
exit;
fi
#2.遍历集群所有机器
for host in hadoop101 hadoop102
do
echo =============$host============
#3.遍历所有目录,挨个发送
for file in $@
do
#4.判断文件是否存在
if[ -e $file]
then
#5.获取父目录
pdir=$(cd -p $(dirname $file); pwd) #-p:如果该链接是软链接则会进入他原路径
#6.获取当前文件的名称
fname=$(basename $file)
ssh $host "mkdir -p $pdir" #-p:如果该文件存在不会报错
rsync -av $pdir/$fname $host:$pdir
else
echo $file does not exists!
fi
done
done
SSH免密登入配置
查看主目录中的隐藏文件.ssh
ll -al #查看所有文件包括隐藏文件
cd .ssh
ssh-keygen -t rsa #创建密钥
密钥创建成功后会有两个文件夹生成在目录中:id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到其他服务器中(自己服务器要免密时也要配置)
ssh-copy-id hadoop100
ssh-copy-id hadoop101
ssh-copy-id hadoop102
该配置只对当前用户有效果,如果切换了用户还需要重新配置