集群辅助脚本JPSALL与XSYNC

为了方便管理集群,可制作一些工具脚本,比如jpsall,xsync等,下面会说明自制过程。

查看集群JVM进程:jpsall

  1. 创建jpsall脚本
    hadoop@ubuntu2:~/Scripts$ vim jpsall
#!/bin/bash

for host in ubuntu2 ubuntu3 ubuntu4
do
    echo ============= $host ==========
    ssh hadoop@$host /opt/jdk1.8.0_211/bin/jps
done
  1. 修改脚本jpsall具有执行权限
    hadoop@ubuntu2:~/Scripts$ chmod 777 jpsall
  2. 执行脚本jpsall
    hadoop@ubuntu2:~/Scripts$ ./jpsall
    集群辅助脚本JPSALL与XSYNC_第1张图片

集群文件分发:xsync

  1. 创建xsync脚本
    hadoop@ubuntu2:~/Scripts$ vim xsync
#!/bin/bash

#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
        echo no args;
        exit;
fi

#2 获取文件名称
if [ -e $1 ]
     then
         p1=$1
         fname=`basename $p1`
         echo fname=$fname
     else
         echo $fname does not exists!
         exit;
fi

#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir

#4 获取当前用户名称
user=`whoami`

#5 循环
for host in ubuntu2 ubuntu3 ubuntu4 ; do
    ssh $host "mkdir -p $pdir"
    echo ------------------- hadoop$host --------------
    rsync -rvl $pdir/$fname $host:$pdir
done
  1. 修改脚本xsync具有执行权限
    hadoop@ubuntu2:~/Scripts$ chmod 777 xsync
  2. 执行脚本xsync,分发Spark配置文件
    hadoop@ubuntu2:~/Scripts$ ./xsync /opt/spark-3.0.0-bin-hadoop2.8/conf/spark-env.sh
    集群辅助脚本JPSALL与XSYNC_第2张图片

脚本任意位置可执行

要想让脚本在任意位置可执行,就像linux命令lspwd等一样,需要将这些命令所对应的可执行文件所在的目录加到 PATH 环境变量里

  1. 修改环境变量配置文件,添加脚本路径
    hadoop@ubuntu2:~$ vim /etc/profile.d/my_env.sh
export SCRIPTS=$HOME/Scripts
export PATH=$SCRIPTS:$PATH
  1. 使环境变量生效
    hadoop@ubuntu2:~$ source /etc/profile

  2. 查看jpsall命令是否其他位置可执行:
    hadoop@ubuntu2:~$ jpsall
    集群辅助脚本JPSALL与XSYNC_第3张图片

你可能感兴趣的:(工具,hadoop,linux,大数据)