赞
踩
目录
注:本文综合了许多资料写成。
注意:hadoop01,hadoop02,hadoop03是我的主机名,hadoop01是主节点,以下操作均在hadoop01上,遇到hadoop01,hadoop02,hadoop03要把它们换成你的主机名。
GOGOGO!
mkdir -p sh-all/bin
- vi ~/.bash_profile
-
-
- 加入以下内容
- #群起脚本环境变量
- PATH=$PATH:/root/sh-all/bin
source ~/.bash_profile
yum -y install rsync
在/root/sh-all/bin下创建xsync
vi xsync
添加以下内容
- #!/bin/bash
-
- #1/ 获取输入参数个数,如果没有参数,直接退出。
- pcount=$#
- if((pcount==0));then
- echo no args;
- exit;
- fi
-
- #2 获取文件名称
- p1=$1
- fname=`basename $p1`
- echo fname=$fname
-
- #3 获取上级目录到绝对路径
- pdir=`cd -P $(dirname $p1); pwd`
- echo pdir=$pdir
-
- #4 获取当前用户名称
- user=`whoami`
-
- #5 循环
- for host in hadoop01 hadoop02 hadoop03
- do
- echo "=============== $host ================"
- rsync -rvl $pdir/$fname $user@$host:$pdir
- done

给权限
chmod 777 xsync
注:要有相同的文件路径,不然文件会分发到/用户名/下
- xsync 文件名
- xsync emp.csv
-
- xsync 路径/文件名
- xsync /root/datas/city_info.txt
成功!
vi ~/.bashrc
添加以下内容
- PATH=$PATH:$HOME/bin
-
- #群起脚本环境变量
- PATH=$PATH:/root/sh-all/bin
-
- export PATH
-
- export JAVA_HOME=/training/jdk1.8.0_171
- export PATH=$PATH:$JAVA_HOME/bin
-
- source /etc/profile
注:export JAVA_HOME=/training/jdk1.8.0_171
export PATH=$PATH:$JAVA_HOME/bin换成你的jdk路径。
内容与环境变量有重复,我也懒得去改了 。
xsync ~/.bashrc
vi xcall.sh
添加以下内容
- #!/bin/bash
-
- for i in hadoop01 hadoop02 hadoop03
-
- do
- echo "============= $i =============="
- ssh $i "/training/jdk1.8.0_171/bin/jps"
-
- done
注意:/training/jdk1.8.0_171/bin/jps要换成你的jdk路径。
给权限
chmod 777 xcall.sh
测试
vi zk.sh
添加以下内容
- #! /bin/bash
-
- case $1 in
- "start"){
- for i in hadoop01 hadoop02 hadoop03
- do
-
- echo "=============== $i =============="
- ssh $i "/training/zookeeper-3.4.5/bin/zkServer.sh start"
- echo "success to start $i zookeeper"
- echo -e "\n\n"
- done
- };;
-
- "stop"){
- for i in hadoop01 hadoop02 hadoop03
- do
- echo "============== $i =============="
- ssh $i "/training/zookeeper-3.4.5/bin/zkServer.sh stop"
- echo "success to stop $i zookeeper"
- echo -e "\n\n"
- done
- };;
-
- "status"){
- for i in hadoop01 hadoop02 hadoop03
- do
- echo "============== $i =============="
- ssh $i "/training/zookeeper-3.4.5/bin/zkServer.sh status"
- echo -e "\n\n"
- done
- };;
-
- esac

给权限
chmod 777 zk.sh
注:/training/zookeeper-3.4.5/bin是我的zookeeper路径。
测试:
zk.sh start
zk.sh stop
zk.sh status
vi ka.sh
添加以下内容
- #! /bin/bash
-
- case $1 in
- "start"){
- for i in hadoop01 hadoop02 hadoop03
- do
- echo "============ $i ==========="
- 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"
- echo "success to start $i kafka"
- echo -e "\n\n"
- done
- };;
-
- "stop"){
- for i in hadoop01 hadoop02 hadoop03
- do
- echo "============= $i ==============="
- ssh $i "/training/kafka_2.11-2.3.1/bin/kafka-server-stop.sh"
- echo "success to stop $i kafka"
- echo -e "\n\n"
- done
- };;
- esac

注:/training/kafka_2.11-2.3.1/bin是我的kafka路径。
给权限
chmod 777 ka.sh
测试:
ka.sh start
ka.sh stop
注:本文综合了许多资料写成。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。