常用的shell脚本

集群同步分发脚本:

my_xsync.sh

#1. 判断参数个数

if [ $# -lt 1 ]

then

  echo Not 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)

      #6. 获取当前文件的名称

      fname=$(basename $file)

      ssh $host "mkdir -p $pdir"

      rsync -av $pdir/$fname $host:$pdir

    else

      echo $file does not exists!

    fi

  done

done

 

Hadoop集群的启动/停止脚本

my_hadoop.sh

#!/bin/bash

if [ $# -lt 1 ]

then

    echo "No Args Input..."

    exit ;

fi

case $1 in

"start")

        echo " =================== 启动 hadoop集群 ==================="

 

        echo " --------------- 启动 hdfs ---------------"

        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/start-dfs.sh"

        echo " --------------- 启动 yarn ---------------"

        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/start-yarn.sh"

        echo " --------------- 启动 historyserver ---------------"

        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon start historyserver"

;;

"stop")

        echo " =================== 关闭 hadoop集群 ==================="

 

        echo " --------------- 关闭 historyserver ---------------"

        ssh hadoop102 "/opt/module/hadoop-3.1.3/bin/mapred --daemon stop historyserver"

        echo " --------------- 关闭 yarn ---------------"

        ssh hadoop103 "/opt/module/hadoop-3.1.3/sbin/stop-yarn.sh"

        echo " --------------- 关闭 hdfs ---------------"

        ssh hadoop102 "/opt/module/hadoop-3.1.3/sbin/stop-dfs.sh"

;;

*)

    echo "Input Args Error..."

;;

esac

 

 

查看三台服务器上的进程脚本:

my_jpsall.sh
#!/bin/bash

for host in hadoop102 hadoop103 hadoop104

do

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

        ssh $host jps

done

posted @   黑山魁七  阅读(121)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
点击右上角即可分享
微信分享提示