Apache Drill无法从HDFS读取文件(资源错误:无法创建架构树)

时间:2017-08-23 16:23:53

标签: hadoop apache-drill

在我们的HDFS集群的一个边缘节点上设置钻取后,我无法读取任何hdfs文件。我可以从本地文件中查询数据(只要它们位于具有777权限的文件夹中),但是从hdfs查询数据失败,并出现以下错误:

  

错误:RESOURCE 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是服务器地址而不是file:///

我无法在网上找到有关此错误的任何内容。

2 个答案:

答案 0 :(得分:1)

" ..在其中一个边缘节点上.."

钻取位也可以在Hadoop集群的数据节点上运行,而不仅仅是在边缘节点上运行。这将有助于数据本地化。

现在,遇到您所看到的错误,看起来您的某个钻头可能已关闭或您的工头节点(您连接的那个)无法连接到其他节点。

如果您可以提供有关群集中钻头数量的更多信息,那将会更有帮助。

一个好的起点应该是,检查:

select * from sys.drillbits;

这将告诉您哪些节点已启用/关闭。

答案 1 :(得分:0)

在Apache Drill的 conf 目录中,您需要将以下行添加到drill-override.conf文件中

drill.exec: {
cluster-id: "drillbits1",
zk.connect: "localhost:2181",
sys.store.provider.local.path="/mypath"
}

代替" / mypath"您需要提供系统的路径,其中钻取将保存存储插件。

https://community.mapr.com/thread/20905-re-help-with-error-resource-error-failed-to-create-schema-tree 您可以查看以上链接。