三、集群分发脚本

三、集群分发脚本,第1张

三、集群分发脚本

1)进入当前用户的家目录

注意:在家目录下编写脚本文件不用配置环境变量,使用echo $PATH可查看环境变量。

2)创建bin目录
mkdir bin
3)进入bin目录
cd bin/
4)创建脚本文件
vim xsync.sh

#!/bin/bash
#1.判断参数个数
if [ $# -lt 1 ]
then
    echo Not Enough Arguement!
    exit
fi
#2.遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
    echo ============ $host ===========
    #3.遍历所有目录,挨个发送 
    for file in $@
    do
        #4.判断文件是否存在
        if [ -e $file ]
        then
            #5.获取父目录
            pdir=$(cd -P $(dirname $file); pwd)
            #6.获取当前文件的名称
            fname=$(basename $file)
            ssh $host "mkdir -p $pdir"
            rsync -av $pdir/$fname $host:$pdir
        else
            echo $file does not exists!
        fi
    done
done

5)为xsync.sh添加执行权限
chmod u+x xsync.sh
6)配置SSH免密登录
(1)分别在hadoop102、hadoop103、hadoop104生成公钥和私钥
ssh-keygen -t rsa
(2)然后敲(三个回车),就会在.ssh目录下生成两个文件id_rsa(私钥)、id_rsa.pub(公钥);生成的.ssh文件夹在当前用户的家目录下面。

(3)分别在hadoop102、hadoop103、hadoop104执行,将公钥拷贝到免密登录的目标机器上
ssh-copy-id hadoop102
ssh-copy-id hadoop103
ssh-copy-id hadoop104

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5665220.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-16
下一篇2022-12-16

发表评论

登录后才能评论

评论列表(0条)

    保存