附錄 B - Impala 故障排除(翻譯)

附錄 B - Impala 故障排除

使用如下步驟診斷與調試 Impala 各個方面的問題: html

一般來講,假如在 Impala 中查詢執行失敗,能夠在 Hive 裏再試着運行一下。 web

  • 假如查詢在 Impala 和 Hive 裏都運行失敗,這通常是由於你的查詢有問題或者你的環境有問題:
    • 檢查 Language Reference 確認你的查詢沒問題
    • 檢查 Impala 全部日誌的內容,可能有對肯定問題來源有幫助
  • 假如在 Impala 中失敗而 Hive 中成功,一般是由於你 的 Impala 安裝有問題

下表中列出了常見問題和可能的解決辦法: sql

現象 shell

解釋 瀏覽器

建議 服務器

錶鏈接失敗(Joins fail to complete) oop

多是內存不足。當執行鏈接操做時,待鏈接的全部數據集合中的全部數據都被載入到內存中。數據集可能很是大,h 測試

Add more memory to your system or join smaller data sets. ui

查詢返回結果不正確(Queries return incorrect results) spa

Impala 元數據多是過時的

按照 語言手冊裏的 REFRESH 語法來刷新 Hive 元數據

查詢返回結果慢(Queries are slow to return results)

一些 impalad 實例可能沒啓動。使用瀏覽器登陸到運行 Impala state store 的主機,訪問地址是:http://hostname:port/metrics。

  注意:替換上面的主機名和端口號爲你運行 Impala state store 服務的主機名以及 web 服務器端口。端口默認是25010。
頁面上列出的 impalad 實例的個數應當與集羣中安裝的 impalad 實例的個數一致。每一個數據節點上都應當安裝 impalad 實例。

確認全部數據節點上都安裝了 Impala。啓動全部沒運行的 impalad 實例

查詢返回結果慢(Queries are slow to return results)

Impala 可能沒有配置使用本地校驗。本地校驗使用機器特定的方法計算 HDFS 數據的校驗和,很是快速(Native checksumming uses machine-specific instructions to compute checksums over HDFS data very quickly)。檢查 Impala l日誌,假如發現 "INFO util.NativeCodeLoader: Loaded the native-hadoop" 信息,則沒有啓用本地校驗。

參照 Impala 安裝後配置,確保 Impala 使用本地校驗

查詢返回結果慢(Queries are slow to return results)

Impala 可能沒有配置使用數據位置跟蹤(data locality tracking)。

參照 Impala 安裝後配置,測試 Impala 是否啓用數據位置跟蹤,必要時啓用

嘗試完成 Impala 任務如執行 INSERT-SELECT 操做失敗。Impala  日誌中提示文件由於權限拒絕沒法打開

這多是權限問題形成的。例如,你可能以 hive 用戶使用 Hive shell 建立了一個表。表建立以後,你可能嘗試執行其餘操做,例如向表中 INSERT-SELECT 數據。由於這個表使用 hive 用戶建立的,而執行 INSERT-SELECT 操做的是另一個用戶,這一操做可能會由於權限問題而失敗。

一般應確保 Impala 用戶有足夠的權限。在以前的例子裏,確保 Impala 用戶對 Hive 用戶建立的表有足夠的權限。

相關文章
相關標籤/搜索