xsync.sh 配置 安装 并实现文件在各节点上的分发

Posted 潇凝子潇

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了xsync.sh 配置 安装 并实现文件在各节点上的分发相关的知识,希望对你有一定的参考价值。

xsync.sh 配置 安装 并实现文件在各节点上的分发

一 设置hosts相关信息

1. 设置 hosts

root@node130:~# vim /etc/hosts
10.172.200.130  node130
10.172.200.131  node131
10.172.200.132  node132
10.172.200.133  node133
10.172.200.134  node134
10.172.200.135  node135
10.172.200.136  node136
10.172.200.137  node137
10.172.200.138  node138

2. 设置hostname (对应机器上执行该操作)

root@node130:~# hostnamectl --static set-hostname node130
root@node130:~# hostname 
node130
root@node130:~# hostname -i
10.172.200.130
  • 每台机器上都执行以上操作

二 设置免密登录相关信息

1. 客户端生成公钥

# 一路回车就行
root@node130:~# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:7e50VJXJc9ixQvEziR0ry00ka5uIbZrK7yJQH0YK+7w root@node130
The key\'s randomart image is:
+---[RSA 2048]----+
|             +o*=|
|   .   .    . O*B|
|    o o      *.Xo|
|   . o o .o +.O o|
|    + o S..+.= . |
|   . o . .+.     |
|    . .  oo .    |
|     E...o .     |
|      .o++o      |
+----[SHA256]-----+

2. 复制公钥到对应服务器

root@node130:~/.ssh# ssh-copy-id -i ~/.ssh/id_rsa.pub  root@10.172.200.131
/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: "/root/.ssh/id_rsa.pub"
The authenticity of host \'10.172.200.131 (10.172.200.131)\' can\'t be established.
ECDSA key fingerprint is SHA256:gd/XArnlj987R5oB/08R3RhoMrhzVKUvRqrl0yNXbvw.
Are you sure you want to continue connecting (yes/no)? yes
/usr/bin/ssh-copy-id: INFO: attempting to log in with the new key(s), to filter out any that are already installed
/usr/bin/ssh-copy-id: INFO: 1 key(s) remain to be installed -- if you are prompted now it is to install the new keys
root@10.172.200.139\'s password: 

Number of key(s) added: 1

Now try logging into the machine, with:   "ssh \'root@10.172.200.131\'"
and check to make sure that only the key(s) you wanted were added.

3. 查看对应服务器的授权信息

root@node131:~# cd ~/.ssh/
root@node131:~/.ssh# ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
root@node139:~/.ssh# vim authorized_keys 
# 这个是 客户端写入到服务器的 id_rsa.pub (公钥)内容。

4. 测试登录

root@node130:~# ssh root@10.172.200.131
Welcome to uos 20 GNU/Linux

    * Homepage:https://www.chinauos.com/

    * Bugreport:https://bbs.chinauos.com/

Last login: Sat Jun 26 11:00:00 2021 from 10.173.134.66
root@node131:~# 
  • 每台机器上都执行以上操作

三 rsync相关操作

1. 各个服务器上分别安装 rsync

root@node130:~# apt  -y install rsync
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
下列软件包是自动安装的并且现在不需要了:
  fbterm imageworsener libc-ares2 libde265-0 libheif1 liblqr-1-0 libmaxminddb0 libqtermwidget5-0 libsbc1 libsmi2ldbl libspandsp2 libutf8proc2 libwireshark-data
  libwireshark11 libwiretap8 libwscodecs2 libwsutil9 qtermwidget5-data squashfs-tools
使用\'apt autoremove\'来卸载它(它们)。
下列【新】软件包将被安装:
  rsync
升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 232 个软件包未被升级。
需要下载 391 kB 的归档。
解压缩后会消耗 848 kB 的额外空间。
获取:1 https://enterprise-packages.chinauos.com/server-enterprise fou/sp3/main mips64el rsync mips64el 3.1.3-6 [391 kB]
已下载 391 kB,耗时 1秒 (643 kB/s)
正在选中未选择的软件包 rsync。
(正在读取数据库 ... 系统当前共安装有 180489 个文件和目录。)
准备解压 .../rsync_3.1.3-6_mips64el.deb  ...
正在解压 rsync (3.1.3-6) ...
正在设置 rsync (3.1.3-6) ...
Created symlink /etc/systemd/system/multi-user.target.wants/rsync.service → /lib/systemd/system/rsync.service.
正在处理用于 man-db (2.8.5-2) 的触发器 ...
正在处理用于 systemd (241.8-1+dde) 的触发器 ...
  • 每台机器上都执行以上操作

2. 编写脚本,并把它放置在node130 上

#!/bin/bash
# $#:表示传递给脚本或函数的参数个数。
#1 获取输入参数个数,如果没有参数,直接退出
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`
echo user=$user

#5 循环
for((host=1; host<9; host++)); do
       #echo $pdir/$fname $user@node13$host:$pdir
        echo --------------- node13$host ----------------
        rsync -rvl $pdir/$fname $user@node13$host:$pdir
done

保存文件并命名为 xsync.sh

3. 授权

root@node130:~# chmod 777 xsync.sh 
root@node130:~# ls -l
-rw-r--r--  1 root root   49063732 6月  25 11:35 seeyon.zip
-rwxrwxrwx  1 root root        951 6月  26 14:00 xsync.sh

4. 使用并测试

root@node130:~# ./xsync.sh  seeyon.zip 
fname=seeyon.zip
pdir=/data/seeyon/G6N5/ApacheJetspeed/webapps
user=root
--------------- node131 ----------------
sending incremental file list
seeyon.zip

sent 28,125 bytes  received 49,105 bytes  51,486.67 bytes/sec
total size is 49,063,732  speedup is 635.29
--------------- node132 ----------------
sending incremental file list
seeyon.zip

sent 28,125 bytes  received 49,105 bytes  51,486.67 bytes/sec
total size is 49,063,732  speedup is 635.29
--------------- node133 ----------------
sending incremental file list
seeyon.zip

sent 28,125 bytes  received 49,105 bytes  51,486.67 bytes/sec
total size is 49,063,732  speedup is 635.29
--------------- node134 ----------------
sending incremental file list
seeyon.zip

sent 28,125 bytes  received 49,105 bytes  51,486.67 bytes/sec
total size is 49,063,732  speedup is 635.29
--------------- node135 ----------------
sending incremental file list
seeyon.zip

sent 28,125 bytes  received 49,105 bytes  51,486.67 bytes/sec
total size is 49,063,732  speedup is 635.29
--------------- node136 ----------------
sending incremental file list
seeyon.zip

sent 28,125 bytes  received 49,105 bytes  30,892.00 bytes/sec
total size is 49,063,732  speedup is 635.29
--------------- node137 ----------------
sending incremental file list
seeyon.zip

sent 28,125 bytes  received 49,105 bytes  51,486.67 bytes/sec
total size is 49,063,732  speedup is 635.29
--------------- node138 ----------------
sending incremental file list
seeyon.zip

sent 28,125 bytes  received 49,105 bytes  51,486.67 bytes/sec
total size is 49,063,732  speedup is 635.29

以上是关于xsync.sh 配置 安装 并实现文件在各节点上的分发的主要内容,如果未能解决你的问题,请参考以下文章

ProxySQL集群配置

Linux安装、配置Zookeeper

Hadoop无法正确启动SecondaryNameNode

shell脚本

kafka集群配置和使用

exchange2016 4节点完整安装之证书配置