我尝试使用 ADD JAR hive-contrib-0.10.0.jar 命令在hive中添加hive-contrib-0.10.0.jar,但它总是说hive-contrib- 0.10.0.jar不存在。
我现在正在使用HDP 2.1版本。我还使用hue将此jar文件添加到/user/root
文件夹中并运行命令
ADD JAR hdfs:///hive-contrib-0.10.0.jar
但它给了我同样的错误jar file doesn't exist
。
有没有办法解决这个问题。 我应该在哪里保留这个jar文件,以便它能够成功运行以及将要使用的命令是什么?
答案 0 :(得分:4)
示例:
hadoop fs -put ~/Downloads/hive.jar /lib/
打开蜂巢壳
add jar hdfs:///lib/hive.jar
答案 1 :(得分:2)
如果您想永久添加罐子,您需要执行以下操作。 1. Hive-site.xml(/ etc / hive / conf)
<property>
<name>hive.aux.jars.path</name>
<value>file:///mnt1/hive-jars/hive-contrib-2.1.1.jar</value>
</property>
理想情况下,重启hive-server2后应该可以正常工作。 3. sudo stop hive-server2 4. sudo start hive-server2
但有时它不起作用。我不知道为什么你可以使用以下肮脏的方式。
将您的jar文件放在以下路径中,以便hive在重新启动时自动将其拾取。
答案 2 :(得分:1)
我发现您的方法存在以下问题。在添加之前,请确保您能够在本地文件系统或hdfs上列出文件。
您尝试添加的jar默认位于hive类路径中,作为$ HIVE_HOME / lib的一部分(在本地文件系统上安装了hive客户端/服务)
另一方面关于如何在hive中添加jar的问题,我们可以使用本地文件系统或hadoop分布式文件系统(HDFS)添加
Add jar file:///root/hive-contrib-0.10.0.jar (Given that you copied this jar on LFS root directory)
Add jar hdfs://<namenode_hostname>:8020/user/root/hive-contrib-0.10.0.jar (Given that you copied to HDFS root home)
答案 3 :(得分:1)
我已经阅读了上面这些非常有用的答案。我把所有这些结合在了一个解决方案中:
将jar放入本地磁盘并提供读/写权限
chmod -R 777 /tmp/json.jar
上传到hdfs文件系统并授予权限:
hdfs dfs -put /tmp/json.jar hdfs://1.1.1.1:8020/jars/
hdfs dfs -chmod -R 777 hdfs://1.1.1.1:8020/jars/
将jar添加到hive env中。
add jar hdfs://1.1.1.1:8020/jars/json.jar
答案 4 :(得分:0)