启动脚本编写
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
欢迎拍砖,能力有限,相互学习,相互进步