说明:这次集群配置都是在root用户下进行
1、配置SSH
进入家目录的.ssh目录 cd .ssh/
生成秘钥文件(公钥和私钥)ssh-keygen -t rsa
把公钥传给其他客户机
ssh-copy-id hostname(hostname是主机名),.ssh/目录下生成authorized_keys文件
2、scp 安全拷贝
基础命令格式 scp -r localfile username@hostname:folder
-r 递归,localfile本地文件 或文件夹,username 目标用户,hostname目标主机名,folder目标文件夹
3、rsync 远程同步工具,命令格式与scp类似
区别:rsync主要用于备份和镜像,具有速度快、避免复制相同内容和支持符号链接的有点。
rsync 和 scp 的区别:用 rsync 做文件的复制要不scp速度快,rsync 只对差异文件做更新,scp 是把所有文件都复制过去。
4、一个简单的集群文件分发脚本
#!/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`
#三台客户机名称是 hadoop03/hadoop04/hadoop05
for((host=03; host<=05; host++)); do
rsync -rvl $pdir/$fname $user@hadoop0$host:$pdir
done