Spark2.0.1 on yarn with hue 集群安装部署(九)启动脚本编写

启动脚本编写

1、创建文件夹

cd ~
mkdir bin

将执行脚本放置该文件夹内。

2、启动脚本start-hue-all.sh

#!/bin/bash
#to start hive metastore,livy,hive hiveserver2,hue


export HIVE_HOME=/bigdata/hive21
export SPAKR_HOME=/bigdata/spark
export HUE_HOME=/bigdata/hue
export LIVY_HOME=/bigdata/livy

#format the date
dateStr=$(date +"%Y-%m-%d")

#log dir and log file
#hive
hive_log_dir=/data/logs/hive210
hive_metastore_file=metastore.${dateStr}.out
hive_server_file=hiveserver2.${dateStr}.out

#hue
hue_log_dir=/data/logs/hue
hue_log_file=$hue_log_dir/hue.${dateStr}.out



#to start hive metastore
hivePid=$(jps | grep RunJar | awk '{print $1}')

if [ -z $hivePid ];then

if [ -d $hive_log_dir ];then
echo "hive metastore log file is exists"
else
mkdir -p ${hive_log_dir}
fi

if [ $? -eq 0 ];then
echo "hive metastore log to ${hive_log_dir}/${hive_metastore_file}"
nohup hive --service metastore > ${hive_log_dir}/${hive_metastore_file} 2>&1 &
else
echo "start hive metastore service error"
exit -1
fi

if [ $? -ne 0 ];then
echo "start hive metastore fail"
exit -1
fi

else
echo "hive metastore is running"
fi
#to start livy
livyPid=$(jps | grep LivyServer | awk '{print $1}')

if [ -z $livyPid ];then
#livy_log_dir=/data/logs/livy
#livy_log=${livy_log_dir}/livy.${dateStr}.out
#if [ -d $livy_log_dir} ];then
#echo "livy log file is exists"
#else
#mkdir -p ${livy_log_dir}
#fi

if [ $? -eq 0 ];then
#echo "livy log to ${livy_log}"
#nohup $LIVY_HOME/bin/livy-server >${livy_log} 2>&1 &
$LIVY_HOME/bin/livy-server start
else
echo "start livy fail"
exit -1
fi

if [ $? -ne 0 ];then
echo "start livy fail"
exit -1
fi

else
echo "livy is running"
fi

#to start spark thriftserver
#start_spark="$SPARK_HOME/sbin/start-thriftserver.sh --driver-class-path /bigdata/spark/sql/hive-thriftserver/target/mysql-connector-java-5.1.40-bin.jar"
#if [ $# -lt 1 ];then
#echo "start sparksql with-->$start_spark --master yarn --deploy-mode client"
#$start_spark --master yarn --deploy-mode client
#else
#echo "start sparksql with -->$start_spark $*"
#$start_spark $*
#fi

#to start hiveserver2
hiveserver2Pid=$(netstat -nltp | grep 10000 | awk '{print $7}')

if [ -z $hiveserver2Pid ];then


if [ -d $hive_log_dir ];then
echo "hive hiveserver2 log file is exists"
else
mkdir -p ${hive_log_dir}
fi

if [ $? -eq 0 ];then
echo "hive metastore log to ${hive_log_dir}/${hive_server_file}"
nohup hive --service hiveserver2 > ${hive_log_dir}/${hive_server_file} 2>&1 &
else
echo "start hive hiveserver2 service error"
exit -1
fi


if [ $? -ne 0 ];then
echo "start hiveserver2 fail"
exit -1
fi

else
echo "hiveserver2 is running"
fi


#to start hue
if [ -d $hue_log_dir ];then
echo "hue log to $hue_log_dir"
else
mkdir -p $hue_log_dir
fi

supervisorPid=$(ps -ef |grep $HUE_HOME/build/env/bin/supervisor|grep -v grep|awk '{print $2}')

if [ -z $supervisorPid ];then

start_hue="$HUE_HOME/build/env/bin/supervisor"

if [ $? -eq 0 ];then
echo "starting hue with:nohup $start_hue >${hue_log_file} 2>&1 &"
nohup $start_hue>${hue_log_file} 2>&1 &
else
echo "fail to start hue"
exit-1
fi

if [ $? -ne 0 ];then
echo "start hue fail"
exit -1
fi
else
echo "hue is running"
fi

echo "start hive metastore livy¡hive hiveserver2¡hue success"

3、暂停脚本stop-hue-all.sh

#!/bin/bash
#to stop hive metastore,hive hiveserver2,livy,hue

#sparkSqlServer="$SPARK_HOME/sbin/stop-thriftserver.sh"

export HUE_HOME=/bigdata/hue
export LIVY_HOME=/bigdata/livy

