hive元数据和hiveserver2启动脚本
鉴于在网上找了个现成的脚本hive元数据和hiveserver2的启动脚本bug不断,脚本不全,老是启动失败,所以不在偷懒重新整理如下,亲测可正常运行。
#!/bin/bash HIVE_LOG_DIR=$HIVE_HOME/logs if [ ! -d $HIVE_LOG_DIR ] then mkdir -p $HIVE_LOG_DIR fi if [ $# -lt 1 ] then echo "Usage: $0{start|stop|status}" exit fi case $1 in start){ log_metastore="$HIVE_LOG_DIR/hivemetastore_$(date +%Y_%m_%d).log"; log_hiveserver2="$HIVE_LOG_DIR/hiveserver2_$(date +%Y_%m_%d).log"; echo "[info]------start metastore..." metastore_id=$(ps -ef | grep -i metastore | grep -v grep | awk {print $2}) if [ $metastore_id ];then echo "[info]------metastore已经运行!" else nohup hive --service metastore -p 9083 >> $log_metastore 2>&1 & echo "[info]------metastore启动成功啦!" fi sleep 3 echo "[info]------start hiveserver2..." hiveserver2_id=$(ps -ef | grep -i hiveserver2 | grep -v grep | awk {print $2}) if [ $hiveserver2_id ];then echo "[info]------hiveserver2已经运行!" else nohup hiveserver2 >> $log_hiveserver2 2>&1 & echo "[info]------hiveserver2启动成功啦!" fi };; stop){ echo "[info]------stop metastore" metastore_id=$(ps -ef | grep -i metastore | grep -v grep | awk {print $2}) if [ $metastore_id ];then kill -9 $metastore_id k=$? if [ $k -eq 0 ]; then echo "[info]------metastore停止成功啦!" else echo "[info]------metastore停止失败啦!" fi else echo "[info]------metastore没有运行!" fi sleep 3 echo "[info]------stop hiveserver2" hiveserver2_id=$(ps -ef | grep -i hiveserver2 | grep -v grep | awk {print $2}) if [ $hiveserver2_id ];then kill -9 $hiveserver2_id k=$? if [ $k -eq 0 ];then echo "[info]------hiveserver2停止成功啦!" else echo "[info]------hiveserver2停止失败啦!" fi else echo "[info]------hiveserver2没有运行!" fi };; status){ echo "[info]------check metastore status" metastore_id=$(ps -ef | grep -i metastore | grep -v grep | awk {print $2}) if [ $metastore_id ];then echo "[info]------正在运行,进程号:$metastore_id" else echo "[info]------metastore没有运行!" fi echo "[info]------check hiveserver2 status" hiveserver2_id=$(ps -ef | grep -i hiveserver2 | grep -v grep | awk {print $2}) if [ $hiveserver2_id ];then echo "[info]------正在运行,进程号:$hiveserver2_id" else echo "[info]------hiveserver2没有运行!" fi };; *) echo "Usage: $0{start|stop|status}" exit ;; esac
运行结果如下:
上一篇:
JS实现多线程数据分片下载
下一篇:
Hadoop集群开机自启动脚本