hadoop(六)rsync远程同步|xsync集群分发(完全分布式准备三)|8
前置环境准备:
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的更多相关文章
- Redis总结(五)缓存雪崩和缓存穿透等问题 Web API系列(三)统一异常处理 C#总结(一)AutoResetEvent的使用介绍(用AutoResetEvent实现同步) C#总结(二)事件Event 介绍总结 C#总结(三)DataGridView增加全选列 Web API系列(二)接口安全和参数校验 RabbitMQ学习系列(六): RabbitMQ 高可用集群
Redis总结(五)缓存雪崩和缓存穿透等问题 前面讲过一些redis 缓存的使用和数据持久化.感兴趣的朋友可以看看之前的文章,http://www.cnblogs.com/zhangweizhon ...
- ssh无密登录_集群分发脚本xsync
1.ssh免密登录 ssh ip地址 [root@192 ~]# ssh 192.168.1.102 root@192.168.1.102's password: Last login: Mon Fe ...
- RabbitMQ学习系列(六): RabbitMQ 高可用集群
前面讲过一些RabbitMQ的安装和用法,也说了说RabbitMQ在一般的业务场景下如何使用.不知道的可以看我前面的博客,http://www.cnblogs.com/zhangweizhong/ca ...
- Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!)
Hadoop集群搭建安装过程(三)(图文详解---尽情点击!!!) 一.JDK的安装 安装位置都在同一位置(/usr/tools/jdk1.8.0_73) jdk的安装在克隆三台机器的时候可以提前安装 ...
- Hadoop 2.6.4单节点集群配置
1.安装配置步骤 # wget http://download.oracle.com/otn-pub/java/jdk/8u91-b14/jdk-8u91-linux-x64.rpm # rpm -i ...
- [Hadoop] - Win7下提交job到集群上去
一般我们采用win开发+linux hadoop集群的方式进行开发,使用插件:hadoop-***-eclipse-plugin. 运行程序的时候,我们一般采用run as application或者 ...
- rsync 远程同步 实时同步备份 两种免交互的方式实现实时备份
rsync 远程同步: 一款快速增量备份工具 Remote Sync,远程同步 支持本地复制,或者与其他SSH.rsync主机同步 作用:做数据备份 备份方式: 完全备份 增量备份 ...
- rsync远程同步的基本配置与使用
rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份,保持链接和权限,且采用优化的同步算法,传输前执行压缩,因此非常适用于异地备份,镜像服务器等应用. rsync的官 ...
- DataStage 六、安装和部署集群环境
DataStage序列文章 DataStage 一.安装 DataStage 二.InfoSphere Information Server进程的启动和停止 DataStage 三.配置ODBC Da ...
随机推荐
- spring Boot登录验证之验证码 邮箱
一 验证码 登录login.jsp <%@ page contentType="text/html;charset=UTF-8" language="java&qu ...
- pytorch里一些函数的说明记录
THLongStorage *THTensor_(newSizeOf)(THTensor *self); THLongStorage *THTensor_(newStrideOf)(THTensor ...
- MySQL:GROUP_CONCAT函数的使用
原文链接 GROUP_CONCAT功能 将某个字段的值拼接成字符串. 举例使用 先看一下原始数据表 执行下面sql语句 SELECT `cid`,GROUP_CONCAT(mid) AS `mids` ...
- 一明单词本持续更新ing...
introductionshuffingdeployspecifyingreliableclusters programming scalemachinesdeliveringsubmarineadd ...
- 如何使用python图形化界面wxPython
GUI库主要有三类:tkinter,wxPython和PyQt5,下面主要是针对wxPython的使用说明. 下面的操作均在win10 + pycharm上进行 wxPython的安装: pip in ...
- 目标检测 | 经典算法 Cascade R-CNN: Delving into High Quality Object Detection
作者从detector的overfitting at training/quality mismatch at inference问题入手,提出了基于multi-stage的Cascade R-CNN ...
- JAVA--利用HttpClient模拟浏览器登陆请求获取响应的Cookie
在通过java采集网页数据时,我们常常会遇到这样的问题: 站点需要登陆才能访问 而这种网站,一般都会对请求进行账号密码的验证,验证的方式也有多种,需要具体分析. 今天分析其中的一种情况: 站点对登陆密 ...
- python set() leetcode 签到820. 单词的压缩编码
题目 给定一个单词列表,我们将这个列表编码成一个索引字符串 S 与一个索引列表 A. 例如,如果这个列表是 ["time", "me", "bell& ...
- Spring03——有关于 Spring AOP 的总结
本文将为各位带来 Spring 的另一个重点知识点 -- Spring AOP.关注我的公众号「Java面典」,每天 10:24 和你一起了解更多 Java 相关知识点. 什么是 AOP 面向切面编程 ...
- HDU-1051 一个DP问题
Problem Description There is a pile of n wooden sticks. The length and weight of each stick are know ...