centos7搭建hadoop集群之rsync和xsync[通俗易懂]

centos7搭建hadoop集群之rsync和xsync[通俗易懂]文章记录于各个服务器(或者虚拟机等)已经配置了ssh免密登录,可执行下面操作,未配置ssh免密登录,可参考:https://blog.csdn.net/yhblog/article/details/84029535此文章是基于centos7minimal版本的,纯净系统,所以还需要安装rsync工具(确保所有节点都必须安装rsync)否则报错:安装成功:启动rsync服务sys…

大家好,又见面了,我是你们的朋友全栈君。

文章记录于各个服务器(或者虚拟机等)已经配置了ssh免密登录,可执行下面操作,未配置ssh免密登录,可参考:https://blog.csdn.net/yhblog/article/details/84029535


此文章是基于centos7minimal版本的,纯净系统,所以还需要安装rsync工具(确保所有节点都必须安装rsync)
否则报错:
在这里插入图片描述

安装成功:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

启动rsync服务
systemctl start rsyncd.service
systemctl enable rsyncd.service

运行结果:
在这里插入图片描述


rsync(remote synchronization):意为把本机上的文件或者目录远程同步到其他服务器,通过过程中只会把需要同步的文件与远程服务器上的存放目录做对比(如果存在相同的文件或者目录会进一步比较其中的内容),远程服务器上没有的或者内容不同的才会同步过去,远程服务器上原来就有的也原封不动的存在。

  • 原始操作命令: rsync -rvl local_file_path remote_username@remote_ip:remote_file_path
    注:remote_username为远程服务器上的在线用户,remote_ip可以换做主机名,前提是本机和远程服务器做了hosts映射

如:rsync -rvl /opt/module york@192.168.221.129:/opt/module
注:rsync -rvl 后面可以跟相对路径和绝对路径,但如果使用相对路径需要先进入到填写的路径的父目录(最好使用绝对路径)
在这里插入图片描述

  • 使用xsync脚本循环同步文件到各个目标节点的相同目录下(需要用户具有root权限或者直接使用root用户创建xsync)
    1.sudo创建xsync文件(root用户可直接创建)
    在这里插入图片描述
    2.创建需要同步测试的文件(分发到主机hadoop2和hadoop3)
    在这里插入图片描述
    xsync脚本源码:
#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi

#2 获取文件名称
p1=$1
fname='basename $p1'
echo fname=$fname

#3 获取上级目录到绝对路径
pdir='d -P $(dirname $p1); pwd'
echo pdir=$pdir

#4 获取当前用户名称
user='whoami'

