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


相关推荐

  • 手把手教你学习汇编语言——从入门到起飞

    手把手教你学习汇编语言——从入门到起飞关于这篇博客 笔者会尽量用最简单的方式教会大家汇编语言以便应付各种考试有什么不足的忘大佬评论或私信指出 汇编环境安装汇编运行调试汇编指令希望大家看完这些找一些样例练习一下会学的更好 这里有一些练习题希望能帮助到大家汇编语言编程题总结汇编语言环境安装这里用的是 Masm 相比较纯 Dosbox 会简单很多的汇编语言和 CodeBlock 安装包密码 dqs9 下载以后打开运行下一步安装完成即可安装完成后打开 进来是默认的程序框汇编语言运行的话 一定要保存文件到本地才可以

    2026年3月26日
    2
  • VGG网络模型详解

    VGG网络模型详解如今深度学习发展火热 但很多优秀的文章都是基于经典文章 经典文章中的一句一词都值得推敲和分析 此外 深度学习虽然一直被人诟病缺乏足够令人信服的理论 但不代表我们不能感性分析理解 下面我们将对 2014 年夺得 ImageNet 的定位第一和分类第二的 VGG 网络进行分析 在此过程中更多的是对这篇经典文章的感性分析 希望和大家共同交流产生共鸣 如果有理解不到位的也真诚期待指出错误 Simonyan Ka

    2026年3月20日
    31
  • Booth算法运算原理

    Booth算法运算原理假设有两个数分别为 5 和 7 5 的二进制表示为 00000101 7 的二进制表示为 00000111 5×7 00000101×000 00000101x 00001000 1 00000101×000 00000101 0000010123 0000010120 由此可见 在 MQ 中寄存的辅助位 0 为判断最初进行的第一步部分积运算时加数的取值 MQ 寄存器中初始值假设为 000001110 最低位为 0 次低位为 1 0 1 1 由此可见为加 5 的的补码 值整体右移 依此类推

    2026年3月16日
    6
  • spring-mybatis整合-SqlSessionTemplate

    spring-mybatis整合-SqlSessionTemplateSqlSessionTemplate是MyBatis-Spring的核心。这个类负责管理MyBatis的SqlSession,调用MyBatis的SQL方法,翻译异常。SqlSessionTemplate是线程安全的,可以被多个DAO所共享使用。当调用SQL方法时,包含从映射器getMapper()方法返回的方法,SqlSessionTemplate将会保证使用的SqlSession是和当前S

    2022年5月6日
    36
  • 为什么选择SankeyMATIC?10个让你放弃传统绘图工具的理由

    为什么选择SankeyMATIC?10个让你放弃传统绘图工具的理由

    2026年3月16日
    2
  • ajax cors跨域_jquery跨域

    ajax cors跨域_jquery跨域两种跨域方法在Javascript中跨域访问是比较常见的事情就像现在比较流行写单页应用,而单页应用在访问API的时候就会有跨域的问题要解决跨域的问题,其实也并不复杂,有两种方案可以选择Jsonp跨域Jsonp的实现原理就是:创建一个回调函数,然后在远程服务上调用这个函数并且将JSON数据形式作为参数传递,完成回调。CORS(跨域资源共享)跨源资源共享标准通过新增一系列HTTP头…

    2022年8月24日
    8

发表回复

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

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