1.SSH
(1)基本语法
ssh 另一台电脑的ip地址 (在hadoop102 上ssh hadoop103,hostname,exit)
(2)ssh连接时出现Host key verification failed的解决方法
[atguigu@hadoop102 opt] $ ssh 192.168.1.103
The authenticity of host ‘192.168.1.103 (192.168.1.103)’ can’t be established.
RSA key fingerprint is cf:1e🇩🇪d7:d0:4c:2d:98:60:b4:fd:ae:b1:2d:ad:06.
Are you sure you want to continue connecting (yes/no)?
Host key verification failed.
(3)解决方案如下:直接输入yes
(2)免密 登录原理,如下图所示
(3)生成公钥和私钥:(cd进入根目录~,ls -al可以查看到 .ssh文件夹,若没有可以ssh hadoop103登录其他虚拟机后就会有了)
[atguigu@hadoop102 .ssh]$ ssh-keygen -t rsa(生产一对公钥与私钥)
然后敲(三个回车),就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
(4)将公钥拷贝到要免密登录的目标机器上(102自身也要发送)
[atguigu@hadoop102 .ssh]$ ssh-copy-id hadoop102 (ssh文件下有authorized_keys)
[atguigu@hadoop102 .ssh]$ ssh-copy-id hadoop103 (authorized_keys)
[atguigu@hadoop102 .ssh]$ ssh-copy-id hadoop104 (authorized_keys)
(4). .ssh文件夹下(~/.ssh)的文件功能解释
(1)known_hosts :记录ssh访问过计算机的公钥(public key)
(2)id_rsa :生成的私钥
(3)id_rsa.pub :生成的公钥
(4)authorized_keys :存放授权过得无密登录服务器公钥
2.rsync
把本机/opt/tmp目录同步到hadoop103服务器的root用户下的/opt/tmp目录
rsync -rvl /opt/tmp root@hadoop103:/opt/ 用于文件的更新,效率较高
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
3.xsync
循环复制文件到所有节点的相同目录下。
写脚本循环使用rsync同步文件到集群。
原始拷贝:
rsync -rvl /opt/module root@hadoop103:/opt/
在/home/atguigu/bin这个目录下存放的脚本,atguigu用户可以在系统任何地方直接执行。
或者 root用户,存放在这里: /usr/local/bin/
脚本内容如下:
#!/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
脚本执行: xsync tmp/