一、前置准备
CentOS7、jdk1.8、scala-2.11.12、spark-2.4.5、hadoop-2.7.7、zookeeper-3.5.7
想要完成本期视频中所有操作,需要以下准备:
二、脚本源码
#!/bin/bash
#作者:小康
#描述:ha-spark集群(yarn模式)启动停止以及进程查看脚本
#微信公众号:小康新鲜事儿
USAGE="使用方法:sh ha-spark.sh start/stop/status"
if [ $# -ne 1 ];then
echo $USAGE
exit 1
fi
SHELL_CALL=/home/xiaokang/bin/call-cluster.sh
SHELL_HADOOP=/home/xiaokang/bin/ha-hadoop.sh
SPARK_HOME=/opt/software/spark-2.4.5
NODES=("hadoop01" "hadoop02")
case $1 in
"start")
#开始启动ha-spark集群
for NODE in ${NODES[*]};do
echo "--------$NODE启动ha-spark集群"
if [ "hadoop01" = $NODE ];then
ssh $NODE "$SHELL_HADOOP start && $SPARK_HOME/sbin/start-all.sh && $SPARK_HOME/sbin/start-history-server.sh"
fi
if [ "hadoop02" = $NODE ];then
ssh $NODE "$SPARK_HOME/sbin/start-master.sh"
fi
done
;;
"stop")
#开始停止ha-spark集群
for NODE in ${NODES[*]};do
echo "--------$NODE停止ha-spark集群"
if [ "hadoop01" = $NODE ];then
ssh $NODE "$SPARK_HOME/sbin/stop-all.sh && $SPARK_HOME/sbin/stop-history-server.sh"
fi
if [ "hadoop02" = $NODE ];then
ssh $NODE "$SPARK_HOME/sbin/stop-master.sh"
fi
done
#停止ha-hadoop集群以及zookeeper集群
$SHELL_HADOOP stop
;;
"status")
echo "--------查看ha-spark集群进程信息"
$SHELL_CALL jps
;;
*)
echo $USAGE
;;
esac
echo "----------------------------------------------------------------------------------------"
echo "--------ha-spark.sh脚本执行完成!--------"
echo -e "--------微信公众号:\033[5;31m 小康新鲜事儿 \033[0m--------"
echo "--------小康老师微信:k1583223--------"
echo "--------公众号内回复【大数据】,获取系列教程及随堂文档--------"
echo "----------------------------------------------------------------------------------------"
脚本下载地址:https://github.com/xiaokangxxs/notebook/blob/master/docs/Shell/ha-spark.sh
三、测试使用
# 修改脚本权限
[xiaokang@hadoop01 bin]$ chmod 777 ha-spark.sh
执行方式:
# 方式一
[xiaokang@hadoop01 bin]$ ./ha-spark.sh start
# 方式二
[xiaokang@hadoop01 bin]$ sh ha-spark.sh start
# 方式三
# 1.将shell脚本所在目录配置为环境变量(/etc/profile),记得source生效
export SHELL_HOME=/home/xiaokang/bin
export PATH=${JAVA_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:${ZOOKEEPER_HOME}/bin:${HIVE_HOME}/bin:${HBASE_HOME}/bin:${KYLIN_HOME}/bin:${KAFKA_HOME}/bin:${SCALA_HOME}/bin:${SCALA_HOME}/sbin:${SPARK_HOME}/bin:${SHELL_HOME}/:$PATH
# 2.在任意目录都可以使用自己编写的shell脚本
[xiaokang@hadoop01 ~]$ ha-spark.sh start
使用脚本进行启动和查看进程测试,成功如下图所示: