HADOOP飞行笔记20220415 服务器文件分发脚本

HADOOP完全分布式搭建:

一、准备三台客户机(关闭防火墙、静态IP、主机名称)

1、克隆其他两台虚拟机(前期工作必须准备完成、包括jdk和hadoop的安装工作,详情可以参考20220407)

2、复制jdk和hadoop到其他两个服务器

scp -r jdk1.8.0.212/ 用户名@h服务器地址:/opt/module/

并写一个xsync的同步脚本如下,方便未来为三台服务器同步文件,内容如下:

#! /bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if [ $pcount -lt 1 ]
then
    echo No Enough Arguement!
    exit;
fi

#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104

#hadoop102 hadoop103 hadoop104为服务器IP映射的主机名
do
    echo ====================    $host    ====================
    #3. 递归遍历所有目录
    for file in $@
    do
        #4 判断文件是否存在
        if [ -e $file ]
        then
            #5. 获取全路径
            pdir=$(cd -P $(dirname $file); pwd)
            echo pdir=$pdir

            #6. 获取当前文件的名称
            fname=$(basename $file)
            echo fname=$fname

            #7. 通过ssh执行命令:在$host主机上递归创建文件夹(如果存在该文件夹)
            ssh $host "source /etc/profile;mkdir -p $pdir"

            #8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下
            rsync -av $pdir/$fname $USER@$host:$pdir
        else
            echo $file Does Not Exists!

        fi
    done

建立好的脚本通过添加参数路径(相对路径或绝对路径)文件即可同步到本机外的其他服务器

操作演示如下:

xsync bin/a.txt b.txt(bin路径下的a.txt和本地路径的b.txt服务器文件同步到脚本指定的主机中)

笔记来源:尚硅谷大海哥的分享

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值