天天看點

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),mysqldump在backup之前會先進行flush table,但是由于那個long running query在導緻flush table一直在等待,進而導緻後來的所有操作都在waitingfor flushing table.

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

本文轉自MIKE老畢 51CTO部落格,原文連結:http://blog.51cto.com/boylook/1367256,如需轉載請自行聯系原作者

下一篇: 問題記錄