1.scp可以实现服务器与服务器之间的数据拷贝
a.语法
scp -r $pdir/$fname user@hadoop$host:$pdir/$fname
递归 文件 目的主机:目
e: scp -r liyong/ root@hadoop101:/opt/moudle/
e: scp -r root@hadoop101:/opt/moudle/liyong/ root@hadoop102:/opt/moudle/
// 在100上将101的文件拷贝到102上
注意:拷贝过来的/opt/module目录,别忘了在hadoop102、hadoop103、hadoop104上修改所有文件的,所有者和所有者组。sudo chown atguigu:atguigu -R /opt/module。配置文件记得source一下。
2.rsync 远程同步工具
a.与scp对比
用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
b.语法
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir/$fname
注解:
-r 递归
-v 显示复制过程
-l 拷贝符号链接
3.xsync群发脚本
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi
#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname
#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir
#4 获取当前用户名称
user=`whoami`
#5 循环
for((host=103; host<105; host++)); do
echo ------------------- hadoop$host --------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
注意:记得给执行权限 chmod 777 xsync
2.SSH
生成密匙文件
ssh-keygen -t rsa
拷贝密钥
ssh-copy-id hadoop101
ssh-copy-id hadoop102
ssh概念解释
known_hosts 记录ssh访问过计算机的公钥(public key)
id_rsa 生成的私钥
id_rsa.pub 生成的公钥
authorized_keys 存放授权过得无密登录服务器公钥