louzin
1 year ago
1 changed files with 43 additions and 0 deletions
@ -0,0 +1,43 @@
|
||||
#!/bin/bash |
||||
HIVE_LOG_DIR=$HIVE_HOME/logs |
||||
|
||||
mkdir -p $HIVE_LOG_DIR |
||||
|
||||
#检查进程是否运行正常,参数1为进程名,参数2为进程端口 |
||||
function check_process() |
||||
{ |
||||
pid=$(ps -ef 2>/dev/null | grep -v grep | grep -i $1 | awk '{print $2}') |
||||
ppid=$(netstat -nltp 2>/dev/null | grep $2 | awk '{print $7}' | cut -d '/' -f 1) |
||||
echo $pid |
||||
[[ "$pid" =~ "$ppid" ]] && [ "$ppid" ] && return 0 || return 1 |
||||
} |
||||
|
||||
function hive_start() |
||||
{ |
||||
metapid=$(check_process HiveMetastore 9083) |
||||
cmd="nohup hive --service metastore >$HIVE_LOG_DIR/metastore.log 2>&1 &" |
||||
cmd=$cmd" sleep 4; hdfs dfsadmin -safemode wait >/dev/null 2>&1" |
||||
[ -z "$metapid" ] && eval $cmd || echo "Metastroe服务已启动" |
||||
server2pid=$(check_process HiveServer2 10000) |
||||
cmd="nohup hive --service hiveserver2 >$HIVE_LOG_DIR/hiveServer2.log 2>&1 &" |
||||
[ -z "$server2pid" ] && eval $cmd || echo "HiveServer2服务已启动" |
||||
} |
||||
|
||||
function hive_stop() |
||||
{ |
||||
metapid=$(check_process HiveMetastore 9083) |
||||
[ "$metapid" ] && kill $metapid || echo "Metastore服务未启动" |
||||
server2pid=$(check_process HiveServer2 10000) |
||||
[ "$server2pid" ] && kill $server2pid || echo "HiveServer2服务未启动" |
||||
} |
||||
|
||||
case $1 in |
||||
"start") |
||||
hive_start |
||||
;; |
||||
"stop") |
||||
hive_stop |
||||
;; |
||||
"restart") |
||||
hive_stop |
||||
esac |
Loading…
Reference in new issue