Hadoop 中xsync集群分发脚本

Hadoop 中xsync集群分发脚本大数据集群中使用xsync脚本分发文件到集群中的所有机器

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

1.配置免密登录

2.rsync 远程同步工具

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

使用方法:

rsync    -av   $parentdir/$filename   $user@hadoop102$host:$parentdir/$filename
命令   选项参数   要拷贝的文件路径/名称     目的用户@主机:目的路径/名称

-a  归档拷贝
-v	显示复制过程

3.配置xsync集群分发脚本

在usr/local/bin目录下面创建文件xsync文件,或者在/home/用户/bin下面创建xsync文件,内容是:

#! /bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if [ $pcount -lt 1 ]
then
    echo No Enough Arguement!
    exit;
fi

#2. 遍历集群所有机器
for host in hadoop102 hadoop103 hadoop104
do
    echo ====================    $host    ====================
    #3. 递归遍历所有目录
    for file in $@
    do
        #4 判断文件是否存在
        if [ -e $file ]
        then
            #5. 获取全路径
            pdir=$(cd -P $(dirname $file); pwd)
            echo pdir=$pdir
            
            #6. 获取当前文件的名称
            fname=$(basename $file)
            echo fname=$fname
            
            #7. 通过ssh执行命令:在$host主机上递归创建文件夹(如果存在该文件夹)
            ssh $host "source /etc/profile;mkdir -p $pdir"
            
			#8. 远程同步文件至$host主机的$USER用户的$pdir文件夹下
            rsync -av $pdir/$fname $USER@$host:$pdir
        else
            echo $file Does Not Exists!
        fi
    done
done

修改脚本的执行权限 chmod 777 xsync

脚本的使用形式:xsync /opt/temp 可以分发/opt/temp文件夹到集群中所有的目录。


zk的启动脚本:

#! /bin/bash
for host in hadoop102 hadoop103 hadoop104
do
	ssh $host "source /etc/profile;nohup zKserver.sh start > /dev/null 2>&1 &"
	echo"************ $host Zookeeper is Starting ************"
done

kafka启动脚本:

#! /bin/bash
for host in hadoop102 hadoop103 hadoop104
do
	ssh $host "source /etc/profile;nohup kafka-server-start.sh start /opt/kafka_2.11-1.0.0/config/server.properties > /dev/null 2>&1 &"
	echo"==========$host Kafka is Starting"
done

xcall.sh

#! /bin/bash

for i in hadoop102 hadoop103 hadoop104
do
        echo --------- $i ----------
        ssh $i "source /etc/profile; $*"
done

$* 为获取传递进来的变量
$@ 为获去传递进来变量的个数

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

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

(0)
上一篇 2022年5月24日 下午2:40
下一篇 2022年5月24日 下午2:40


相关推荐

  • php递归算法经典实例_汉诺塔问题递归算法c语言

    php递归算法经典实例_汉诺塔问题递归算法c语言利用PHP实现汉诺塔汉诺塔(又称河内塔)问题是源于印度一个古老传说的益智玩具。大梵天创造世界的时候做了三根金刚石柱子,在一根柱子上从下往上按照大小顺序摞着64片黄金圆盘。大梵天命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一次只能移动一个圆盘。简而言之,有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大…

    2022年8月11日
    10
  • 高等数学学习笔记——第十四讲——函数极限的概念(1. 函数在无穷远处极限定义)

    高等数学学习笔记——第十四讲——函数极限的概念(1. 函数在无穷远处极限定义)1.问题引入(函数极限概念产生的背景——十六世纪开始在天体运动、航海、炮弹发射等领域对连续变量的研究需要)2.函数自变量的六种变化过程(趋于无穷或有限量,左趋近或右趋近)以时间为例,理解自变量的不同变化过程3.函数极限示例4.函数极限(关于过程x趋于正无穷)的定义ε可以取任意小的正数5.函数极限证明…

    2022年5月5日
    50
  • C++11新特性之nullptr

    C++11新特性之nullptrC 11 新特性之 nullptr

    2025年7月12日
    10
  • sql 中 between 的边界问题 —- between 边界:闭区间,not between 边界:开区间

    sql 中 between 的边界问题 —- between 边界:闭区间,not between 边界:开区间BETWEEN 用以查询确定范围的值 这些值可以是数字 文本或日期 BETWEEN 运算符是闭区间的 包括开始和结束值 如下 我有一个表只有 4 行数据 用 between 查 是包含前后边界值的 notbetween 则是不包含前后边界的补记 日期边界问题 如 2010 04 2116 42 39 2010 04 2316 42

    2026年3月17日
    2
  • 关于redis的几件小事(五)redis保证高并发以及高可用

    关于redis的几件小事(五)redis保证高并发以及高可用关于redis的几件小事(五)redis保证高并发以及高可用

    2022年4月22日
    60
  • 《LaTeX教程》

    《LaTeX教程》一位小仙女分享给我的LaTeX排版教程书,本人感觉特别好用。人生最快乐的事就是分享你的快乐给别人。独乐不如众乐,愿你我都有所获。链接:https://pan.baidu.com/s/1IkRzLz-Vmt5uL5TksX1lxg提取码:v9ag(“Ifyouhavegreattalents,industrywillimprovethem;ifyouhavebutm…

    2022年7月16日
    14

发表回复

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

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