永久添加蜂巢罐

时间:2015-08-04 07:13:54

标签: hadoop hive

有什么方法可以永久添加hive jar而不是在hive shell中添加会话级别?

任何帮助将不胜感激

4 个答案:

答案 0 :(得分:9)

在hiveserver2主机中,创建一个类似/ var / lib / hive的位置,并在该文件夹中添加所有必需的jar。编辑 hive-site.xml 并在属性中提及所有这些jar hive.aux.jars.path

例如: ADD JAR /home/amal/hive/amaludf.jar ADD JAR /home/amal/hive/amaludf2.jar

您可以为所有会话定义上述命令,而不是在每个会话中使用上述命令。

创建一个位置,用于在hiveserver主机中存储这些jar。

mkdir /var/lib/hive

将所有这些罐子添加到该目录

hive-site.xml

中设置属性
<property>
  <name>hive.aux.jars.path</name>
  <value>/var/lib/hive</value>
</property>

执行此修改后重新启动hiveserver2。

您可以指定单个罐子的路径,而不是创建目录并放置所有罐子。唯一的条件是所有这些罐子都应该存在于hiveserver主机中。

例如:

<property>
  <name>hive.aux.jars.path </name>
  <value>file:///home/amal/hive/udf1.jar,file:///usr/lib/hive/lib/hive-hbase-handler.jar</value>
</property>

答案 1 :(得分:0)

您必须将jar放在hadoop或hive的 lib 文件夹中 all 您的节点。

答案 2 :(得分:0)

这些可以通过两个步骤完成

  
      
  1. Hive客户端应该在所有节点中都可用。
  2.   
  3. Hive Live位置应在hadoop-env.sh CLASSPATH中定义,同一文件应在已退休的Hadoop Clueter中更新。
  4.   

{hadoop-env.sh应该使用hive的CLASSPATH和其他位置更新用户定义的自定义jar和整个群集中可用的公共位置}

你还需要重新启动hive / hadoop才能在更改后才能生效。

答案 3 :(得分:0)

在$ HIVE_HOME中创建名为auxlib的目录,将所有jar放入此目录中,然后重新启动配置单元服务器。运行ps -ef | grep hive来列出配置单元进程,搜索hive.aux.jars.path,您将看到所有jar都将针对该配置单元列出。