1、首先打開 hive DEBUG日志,執行以下命令,直接將日志輸出到控制台
hive --hiveconf hive.root.logger=DEBUG,console
2、我們知道HIVE啟動過程中,首先會先連接hive metastore,然后在連接HDFS namenode,我們可以根據日志時間點來判斷和排查哪一步執行時間過長導致。
3、如果是hive metastore 連接過慢,我們可以登錄到metastore機器上,通過執行如下命令來確認現在metastore的連接數
netstat -apn | grep 端口號 | wc -l
4、如果發現是metestore連接數過多則可以進行重啟
特別需要注意的是:HiveServer2的長連接。
5、如果是namenode連接時間過長,我們需要檢查NameNode的日志和狀態,確保主namenode為active狀態且服務正常,如果服務異常,比如發生了主備切換,則需要切換回來,
hdfs haadmin -failover 備 主
如果使用failover出現超時,則大概率是因為合並editlog, fsimage耗時非常久,直接導致active nn異常退出,所以通過直接kill掉active nn來實現切換。