尚硅谷大数据技术之Hive.docx
编辑启动脚本vim $HIVE_HOME/bin/hiveservices.sh
添加执行权限chmod +x $HIVE_HOME/bin/hiveservices.sh
#!/bin/bashHIVE_LOG_DIR=$HIVE_HOME/logsif [ ! -d $HIVE_LOG_DIR ]thenmkdir -p $HIVE_LOG_DIRfi#检查进程是否运行正常,参数 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 &"[ -z "$metapid" ] && eval $cmd || echo "Metastroe 服务已启动"server2pid=$(check_process HiveServer2 10000)cmd="nohup 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_stopsleep 2hive_start;;"status")check_process HiveMetastore 9083 >/dev/null && echo "Metastore 服务运行正常" || echo "Metastore 服务运行异常"check_process HiveServer2 10000 >/dev/null && echo "HiveServer2 服务运行正常" || echo "HiveServer2 服务运行异常";;*)echo Invalid Args!echo 'Usage: '$(basename $0)' start|stop|restart|status';;esac
常用命令
启动beeline客户端:bin/beeline -u jdbc:hive2://hadoop102:10000 -n lhd
若启动失败则执行:rm -rf /tmp/*
| bin/hive -e “sql 语句” | 不进入客户端执行sql语句 |
|---|---|
| bin/hive -f “hive.sql” | 执行hive.sql文件里面的sql语句 |
| dfs -ls /; | 查看hdfs文件系统 |
| cat .hivehistory | 查看历史执行命令 |
| dfs -ls /; | 查看历史执行语句 |
