前置环境准备:
centos7克隆ip|机器名|映射关系|别名配置(hadoop完全分布式准备一)
scp命令copy文件和配置(hadoop完全分布式准备二)

rsync远程同步工具

优点

rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用 rsync做文件的复制要比scp的速度快, rsync只对差异文件做更新。scp是把所有文件都复制过去。

基本语法

rsync  -rvl      $pdir/$fname     $user(@hadoop$host: $pdir/$fname

命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径名称
选项参数说明
选项 功能
-r 递归
-v 显示复制过程
-l Copy符号链接

案例

将hadoop101机器上的/opt/software 同步到hadoop102的服务器上的对应目录下。

[shaozhiqi@hadoop101 ~]$ rsync  -rvl /opt/software shaozhiqi@hadoop102:/opt/
shaozhiqi@hadoop102's password:
\sending incremental file list
software/hadoop-3.1.2.tar.gz
software/jdk-8u211-linux-x64.tar.gz sent 527488768 bytes received 51 bytes 14066368.51 bytes/sec
total size is 527424191 speedup is 1.00
[shaozhiqi@hadoop101 ~]$

查看102机器目录同步成功

[shaozhiqi@hadoop102 software]$ ll
total 515068
-rw-rw-r--. 1 shaozhiqi shaozhiqi 332433589 Jun 23 04:55 hadoop-3.1.2.tar.gz
-rw-rw-r--. 1 shaozhiqi shaozhiqi 194990602 Jun 23 04:56 jdk-8u211-linux-x64.tar.gz
[shaozhiqi@hadoop102 software]$

xsync集群分发脚本

(1)需求:循环复制文件到所有节点的相同目录下
(2)需求分析:
在 home/shaozhiqi/bin这个目录下存放的脚本, shaozhiqi用户可以在系统任何地方直接执行。
可用案例:
如果我们修改了其中一台hadoop的某个xml的,需要在其他机器上都同步过去就可以这样做

需求实现
在home/shao目录下创建bin目录,并在bin目录下 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=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir #4 获取当前用户名称
user=`whoami` #5循环
for (( host=103; host<105; host++)); do
echo -------hadoop$host -----------------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

basename shell 语法

[shaozhiqi@hadoop102 opt]$ basename module/hadoop-3.1.2/etc/hadoop/core-site.xml
core-site.xml
[shaozhiqi@hadoop102 opt]$ basename core-site.xml
core-site.xml

dirname shell语法

[shaozhiqi@hadoop102 opt]$ dirname module/hadoop-3.1.2/etc/hadoop/core-site.xml
module/hadoop-3.1.2/etc/hadoop
[shaozhiqi@hadoop102 opt]$

whoami

[shaozhiqi@hadoop102 opt]$ whoami
shaozhiqi
[shaozhiqi@hadoop102 opt]$

赋权限

[shaozhiqi@hadoop102 bin]$ chmod 777 testxsync
[shaozhiqi@hadoop102 bin]$ ll
total 4
-rwxrwxrwx. 1 shaozhiqi shaozhiqi 520 Jun 23 05:48 testxsync

执行前查看103

[shaozhiqi@hadoop103 ~]$ ll
total 0

执行前查看104

[shaozhiqi@hadoop104 ~]$ ll
total 0

执行脚本将bin同步到103.104

[shaozhiqi@hadoop102 bin]$ testxsync bin/
fname=bin
dirname: missing operand
Try 'dirname --help' for more information.
pdir=/home/shaozhiqi
-------hadoop103 -----------------------
shaozhiqi@hadoop103's password:
sending incremental file list
bin/
bin/.testxsync.swo
bin/.testxsync.swp
bin/testxsync sent 25281 bytes received 73 bytes 2668.84 bytes/sec
total size is 25052 speedup is 0.99
-------hadoop104 -----------------------
shaozhiqi@hadoop104's password:
Permission denied, please try again.
shaozhiqi@hadoop104's password:
sending incremental file list
bin/
bin/.testxsync.swo
bin/.testxsync.swp
bin/testxsync sent 25281 bytes received 73 bytes 2414.67 bytes/sec
total size is 25052 speedup is 0.99
[shaozhiqi@hadoop102 bin]$

执行后查看103、104脚本执行成功

[shaozhiqi@hadoop103 ~]$ ll
total 0
drwxrwxr-x. 2 shaozhiqi shaozhiqi 64 Jun 23 06:13 bin
[shaozhiqi@hadoop103 ~]$
[shaozhiqi@hadoop104 ~]$ ll
total 0
drwxrwxr-x. 2 shaozhiqi shaozhiqi 64 Jun 23 06:13 bin
[shaozhiqi@hadoop104 ~]$

说明
我们[shaozhiqi@hadoop103 ~]$ mkdir 的文件都会在 /home/shaozhiqi/bin
在 home/shaozhiqi/bin这个目录下存放的脚本, shaozhiqi用户可以在系统任何地方直接执行。
如果有意外,导致无法识别,那就把它放在、usr/local/bin下

hadoop(六)rsync远程同步|xsync集群分发(完全分布式准备三)|8的更多相关文章

  1. Redis总结(五)缓存雪崩和缓存穿透等问题 Web API系列(三)统一异常处理 C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步) C#总结(二)事件Event 介绍总结 C#总结(三)DataGridView增加全选列 Web API系列(二)接口安全和参数校验 RabbitMQ学习系列(六): RabbitMQ 高可用集群

    Redis总结(五)缓存雪崩和缓存穿透等问题   前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhon ...

  2. ssh无密登录_集群分发脚本xsync

    1.ssh免密登录 ssh ip地址 [root@192 ~]# ssh 192.168.1.102 root@192.168.1.102's password: Last login: Mon Fe ...

  3. RabbitMQ学习系列(六): RabbitMQ 高可用集群

    前面讲过一些RabbitMQ的安装和用法,也说了说RabbitMQ在一般的业务场景下如何使用.不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/ca ...

  4. Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!)

    Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!) 一.JDK的安装 安装位置都在同一位置(/usr/tools/jdk1.8.0_73) jdk的安装在克隆三台机器的时候可以提前安装 ...

  5. Hadoop 2.6.4单节点集群配置

    1.安装配置步骤 # wget http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm # rpm -i ...

  6. [Hadoop] - Win7下提交job到集群上去

    一般我们采用win开发+linux hadoop集群的方式进行开发,使用插件:hadoop-***-eclipse-plugin. 运行程序的时候,我们一般采用run as application或者 ...

  7. rsync 远程同步 实时同步备份 两种免交互的方式实现实时备份

    rsync 远程同步: 一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH.rsync主机同步 作用:做数据备份 备份方式:      完全备份      增量备份 ...

  8. rsync远程同步的基本配置与使用

    rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用. rsync的官 ...

  9. DataStage 六、安装和部署集群环境

    DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 DataStage 三.配置ODBC Da ...

