Hive hang without response

前些天Hive查詢的接口一直超時報警,登錄上去查看發現這個超時報警的曲線很有規律,每個小時開始就出現,過了大約3分鐘左右就好了.在這個期間裏,也發現hive根本就執行不了,完全hang住了,機器負載,HDFS,Jobtracker的負載響應都完全正常!

立刻查看下日誌發現幾點:

1.對比其他時間的同一個job發現兩個時間點的上傳job文件到hdfs以及mapreduce的執行時間完全一致,也就是說排除了hdfs,jobtracker的問題

2.出問題時,hive的執行基本阻塞在Initialized ObjectStore部分

那麼基本猜想就是MySQL出問題了,查看MySQL的監控日誌發現果然每到這個時間點都會出現highsession,找到一個時間點用percona的工具分析了一下slow log發現了最終的元兇:

   原來是每個整點都會執行一次backup,但是在backup之前會有一個分析的query也在跑(cron)mysqldumpbackup之前會先進行flush table,但是由於那個long running query在導致flush table一直在等待,從而導致後來的所有操作都在waitingfor flushing table.

找到原因就好辦了,把備份遷移到從庫,另外優化那個long running query,解決.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章