java中的接口是类吗
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小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~