当前位置:   article > 正文

jps、kafka、zookeeper群起脚本和rsync文件分发脚本(超详细)_jps脚本

jps脚本

目录

一、前期准备

1.1创建文件夹

1.2设置环境变量

1.3环境变量生效

二、rsync文件分发脚本

2.1下载rsync

 2.2编写文件分发脚本

2.3测试

三、群起脚本

3.1编辑.bashrc

 3.2分发.bashrc

3.3编写jps群起脚本

3.4编写zookeeper群起脚本

3.5编写kafka群起脚本


注:本文综合了许多资料写成。

注意:hadoop01,hadoop02,hadoop03是我的主机名,hadoop01是主节点,以下操作均在hadoop01上,遇到hadoop01,hadoop02,hadoop03要把它们换成你的主机名。

GOGOGO!

一、前期准备

1.1创建文件夹

mkdir -p sh-all/bin

1.2设置环境变量

  1. vi ~/.bash_profile
  2. 加入以下内容
  3. #群起脚本环境变量
  4. PATH=$PATH:/root/sh-all/bin

 

1.3环境变量生效

source ~/.bash_profile

二、rsync文件分发脚本

2.1下载rsync

yum -y install rsync

 2.2编写文件分发脚本

在/root/sh-all/bin下创建xsync

vi xsync

添加以下内容 

  1. #!/bin/bash
  2. #1/ 获取输入参数个数,如果没有参数,直接退出。
  3. pcount=$#
  4. if((pcount==0));then
  5. echo no args;
  6. exit;
  7. fi
  8. #2 获取文件名称
  9. p1=$1
  10. fname=`basename $p1`
  11. echo fname=$fname
  12. #3 获取上级目录到绝对路径
  13. pdir=`cd -P $(dirname $p1); pwd`
  14. echo pdir=$pdir
  15. #4 获取当前用户名称
  16. user=`whoami`
  17. #5 循环
  18. for host in hadoop01 hadoop02 hadoop03
  19. do
  20. echo "=============== $host ================"
  21. rsync -rvl $pdir/$fname $user@$host:$pdir
  22. done

给权限

chmod 777 xsync

2.3测试

注:要有相同的文件路径,不然文件会分发到/用户名/下

  1. xsync 文件名
  2. xsync emp.csv
  3. xsync 路径/文件名
  4. xsync /root/datas/city_info.txt

成功!

三、群起脚本

3.1编辑.bashrc

vi ~/.bashrc

添加以下内容

  1. PATH=$PATH:$HOME/bin
  2. #群起脚本环境变量
  3. PATH=$PATH:/root/sh-all/bin
  4. export PATH
  5. export JAVA_HOME=/training/jdk1.8.0_171
  6. export PATH=$PATH:$JAVA_HOME/bin
  7. source /etc/profile

 注:export JAVA_HOME=/training/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin换成你的jdk路径。

内容与环境变量有重复,我也懒得去改了 。

 3.2分发.bashrc

xsync ~/.bashrc

3.3编写jps群起脚本

vi xcall.sh

添加以下内容

  1. #!/bin/bash
  2. for i in hadoop01 hadoop02 hadoop03
  3. do
  4. echo "============= $i =============="
  5. ssh $i "/training/jdk1.8.0_171/bin/jps"
  6. done

注意:/training/jdk1.8.0_171/bin/jps要换成你的jdk路径。

给权限

chmod 777 xcall.sh

测试

3.4编写zookeeper群起脚本

vi zk.sh

添加以下内容

  1. #! /bin/bash
  2. case $1 in
  3. "start"){
  4. for i in hadoop01 hadoop02 hadoop03
  5. do
  6. echo "=============== $i =============="
  7. ssh $i "/training/zookeeper-3.4.5/bin/zkServer.sh start"
  8. echo "success to start $i zookeeper"
  9. echo -e "\n\n"
  10. done
  11. };;
  12. "stop"){
  13. for i in hadoop01 hadoop02 hadoop03
  14. do
  15. echo "============== $i =============="
  16. ssh $i "/training/zookeeper-3.4.5/bin/zkServer.sh stop"
  17. echo "success to stop $i zookeeper"
  18. echo -e "\n\n"
  19. done
  20. };;
  21. "status"){
  22. for i in hadoop01 hadoop02 hadoop03
  23. do
  24. echo "============== $i =============="
  25. ssh $i "/training/zookeeper-3.4.5/bin/zkServer.sh status"
  26. echo -e "\n\n"
  27. done
  28. };;
  29. esac

给权限

chmod 777 zk.sh

注:/training/zookeeper-3.4.5/bin是我的zookeeper路径。

测试:

zk.sh start

zk.sh stop

zk.sh status

3.5编写kafka群起脚本

vi ka.sh

添加以下内容

  1. #! /bin/bash
  2. case $1 in
  3. "start"){
  4. for i in hadoop01 hadoop02 hadoop03
  5. do
  6. echo "============ $i ==========="
  7. ssh $i "/training/kafka_2.11-2.3.1/bin/kafka-server-start.sh -daemon /training/kafka_2.11-2.3.1/config/server.properties"
  8. echo "success to start $i kafka"
  9. echo -e "\n\n"
  10. done
  11. };;
  12. "stop"){
  13. for i in hadoop01 hadoop02 hadoop03
  14. do
  15. echo "============= $i ==============="
  16. ssh $i "/training/kafka_2.11-2.3.1/bin/kafka-server-stop.sh"
  17. echo "success to stop $i kafka"
  18. echo -e "\n\n"
  19. done
  20. };;
  21. esac

注:/training/kafka_2.11-2.3.1/bin是我的kafka路径。

给权限

chmod 777 ka.sh

测试:

ka.sh start

ka.sh stop

注:本文综合了许多资料写成。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/880074?site
推荐阅读
相关标签
  

闽ICP备14008679号