HIVE既然是運行在hadoop上,最後又被翻譯爲MapReduce程序,經過yarn來執行。因此咱們若是想解決HIVE中出現的錯誤,須要分紅幾個過程oop
2,3過程當中的錯誤,請參考hadoop相關的教程,這裏只是提醒你們思考的時候須要考慮到這兩個方面的緣由。搞清楚哪個過程出問題以後採起進一步分析。spa
/tmp/<user.name>文件夾的hive.log文件中,全路徑就是/tmp/當前用戶名/hive.log。翻譯
每一個job執行後都會產生Query ID,在hive.log中搜索關鍵字。確認時間一致後,以後的log就是當前job的信息。調試
Query ID = root_20171108160217_d51b321f-1902-4353-ae5b-2ebe5227f82f日誌
在默認的日誌級別狀況下,是不能將DEBUG信息輸出,這樣一來出現的各類詳細的錯誤信息都是不能數錯的。可是咱們能夠經過如下兩種方式修改log4j輸出的日誌級別,從而利用這些調試日誌進行錯誤定位,具體作法以下:code
$ hive --hiveconf hive.root.logger=DEBUG,console (hive啓動時用該命令替代)
或者在${HIVE_HOME}/conf/hive-log4j.properties文件中找到hive.root.logger屬性,並將其修改成下面的設置blog
hive.root.logger=DEBUG,console
具體如何查詢,就看本身了。教程