随机推荐

  1. 解决不管其他元素z-index设置多高,都在视频下面的方法

    <div style="z-index:-1"> <embed name="Movie1" src="http://ecards.s ...

  2. 原创】Java并发编程系列2:线程概念与基础操作

    [原创]Java并发编程系列2:线程概念与基础操作 伟大的理想只有经过忘我的斗争和牺牲才能胜利实现. 本篇为[Dali王的技术博客]Java并发编程系列第二篇,讲讲有关线程的那些事儿.主要内容是如下这 ...

  3. Natas7 Writeup(任意文件读取漏洞)

    Natas7: 页面出现了两个选项,点击后跳转,观察url发现了page参数,猜测可能存在任意文件读取漏洞. 且源码给了提示,密码在/etc/natas_webpass/natas8 中. 将/etc ...

  4. Python文本文件读写操作时的字符编码问题

    说明:文本文件的字符编码问题只存在t模式中,如:open('a.txt', mode='rt') 编码(encode): 我们输入的任何字符想要以文件(如.txt)的形式保存在计算机的硬盘上, 必须先 ...

  5. JavaScript 模式》读书笔记(3)— 字面量和构造函数3

    这是字面量和构造函数的最后一篇内容,其中包括了JSON.正则表达式字面量,基本值类型包装器等知识点.也是十分重要的哦. 五.JSON JSON是指JavaScript对象表示以及数据传输格式.它是一种 ...

  6. 【简说Python WEB】数据库

    目录 [简说Python WEB]数据库 数据库表 docker安装MySQL Flask-SQLAlchemy操纵MySQL数据库 初始化 定义模型 定义关系 数据库的CRUD操作 创建表 inse ...

  7. 强智教务系统验证码识别 Tensorflow CNN

    强智教务系统验证码识别 Tensorflow CNN 一直都是使用API取得数据,但是API提供的数据较少,且为了防止API关闭,先把验证码问题解决 使用Tensorflow训练模型,强智教务系统的验 ...

  8. 题解 P2755 【洗牌问题】

    这是本人的第一篇题解 请多多宽恕 这一道题其实不要用数组 我们来观察一下n=3时的情况: 原: 1 2 3 4 5 6 4 1 5 2 6 3 2 4 6 1 3 5 1 2 3 4 5 6 我们去观 ...

  9. 题解 P1985 【[USACO07OPEN]翻转棋】

    讲讲我的做法 刚开始做这道题的时候,看到\(n<=15\),我这个\(6\)年级的蒟蒻的第1反应是状压\(dp\).貌似不好做.然而,等到我在省中集训的时候,老师的一席话,让我豁然开朗.今天我准 ...

  10. 详解firewalld 和iptables

    在RHEL7里有几种防火墙共存:firewalld.iptables.ebtables,默认是使用firewalld来管理netfilter子系统,不过底层调用的命令仍然是iptables等. fir ...