審計日志
首先,對于審計日志來說,記錄了某個時間點某個用戶從哪個IP發起對HiveServer或者MetaStore的請求以及記錄執行的語句是什么。
如下的HiveServer審計日志,表示在2016-02-01 14:51:22 用戶user_chen向HiveServer發起了show tables請求,客戶端IP為192.168.1.18。
如下面MetaStore審計日志,表示在2016-01-29 11:31:15 用戶hive向MetaStore發起shutdown請求,客戶端ip為192.168.1.18。
通常情況下,審計日志對我們定位實際錯誤信息并無太大幫助。但在遇到諸如下述類問題時,需要查看審計日志:
如客戶端發起請求,但是遲遲未得到響應。由于不確定到底是任務是卡在客戶端還是服務端,可以通過審計日志查看。如果審計日志根本沒有相關信息,那么說明卡死在客戶端;如審計日志有相關打印,那么就需要去運行日志里看到底程序卡在哪一步了。
查看指定時間段的任務請求個數。可通過審計日志查看在指定時間段到底有多少個請求。
HiveServer運行日志
簡言之,HiveServer負責接收客戶端請求(SQL語句),然后編譯、執行(提交到YARN或運行local MR)、與MetaStore交互獲取元數據信息等。HiveServer運行日志記錄了一個SQL完整的執行過程。
通常情況下,當我們遇到SQL語句運行失敗,我們首先要看的就是HiveServer運行日志。
MetaStore運行日志
通常情況下,當我們遇到查看HiveServer運行日志時,如遇到MetaException或者連接MetaStore失敗,我們就需要去看MetaStore運行日志了。
GC日志查看
HiveServer和MetaStore均有GC日志,當我們遇到GC問題可以查看GC日志以快速定位是否是GC導致。如,當遇到HiveServer或MetaStore頻繁重啟就需要去看下對應的GC日志了。