0

当我使用 MapReduce 作为 Hive 背后的执行引擎时,我可以使用我的 defaultFS.impl 的备用后端。使用类似于以下的语法:

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

我想使用 Tez 执行引擎而不是 MapReduce,但不知道在哪里添加我的 shim 库(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 并重新启动了我的 Hive 服务器。我还添加了 hive-conf.xml 的辅助路径:

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

我想我需要加载类,但不确定如何在 Hive 中加载。在通用 hadoop 中,它加载了:

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

Hive 有什么等价物吗?

4

1 回答 1

1

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

IE

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

重启蜂巢

于 2017-09-07T04:52:38.403 回答