#5 循环,这里host根据自己的节点数和主机名设置
for((host=2; host<4; host++)); do
        #echo $pdir/$fname $user@hadoop$host:$pdir
        echo --------------- hadoop$host ----------------
        rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
  • 执行脚本
    在这里插入图片描述
  • 必须更改读写权限(使用sudo也不行)
    在这里插入图片描述
  • 执行成功(用root身份使用xsync命令,这里需要一次输入各个目标节点(需要分发文件的服务器)的root密码才能实现发送)
    在这里插入图片描述
    其他节点查看文件:
    在这里插入图片描述
    在这里插入图片描述
    注意:
  • 1.确保各个节点都安装了rsync工具并启动(针对minimal版本,因为此版本任何工具都需手动安装),可参考:https://blog.csdn.net/cdnight/article/details/78861543

  • 2.xsync用root用户执行时,在执行过程中需要输入其他节点的root用户密码,过于繁琐,可事先给本机root用户配置ssh,通过ssh-copy-id到其他节点,实现免密登录,然后执行xsync命令就不需要输入其他各个节点的root用户密码了,可参考:https://blog.csdn.net/yhblog/article/details/84029535
    下图是具有root权限的york用户,对york用户配置了ssh,可以直接执行不用输入其他用户密码:(如果除了root用户,其他用户不能执行xsync命令,就切换到root用户执行)
    在这里插入图片描述
    在这里插入图片描述

  • rsync可以将文件远程同步到其他节点的特定目录下,而xsync一般是将本机上的文件所在目录位置远程同步到其他节点相同的目录下,不过上面xsync源码可以更改存放路径,如:本机文件位置是/opt/software/demo.txt,那么远程同步后,其他节点接收文件后的存放位置也是/opt/software,然后/opt/software目录有刚同步的文件demo.txt
    在这里插入图片描述
  • 3.远程同步后其他节点接收文件后,此文件的使用权限是root,其他用户必须具有root权限或者更改文件的使用权限,因为使用xsync命令时是root用户使用的(这是取决于上面脚本的内容,脚本里面取了user变量值,其他目标节点都有一个共同的用户,便于执行操作)
    。
    在这里插入图片描述
    比如下面是york用户使用的,则远程同步后文件的使用权限是york(当然,root具有最高权限,也可以操作任何文件):
    在这里插入图片描述
    在这里插入图片描述
    远程同步后各个目标节点接收文件后所属者:
    在这里插入图片描述
    在这里插入图片描述
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137184.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • element ui 图片加载失败_vue 3.x 中使用element-ui时, el-image图片加载失败!!「建议收藏」

    element ui 图片加载失败_vue 3.x 中使用element-ui时, el-image图片加载失败!!「建议收藏」问题描述vuecreateele命令创建了一个vue3.x的项目cdelecnpminpmrunserve把项目跑起来cnpmielement-ui-S安装element-ui修改HelloWorld.vue(增加使用el-image及其他组件),跑起来后,el-image对应的图片显示加载失败,但如果换成绝对地址就能正确加载,不知道什么原因!问题出现的环境背景及…

    2022年5月22日
  • fstream头文件的作用_Ofstream需要什么头文件

    fstream头文件的作用_Ofstream需要什么头文件…

    2022年9月19日
  • Redis布隆过滤器原理与实践

    Redis布隆过滤器原理与实践背景在高并发请求时,业务数据一般会对数据进行缓存,提高系统并发量,因为磁盘IO和网络IO相对于内存IO的成百上千倍的性能劣势。做个简单计算,如果我们需要某个数据,该数据从数据库磁盘读出来需要0.1s,从交换机传过来需要0.05s,那么每个请求完成最少0.15s(当然,事实上磁盘和网络IO也没有这么慢,这里只是举例),该数据库服务器每秒只能响应67个请求;而如果该数据存在于本机内存里,读出来只需要10us,那么每秒钟能够响应100,000个请求。通过将高频使用的数据存在离cpu更近的位置,以减少数据传

    2022年10月7日
  • 分析哲学_怎样查看bugreport

    分析哲学_怎样查看bugreportGetLogfromAndroidSystemadbbugreport>bugreport.txtcopybugreporttothecurrentdirectory.b

    2022年8月1日
  • Java 并发专题 : Timer的缺陷 用ScheduledExecutorService替代「建议收藏」

    Java 并发专题 : Timer的缺陷 用ScheduledExecutorService替代「建议收藏」继续并发,上篇博客对于ScheduledThreadPoolExecutor没有进行介绍,说过会和Timer一直单独写一篇Blog.1、Timer管理延时任务的缺陷a、以前在项目中也经常使用定时器,比如每隔一段时间清理项目中的一些垃圾文件,每个一段时间进行数据清洗;然而Timer是存在一些缺陷的,因为Timer在执行定时任务时只会创建一个线程,所以如果存在多个任务,且任务时间过长,超过了两

    2022年6月2日
  • PCIe卡的主要引脚 及 热插拔

    PCIe卡的主要引脚 及 热插拔目录1PCIe总线使用的信号1.1收发数据信号1.2辅助信号2热插拔参考资料1PCIe总线使用的信号PCIex1,x4,x8,x16卡的连接器引脚如下图所示,数据收发引脚为白色,辅助引脚为灰色:mechanicalkey对应防呆缺口的位置。1.1收发数据信号PCIe总线的层次分层图:与收发数据相关的线就是每个通路(lane)的两对差分传输线。PCIex1,x2,x4,x8,x16分别代表有1,2,4,8,16条lane。1.2辅助信号在连接器上提供辅助引脚来辅助

    2022年5月7日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号