1. 分发脚本: 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=103; host<105; host++)); do
echo ------------------- hadoop$host --------------
rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done
2. 查看进程脚本: util
#!/bin/bash
for i in hadoop102 hadoop103 hadoop104
do
echo "====================$i======================="
ssh $i "/opt/module/jdk1.8.0_144/bin/jps"
done
3. 启动Hadoop脚本: startHadoop
#!/bin/bash
echo "========================启动zookeeper=========================="
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
done
echo "==========================启动HDFS======================="
ssh hadoop102 "/opt/module/hadoop-2.7.2/sbin/start-dfs.sh"
echo "=========================启动Yarn======================="
ssh hadoop103 "/opt/module/hadoop-2.7.2/sbin/start-yarn.sh"
echo "========================启动历史服务器=================="
ssh hadoop102 "/opt/module/hadoop-2.7.2/sbin/mr-jobhistory-daemon.sh start historyserver"
4. 停止Hadoop脚本: stopHadoop
#!/bin/bash
echo "==========================关闭zookeeper============================"
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
done
echo "=========================关闭HDFS================================="
ssh hadoop102 "/opt/module/hadoop-2.7.2/sbin/stop-dfs.sh"
echo "========================关闭Yarn=================================="
ssh hadoop103 "/opt/module/hadoop-2.7.2/sbin/stop-yarn.sh"
echo "=======================关闭历史服务器============================"
ssh hadoop102 "/opt/module/hadoop-2.7.2/sbin/mr-jobhistory-daemon.sh stop historyserver"
5. Zookeeper启动、停止、查看状态: zk.sh
#!/bin/bash
case $1 in
"start"){
echo "=======================启动zookeeper========================"
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh start"
done
};;
"stop"){
echo "=======================关闭zookeeper========================"
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh stop"
done
};;
"status"){
echo "=======================查看zookeeper状态========================"
for i in hadoop102 hadoop103 hadoop104
do
ssh $i "/opt/module/zookeeper-3.4.10/bin/zkServer.sh status"
done
};;
esac
6. Kafka启动、停止脚本:kf.sh
#!/bin/bash
case $1 in
"start"){
for i in hadoop102 hadoop103 hadoop104
do
echo " --------启动 $i Kafka-------"
# 用于KafkaManager监控
ssh $i "export JMX_PORT=9988 && /opt/module/kafka/bin/kafka-server-start.sh -daemon /opt/module/kafka/config/server.properties "
done
};;
"stop"){
for i in hadoop102 hadoop103 hadoop104
do
echo " --------停止 $i Kafka-------"
ssh $i "/opt/module/kafka/bin/kafka-server-stop.sh stop"
done
};;
esac
7. KafkaManager启动、停止脚本: km.sh
#! /bin/bash
case $1 in
"start"){
echo " -------- 启动 KafkaManager -------"
nohup /opt/module/kafka-manager-1.3.3.22/bin/kafka-manager -Dhttp.port=7456 >start.log 2>&1 &
};;
"stop"){
echo " -------- 停止 KafkaManager -------"
ps -ef | grep ProdServerStart | grep -v grep |awk '{print $2}' | xargs kill
};;
esac