2017-08-23 5 views
0

HDFSクラスタのエッジノードの1つにドリルを設定した後、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の設定ではなく、ファイルのサーバーのアドレスであること接続URLを除き、DFSの設定に似ています:///

ドリルでこのエラーに関するオンラインが見つかりません。 「エッジ・ノードの1 ..on ..」

+0

ドリルビットログには何か有益な情報がありますか? $ DRILL_CONF/logback.xmlを使用してDEBUGレベルのログを有効にすることができます。また、偽装と認証を有効にしていますか? drill-override.confとストレージプラグインの定義も含めてください。 – InfamousCoconut

答えて

1

ドリルビットがないだけで、エッジノードで、同様にあなたのHadoopクラスタのデータノード上で実行するように意図されています。これは、データの局所性に役立ちます。

エラーが発生しました。あなたのドリルビットがダウンしているか、または勤務先ノード(接続しているノード)が他のノードに接続できないようです。

さらに、ドリルビットの数などの情報をクラスタに追加することができれば、さらに役立ちます。

良い出発点は、あるべきチェックする:

select * from sys.drillbits; 

これは、アップ/ダウンしているノードを教えてくれます。 Apacheのドリルのごのconfディレクトリで

+0

私は組み込みモードでドリルを実行しているので、ノードの1つにしかインストールしていません。 このクエリを実行すると、同じエラーが返されます。 エラー:リソースエラー:スキーマツリーの作成に失敗しました。 – user171943

0

、あなたはドリル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 上記のリンクを確認することができます。

関連する問題