如何向Tez添加额外的库来支持不同的HDFS后端?

问题描述:

当我使用MapReduce作为Hive后面的执行引擎时,我可以使用备用后端到我的defaultFS.impl。使用类似的语法:如何向Tez添加额外的库来支持不同的HDFS后端?

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

我想用TEZ执行引擎,而不是MapReduce的,但不能揣摩出加我垫片库(JAR文件),以便TEZ认识我新协议。

这些进入哪个目录?我需要将指令添加到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)..... 

我已经添加了我的NFS连接器jar文件到/ usr/HDP // hiveserver2/lib和重新启动我的蜂巢服务器。我还添加了辅助路径蜂房conf.xml中:

<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> 

Hive是否有任何等价物?

将jar详细信息添加到Hive-site.xml(/ etc/hive/conf)。

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

重启蜂巢

+0

是否有额外需要认识到HDFS兼容的文件系统的新协议? – jscott

+0

我不认为只有蜂巢版本应该兼容。 –

+0

我将用我仍然看到的错误修改我的原始问题。 – jscott