#to stop hue
pidInfo=$(netstat -nltp | grep 8888 | awk '{print $7}')
pid=${pidInfo%/*}
supervisorPid=$(ps -ef |grep $HUE_HOME/build/env/bin/supervisor|grep -v grep|awk '{print $2}')

if [ -z $supervisorPid ];then
echo "no supervisor to stop"
else
echo "stop supervisor"
kill -9 $supervisorPid
fi

if [ -z $pid ];then
echo "no hue running"
else
echo "stop hue"
kill -9 $pid
fi

if [ $? -ne 0 ];then
echo "fail to stop hue"
exit -1
fi

#to stop livy
livyPid=$(jps | grep LivyServer | awk '{print $1}')
if [ -z $livyPid ];then
echo "no livyserver running"
else
echo "to stop livyserver"
$LIVY_HOME/bin/livy-server stop
fi

if [ $? -ne 0 ];then
echo "fail to stop livyserver"
exit -1
fi

#to stop hiveserver2
hiveserver2PidStr=$(netstat -nltp | grep 10000 | awk '{print $7}')
hiveserver2Pid=${hiveserver2PidStr%/*}
if [ -z $hiveserver2Pid ];then
echo "no hiveserver2 to stop"
else
echo "to stop hiveserver2"
kill -9 $hiveserver2Pid
fi

if [ $? -ne 0 ];then
echo "fail to stop hiveserver2"
exit -1
fi

#to stop metastore
hivePidStr=$(netstat -nltp | grep 9083 | awk '{print $7}')
hivePid=${hivePidStr%/*}
if [ -z $hivePid ];then
echo "no hive metastore to stop"
else
echo "to stop hive metastore service"
kill -9 $hivePid
fi

if [ $? -ne 0 ];then
echo "fail to stop hive metastore service"
exit -1
fi

#to stop spark thriftserver
#sparkSqlInfo=$(netstat -nltp | grep 10000 | awk '{print $7}')
#if [ -z $sparkSqlInfo ];then
#echo "no sparksql server running"
#else
#$sparkSqlServer
#fi

echo "stop success"

4、start-metastore.sh

#!/bin/bash

#this shell just to start metastore server

export HIVE_HOME=/bigdata/hive

#format the date
dateStr=$(date +"%Y-%m-%d")

#log dir and log file
#hive
hive_log_dir=/data/logs/hive
hive_metastore_file=metastore.${dateStr}.out

#to start hive metastore
hivePid=$(jps | grep RunJar | awk '{print $1}')

if [ -z $hivePid ];then

if [ -d $hive_log_dir ];then
echo "hive metastore log file is exists"
else
mkdir -p ${hive_log_dir}
fi

if [ $? -eq 0 ];then
echo "hive metastore log to ${hive_log_dir}/${hive_metastore_file}"
nohup hive --service metastore > ${hive_log_dir}/${hive_metastore_file} 2>&1 &
else
echo "start hive metastore service error"
exit -1
fi

if [ $? -ne 0 ];then
echo "start hive metastore fail"
exit -1
fi

else
echo "hive metastore is running"
fi

5、stop-metastore.sh

#!/bin/bash
#this shell just to stop metastore server

#to stop metastore
hivePidStr=$(netstat -nltp | grep 9083 | awk '{print $7}')
hivePid=${hivePidStr%/*}
if [ -z $hivePid ];then
echo "no hive metastore to stop"
else
echo "to stop hive metastore service:kill -9 $hivePid"
kill -9 $hivePid
fi

if [ $? -ne 0 ];then
echo "fail to stop hive metastore service"
exit -1
fi

echo "stop hive metastore success"                                

6、start-hiveserver2.sh

#!/bin/bash

#this shell just to start hiveserver2

export HIVE_HOME=/bigdata/hive

#format the date
dateStr=$(date +"%Y-%m-%d")

#log dir and log file
#hive
hive_log_dir=/data/logs/hive
hive_server_file=hiveserver2.${dateStr}.out

#to start hiveserver2
hiveserver2Pid=$(netstat -nltp | grep 10000 | awk '{print $7}')

if [ -z $hiveserver2Pid ];then


if [ -d $hive_log_dir ];then
echo "hive hiveserver2 log file is exists"
else
mkdir -p ${hive_log_dir}
fi

if [ $? -eq 0 ];then
echo "hive metastore log to ${hive_log_dir}/${hive_server_file}"
nohup hive --service hiveserver2 > ${hive_log_dir}/${hive_server_file} 2>&1 &
else
echo "start hive hiveserver2 service error"
exit -1
fi


if [ $? -ne 0 ];then
echo "start hiveserver2 fail"
exit -1
fi

else
echo "hiveserver2 is running"
fi

7、stop-hiveserver2.sh

#!/bin/bash

#this shell just to stop hiveserver2


#to stop hiveserver2
hiveserver2PidStr=$(netstat -nltp | grep 10000 | awk '{print $7}')
hiveserver2Pid=${hiveserver2PidStr%/*}
if [ -z $hiveserver2Pid ];then
echo "no hiveserver2 to stop"
else
echo "to stop hiveserver2"
kill -9 $hiveserver2Pid
fi

if [ $? -ne 0 ];then
echo "fail to stop hiveserver2"
exit -1
fi

8、start-thritfserver.sh

#!/bin/bash

#this shell just to start spark thriftserver

export SPARK_HOME=/bigdata/spark
#to start spark thriftserver
serverPid=$(netstat -nltp | grep 10008 | awk '{print $7}')

if [ -z $serverPid ];then
start_spark="$SPARK_HOME/sbin/start-thriftserver.sh"

if [ $# -lt 1 ];then
echo "start sparksql with-->$start_spark --master yarn --deploy-mode client"
$start_spark --master yarn --deploy-mode client
else
echo "start sparksql with -->$start_spark $*"
$start_spark $*
fi

if [ $? -ne 0 ];then
echo "start thriftserver fail"
exit -1
else
echo "start hiveserver2 is success"
fi

else
echo "10000 port is using,please stop it first"
fi

9、stop-thriftserver.sh

#!/bin/bash

#this shell just to stop spark thriftserver

export SPARK_HOME=/bigdata/spark
#to stop spark thriftserver

sparkSqlInfo=$(netstat -nltp | grep 10000 | awk '{print $7}')

if [ -z $sparkSqlInfo ];then
 echo "no sparksql server running"
else
 $SPARK_HOME/sbin/stop-thriftserver.sh
 if [ $? -ne 0 ];then
   echo "to stop spark thriftserver fail"
 else 
   echo "to stop spark thriftserver success"
 fi

10、start-livy.sh

#!/bin/bash

#this shell just to start livy server

export LIVY_HOME=/bigdata/livy
#to start livy
livyPid=$(jps | grep LivyServer | awk '{print $1}')

if [ -z $livyPid ];then
if [ $? -eq 0 ];then
$LIVY_HOME/bin/livy-server start
else
echo "start livy fail"
exit -1
fi

if [ $? -ne 0 ];then
echo "start livy fail"
exit -1
fi

else
echo "livy is running"
fi

11、stop-livy.sh

#!/bin/bash

#this shell just to stop livy server

export LIVY_HOME=/bigdata/livy
#to stop livy
livyPid=$(jps | grep LivyServer | awk '{print $1}')
if [ -z $livyPid ];then
echo "no livyserver running"
else
echo "to stop livyserver"
$LIVY_HOME/bin/livy-server stop
fi

if [ $? -ne 0 ];then
echo "fail to stop livyserver"
exit -1
fi

echo "stop livy server success"

12、start-hue.sh

#!/bin/bash

#this shell just to start hue server

export HUE_HOME=/bigdata/hue

#hue
hue_log_dir=/data/logs/hue
hue_log_file=$hue_log_dir/hue.${dateStr}.out

#to start hue
if [ -d $hue_log_dir ];then
echo "hue log to $hue_log_dir"
else
mkdir -p $hue_log_dir
fi

supervisorPid=$(ps -ef |grep $HUE_HOME/build/env/bin/supervisor|grep -v grep|awk '{print $2}')

if [ -z $supervisorPid ];then

start_hue="$HUE_HOME/build/env/bin/supervisor"

if [ $? -eq 0 ];then
echo "starting hue with:nohup $start_hue >${hue_log_file} 2>&1 &"
nohup $start_hue>${hue_log_file} 2>&1 &
else
echo "fail to start hue"
exit-1
fi

if [ $? -ne 0 ];then
echo "start hue fail"
exit -1
fi

else
echo "hue is running"
fi

13、stop-hue.sh

#!/bin/bash

#this shell just to stop hue server

export HUE_HOME=/bidata/hue
#to stop hue
pidInfo=$(netstat -nltp | grep 8888 | awk '{print $7}')
pid=${pidInfo%/*}
supervisorPid=$(ps -ef |grep $HUE_HOME/build/env/bin/supervisor|grep -v grep|awk '{print $2}')

if [ -z $supervisorPid ];then
echo "no supervisor to stop"
else
echo "stop supervisor:kill -9 $supervisorPid"
kill -9 $supervisorPid
fi

if [ -z $pid ];then
echo "no hue running"
else
echo "stop hue:kill -9 $pid"
kill -9 $pid
fi

if [ $? -ne 0 ];then
echo "fail to stop hue"
exit -1
fi

echo "stop hue server success"

14、根据每个服务编写启动和停止脚本

start-hiveserver2.sh 启动hiveserver2服务
stop-hiveserver2.sh 停止hiveserver2服务
start-metastore.sh 启动metastore服务
stop-metastore.sh 停止metastore服务
start-livy.sh 启动livy服务
stop-livy.sh 停止livy服务
start-hue.sh 启动hue服务
stop-hue.sh 停止hue服务
start-thriftserver.sh 启动sparksqlserver服务
stop-thriftserver.sh 停止sparksqlserver服务
对应修改各个脚本的export的HOME目录已经log的位置即可使用

15、设置脚本权限

chmod 744 *.sh


欢迎拍砖,能力有限,相互学习,相互进步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值