jps、kafka、zookeeper群起脚本和rsync文件分发脚本(超详细)
目录一、前期准备1.1创建文件夹1.2设置环境变量1.3环境变量生效二、rsync文件分发脚本2.1下载rsync2.2编写文件分发脚本2.3测试三、群起脚本3.1编辑.bashrc3.2分发.bashrc3.3编写jps群起脚本3.4编写zookeeper群起脚本3.5编写kafka群起脚本注:本文综合了许多资料写成。注意:hadoop01,hadoop02,hadoop03是我的主机名,had
目录
注:本文综合了许多资料写成。
注意:hadoop01,hadoop02,hadoop03是我的主机名,hadoop01是主节点,以下操作均在hadoop01上,遇到hadoop01,hadoop02,hadoop03要把它们换成你的主机名。
GOGOGO!
一、前期准备
1.1创建文件夹
mkdir -p sh-all/bin
1.2设置环境变量
vi ~/.bash_profile
加入以下内容
#群起脚本环境变量
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
添加以下内容
#!/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
2.3测试
注:要有相同的文件路径,不然文件会分发到/用户名/下
xsync 文件名
xsync emp.csv
xsync 路径/文件名
xsync /root/datas/city_info.txt
成功!
三、群起脚本
3.1编辑.bashrc
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路径。
内容与环境变量有重复,我也懒得去改了 。
3.2分发.bashrc
xsync ~/.bashrc
3.3编写jps群起脚本
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
测试
3.4编写zookeeper群起脚本
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
3.5编写kafka群起脚本
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
注:本文综合了许多资料写成。
更多推荐
所有评论(0)