hadoop 集群中的配置文件发生变更,修改主节点的配置并把配置同步到其他节点。

1、在家目录 /home/briup/software 中创建目录bin目录

mkdir  /home/briup/software/bin
2、编写文件分发脚本
vi xsync

内容如下:

#!/bin/bash

  

#判断参数的个数,如果参数个数小于1,退出程序

if [ $# -lt 1 ]

then

    echo NOT ENOUGH ARGUEMENT!

    exit;

fi

#遍历集群中所有节点,给每一个节点分发文件

for host in  slave slave1

do

    echo =============$host==========

#获取命令中传入的参数(文件名或者文件的绝对路径或文件的相对路径)

    for file in $@

    do

#判断文件是否存在,文件存在直接分发,文件不存在直接提示文件不存在

        if [ -e $file ]

            then

#dirname $file获取文件所处的目录,cd -P 进入文件对应的目录,注意-P表示如果指向文件是软连接,直接进入文件的原始目录,-P,pwd获取目录的位置

                pdir=$(cd -P $(dirname $file);pwd )

#basename $file获取文件的文件名

                fname=$(basename $file)

#文件分发给远程机器的时候如果远程机器对应没有目录,先远程创建目录

                ssh $host "mkdir -p $pdir"

#rsync -av增量同步文件内容到远程机器,scp 全量同步

                scp  $pdir/$fname $host:$pdir

            else

#文件不存在表示直接提示

                echo $file does not exists!

        fi

    done

done

3、赋予文件执行权限

chmod 777 xsync
4、在 .bashrc 文件最后追加内容如下:
vi .bashrc 

内容如下:

export JAVA_HOME=/home/briup/software/jdk

export HADOOP_HOME=/home/briup/software/hadoop

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:/home/briup/software/bin

5、配置文件生效

source  .bashrc 
6、测试
mkdir /home/briup/data
cd /home/briup/data
vi 1.txt

7.txt 内容如下:

test.....
8.在 data 目录下,执行分发:
xsync 1.txt



最后修改: 2023年12月27日 星期三 16:36