2017-08-23 42 views
0

在我們的HDFS集羣的其中一個邊緣節點上設置鑽取後,我無法讀取任何hdfs文件。我可以查詢從本地文件中的數據(只要它們是具有777級權限的文件夾中),但是從HDFS查詢數據失敗,出現以下錯誤:Apache Drill無法讀取HDFS文件(資源錯誤:無法創建模式樹)

Error: RESOURCE ERROR: Failed to create schema tree.

[Error Id: d9f7908c-6c3b-49c0-a11e-71c004d27f46 on server-name:31010] (state=,code=0)

查詢:

0: jdbc:drill:zk=local> select * from hdfs.`/names/city.parquet` limit 2; 

從查詢本地文件工作正常:

0: jdbc:drill:zk=local> select * from dfs.`/tmp/city.parquet` limit 2; 

我的HDFS設置類似於DFS的設置,除了連接URL是服務器地址,而不是文件:///

我無法在網上找到關於此鑽取錯誤的任何內容。

+0

您是否在drillbit日誌中看到任何信息?您可以使用$ DRILL_CONF/logback.xml啓用DEBUG級別日誌記錄。你也有模擬和身份驗證啓用?請包括您的drill-override.conf和存儲插件定義。 – InfamousCoconut

回答

1

「..on邊緣節點..之一」

鑽位是爲了Hadoop集羣的數據節點上,以及不僅對邊緣節點上運行。這將有助於數據局部性。

現在,看到您看到的錯誤,看起來您的一個鑽頭可能已關閉,或者您的工頭節點(您連接的那個)無法連接到其他節點。

如果您可以提供更多信息,例如您的羣集中有多少個鑽頭,它將會有所幫助。

一個很好的出發點應該是,檢查:

select * from sys.drillbits; 

這會告訴你哪些節點上/下。

+0

我正在嵌入式模式下運行鑽取,因此我只將它安裝在其中一個節點上。 運行該查詢也會返回相同的錯誤: 錯誤:資源錯誤:無法創建模式樹。 – user171943