栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

Apache Hadoop 完全分布式集群搭建-分发配置(三)

Apache Hadoop 完全分布式集群搭建-分发配置(三)

分发配置

编写集群分发脚本rsync-script
rsync 远程同步工具
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文
件都复制过去。

  1. 基本语法

命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称
2. 选项参数说明
rsync -rvl p d i r / pdir/ pdir/fname u s e r @ user@ user@host: p d i r / pdir/ pdir/fname

选项功能
-r递归
-v显示复制过程
-l拷贝符号连接

rsync同步
1.三台虚拟机安装rsync (执行安装需要保证机器联网)
yum install -y rsync
2.把linux121机器上的/opt/lagou/software目录同步到linux122服务器的root用户下的/opt/目录
[root@linux121 opt]$ rsync -rvl /opt/lagou/software/
root@linux122:/opt/lagou/software

集群分发脚本编写

1.需求:循环复制文件到集群所有节点的相同目录下

rsync命令原始拷贝: rsync -rvl /opt/module root@linux123:/opt/

2. 期望脚本
脚本+要同步的文件名称
3. 说明:在/usr/local/bin这个目录下存放的脚本,root用户可以在系统任何地方直接执行。

4. 脚本实现
(1)在/usr/local/bin目录下创建文件rsync-script,文件内容如下:

[root@linux121 bin]$ touch rsync-script
[root@linux121 bin]$ vim rsync-script

在文件中编写shell代码

#!/bin/bash
#需求:循环复制文件到集群所有节点的相同目录下
#使用方式:脚本+需要复制的文件名称
#脚本编写大致步骤
#1.获取传入脚本的参数,参数个数
paramnum=$#
if((paramnum==0));
then
	echo no args;
exit;
fi
#2.获取到文件名称
p1=$1
file_name=`basename $p1`
echo fname=${file_name}
#3.获取到文件的绝对路径,获取到文件目录信息
dir_name=`cd -P $(dirname $p1);pwd`
#dir_name=`dirname $p1`
echo dirname=${dir_name}
#4.获取到当前用户信息
user=`whoami`
#5.执行rsync命令,循环执行,要把数据发送到集群中其他节点上
for((host=121;host<124;host++));
do
echo --------target hostname=linux$host------
rsync -rvl ${dir_name}/${file_name} ${user}@linux${host}:${dir_name}
done

(2)修改脚本 rsync-script 具有执行权限

[root@linux121 bin]$ chmod 777 rsync-script

(3)调用脚本形式:rsync-script 文件名称

[root@linux121 bin]$ rsync-script /home/root/bin

(4) 调用脚本分发Hadoop安装目录到其它节点

[root@linux121 bin]$ rsync-script /opt/lagou/servers/hadoop-2.9.2

在其他服务器上查看分发的文件目录,是否一样


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/286016.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号