2017-09-07 7 views
0

MapReduceをHiveの背後にある実行エンジンとして使用すると、私はdefaultFS.implに代替バックエンドを使用することができます。似た構文を使用:Tezに別のHDFSバックエンドをサポートするライブラリを追加するにはどうしたらいいですか?

LOCATION 'protocol://address:port/dir';

私が代わりのMapReduceのTEZ実行エンジンを使用したいのですが、TEZを認識するためには、私のシムライブラリ(jarファイル)を追加する場所を把握することはできません

私新しいプロトコル。

これらはどのディレクトリにありますか? tez-site.confにディレクティブを追加する必要がありますか?

追加入力:

Vertex failed, vertexName=Map 6, 
vertexId=vertex_1504790331090_0003_1_01, diagnostics=[Vertex 
vertex_1504790331090_0003_1_01 [Map 6] killed/failed due 
to:ROOT_INPUT_INIT_FA 
ILURE, Vertex Input: item initializer failed, 
vertex=vertex_1504790331090_0003_1_01 [Map 6], 
java.lang.RuntimeException: java.lang.ClassNotFoundException: Class 
org.apache. 
hadoop.fs.nfs.NFSv3FileSystem not found 
    at 
org.apache.hadoop.conf.Configuration.getClass(Configuration.java:2241) 
    at   org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2780) 
    at  org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2793) 
    at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:99) 
    at  org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2829) 
    at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2811) 
    at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:390) 
    at org.apache.hadoop.fs.Path.getFileSystem(Path.java:295) 
    at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.generateSplitsInfo(OrcInputFormat.java:1227) 
    at org.apache.hadoop.hive.ql.io.orc.OrcInputFormat.getSplits(OrcInputFormat.java:1285) 
    at org.apache.hadoop.hive.ql.io.HiveInputFormat.addSplitsForGroup(HiveInputFormat.java:307) 
    at org.apache.hadoop.hive.ql.io.HiveInputFormat.getSplits(HiveInputFormat.java:409) 
    at org.apache.hadoop.hive.ql.exec.tez.HiveSplitGenerator.initialize(HiveSplitGenerator.java:155) 
    at org.apache.tez.dag.app.dag.RootInputInitializerManager$InputInitializerCallable$1.run(RootInputInitializerManager.java:273)..... 

Iは、/ usr/HDP // hiveserver2/libにに私のNFSコネクタのjarファイルを追加し、私のハイブサーバを再起動しました。私はまた、-conf.xmlをハイブにAUXパスを追加しました:

<property> 
    <name>hive.aux.jars.path</name> 
    <value>file:///netappnfs/hadoop-nfs-connector-2.0.0.jar</value> 
</property> 

私はクラスをロードする必要があると思うが、ハイブにそうするかどうかはわかりません。一般的なhadoopには、次のものがロードされています:

 <name>fs.AbstractFileSystem.nfs.impl</name> 
    <value>org.apache.hadoop.fs.nfs.NFSv3AbstractFilesystem</value> 

ハイブに相当するものはありますか?

答えて

1

Hive-site.xml(/ etc/hive/conf)にjarの詳細を追加します。

property> 
    <name>hive.aux.jars.path</name> 
    <value>file:///location/fle.jar</value> 
</property> 

すなわち再起動ハイブ

+0

はHDFS互換性のあるファイルシステムのための新しいプロトコルを認識するために、追加が必要ですか? – jscott

+0

私はハイブバージョンだけが互換性があるはずだとは思わない。 –

+0

私はまだ見ているエラーで私の元の質問を修正するつもりです。 – jscott

関連する問題