centos 7.9 安装rsync 及xsync脚本 及SSH免密码登陆

网友投稿 456 2022-11-01


centos 7.9 安装rsync 及xsync脚本 及SSH免密码登陆

基础设置

主机名和hosts文件

设置主机名(三台都要求设置好)

① 分别登录 (三台都要做 主机名按自己的更改)

10.10.201.84 设置计算机名 hadoop1

10.10.201.85 设置计算机名 hadoop2

10.10.201.86 设置计算机名 hadoop3

1.设置主机名vim /etc/hostname添加如下:hadoop1保存退出

②设置hosts文件(三台都要做 内容一样)

2.设置hosts文件解析vi /etc/hosts如下127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain localhost6 localhost6.localdomain610.10.201.84 hadoop110.10.201.85 hadoop210.10.201.86 hadoop3

一、安装设置 rsync

一、安装

1.安装yum -y install rsync2.启动服务systemctl start rsyncd.service3.加入开机启动systemctl enable rsyncd.service4.查看服务状态systemctl status rsyncd.service5.从启动服务systemctl restart rsyncd.service

二、创建Xsync文件

1.#在/usr/local/bin下新建xsync文件cd /usr/local/bintouch xsync2.#给文件赋读写权限chmod 777 xsync3.#编辑xsync文件vim xsync复制如下 注意:xsync脚本代码,如果服务器之间无法用主机名ping通,脚本是跑不起来的。注意#2写自己的主机名#!/bin/bash#1 获取输入参数个数,如果没有参数,直接退出pcount=$#if [ $pcount -lt 1 ]then echo Not Enough Arguement! exit;fi#2. 遍历集群所有机器,hadoop为主机名 此处写自己的主机名for host in hadoop1 hadoop2 hadoop3do 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 "mkdir -p $pdir" #8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下 rsync -av $pdir/$fname $USER@$host:$pdir else echo $file does not exists! fi donedone

测试修改文件 并传输至其他服务器

登陆hadoop1服务器

1.模拟建立一个文件 touch 123.txtvim 123.txt

使用xsync命令同步此文件

xsync 123.txt

因为没有做免密,所以需要输入密码

想不输入密码 直接做以下SSH免密登陆

二、SSH免密码登陆

① 在 ~./ssh 目录下生成一对密钥(3个节点都要生成)

cd ~/.sshssh-keygen -t rsa# 输入该命令后会有提示,一直回车即可# 如果提示 【-bash: cd: .ssh: 没有那个文件或目录】 直接 ssh-keygen -t rsa 生成密钥就行

② hadoop1 (10.10.201.84)节点中将公匙保存到 authorized_keys 文件中

cat id_rsa.pub >> authorized_keys

③ 登录 hadoop2 和 hadoop3 节点,将其公钥文件内容拷贝到 hadoop1 节点的 authorized_keys 文件中

# hadoop2 节点的公钥拷贝[root@hadoop2 .ssh]# ssh-copy-id -i hadoop1 # hadoop3 节点的公钥拷贝[root@hadoop3 .ssh]# ssh-copy-id -i hadoop1

④ 在 hadoop1 节点中修改权限(~/.ssh 目录 和 authorized_keys 文件)

[root@hadoop1 .ssh]# chmod 700 ~/.ssh[root@hadoop1 .ssh]# chmod 644 ~/.ssh/authorized_keys

⑤ 在hadoop1节点上 将授权文件分发到其他节点上 (hadoop2 和 hadoop3 节点)

# 拷贝到 hadoop2 节点上[root@hadoop1 .ssh]# scp /root/.ssh/authorized_keys hadoop2:/root/.ssh/# 拷贝到 hadoop2 节点上[root@hadoop1 .ssh]# scp /root/.ssh/authorized_keys hadoop3:/root/.ssh/

至此,免密码登录已经设定完成,注意第一次ssh登录时需要输入密码,再次访问时即可免密码登录

[root@hadoop1 .ssh]# ssh hadoop2[root@hadoop1 .ssh]# ssh hadoop3

测试同步文件(将不再需要舒服密码)

登陆hadoop1

xsync 123.txt


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:如何使用Reactor完成类似Flink的操作
下一篇:私有化YUM服务器建设
相关文章

 发表评论

暂时没有评论,来抢沙发吧~