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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • spring aop用法_概念的种类

    spring aop用法_概念的种类SpringAOP入门——概念及注意点

    2022年8月11日
    3
  • redis过期key的删除策略[通俗易懂]

    前言在使用redis的过程中,不免会产生过期的key,而这些key过期后并不会实时地马上被删除,当这些key数量累积越来越多,就会占用很多内存,因此在redis底层同时使用了三种策略来删除这些key。第一种策略:被动删除当读/写一个key时,redis首先会检查这个key是否存在,如果存在且已过期,则直接删除这个key并返回nil给客户端。第二种策略:定期删除redis中有一系列的定期任务(serverCron),这些任务每隔一段时间就会运行一次,其中就包含清理过期key的任务,运行频率由配置文件

    2022年4月8日
    67
  • pycharm激活码【2021最新】

    (pycharm激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlML…

    2022年3月21日
    55
  • WRS是什么?_WRS210L

    WRS是什么?_WRS210L全球参考系(WRS)是为卫星下行数据服务而建立的一种全球符号坐标系统,本文详细介绍了Landsat卫星的轨道特性,给出了相应的WRS网格坐标位置的估算方法,并给出了估算的结果。对该方法的研究为地面应用

    2022年8月4日
    5
  • 菜鸟教程 python 正则表达式_python正则表达式使用实例

    菜鸟教程 python 正则表达式_python正则表达式使用实例正则表达式正则表达式(RegularExpression,在代码中常简写为regex、regexp、RE或re)是预先定义好的一个“规则字符率”,通过这个“规则字符串”可以匹配、查找和替换那些

    2022年8月7日
    6
  • widthstep

    widthstep简言之:image->widthStep=(int(image->width*image->nChannels+3)/4)*4,既图像宽度*图像通道数,再向上取最近的4的倍数,因为每行是按4的倍数分配内存的做直方图计算时要注意空的内存。灰度图的width和widthstep不相等。前者是表示图像的每行像素数,后者指表示存储一行像素需要的字节数。  在Op

    2022年6月12日
    41

发表回复

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

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