Hadoop学习笔记-入门(3)-编写xsync分发脚本
脚本编写
目前我们使用的是syh用户。
我们希望编写一个分发脚本,它能够循环复制文件到所有节点的相同目录之下。并且我们希望脚本在任何路径都能够使用。
首先,我们将脚本放在syh用户的bin目录下,完整路径为/home/syh/bin
,在bin目录中,我们创建xsync文件并写入以下内容:
1 |
|
之后为这个文件添加执行权限:
1 |
|
之后我们要配置环境变量,仍然使用我们之前创建的my_env.sh文件,在其中增加如下内容:
1 |
|
1 |
|
之后刷新环境变量:
1 |
|
之后将脚本复制到/bin
目录下,以便全局调用
1 |
|
这样,如果是使用sudo使用xsync命令的话,则需要使用如下方式
1 |
|
文件分发
之后我们可以使用刚才编写的xsync脚本来进行文件分发
举例来说,我们将刚才的java文件夹发送出去,在hadoop102下执行
1 |
|
类似地,我们需要完成/home/syh/bin
目录和/opt/module/hadoop-3.1.3
目录的分发
命令使用
在Linux服务器上进行文件传输会涉及到两个命令
1.scp安全拷贝
它的基本语法如下:
1 |
|
其中,前者为被拷贝的文件目录,后者是目标文件目录。scp可以完成任意两台服务器之间的文件拷贝,只要用户名密码匹配即可。如果是在本机上的文件目录,则可以不用添加user和host,直接用路径即可。
scp每次都会完成文件的全部复制操作。
2.rsync远程同步
rsync完成的是同步操作,同步即指的是会复制修改不同的文件,而不会全部复制,因此在执行的时候会比scp快一些。它主要用于备份和镜像,具有速度快、避免复制相同内容和支持符号链接的优点。
基本语法如下:
1 |
|
它与scp命令有类似的特点,区别在于一个是复制,一个是同步。
Hadoop学习笔记-入门(3)-编写xsync分发脚本
http://example.com/2022/02/17/Hadoop学习笔记-入门-3-编写xsync分发脚本/