资源文件集群分发
scp
-
scp(secure copy)安全拷贝
(1)scp定义:
scp可以实现服务器与服务器之间的数据拷贝。(from server1 to server2)
(2)基本语法
scp -r /pdir/fname root@hadoop02:/pdir/fname命令 递归 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
(3)案例实操
(a)在hadoop01上,将hadoop01中/opt/module目录下的软件拷贝到hadoop02上。
[leaves@hadoop01 /]$ scp -r /opt/module leaves@hadoop02:/opt/module
rsync
-
rsync 远程同步工具
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。
(1)基本语法
rsync -rvl /pdir/fname root@hadoop02:/pdir/fname
命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
选项参数说明选项 功能 -r 递归 -v 显示复制过程 -l 拷贝符号连接
(2)案例实操
(a)把hadoop01机器上的/opt/software目录同步到hadoop02服务器的root用户下的/opt/目录
[leaves@hadoop01 opt]$ rsync -rvl /opt/software/ root@hadoop02:/opt/software
集群文件分发脚本
#!/bin/bash
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=2; host<4; host++)); do
echo ------------------- hadoop$host --------------
rsync -rvl $pdir/$fname $user@hadoop0host:host:host:pdir
done