我正在使用 Hive / Hue / MapReduce和json Serde 。为了实现这一点,我将 json_serde.jar 复制到每个集群节点上的几个lib目录中:
在群集的每个CDH更新中,我必须再次这样做。 是否有更优雅的方式,群集中的分发会自动且抵制更新?
答案 0 :(得分:2)
如果使用 HiveServer2 (Cloudera 5.0+中的默认值),以下配置将在整个群集中运行,而无需将jar复制到每个节点。
在 hive-site.xml 配置文件中,或者如果您在" HiveServer2高级配置代码段(安全阀)中使用Cloudera Manager,的site.xml "配置框
<property>
<name>hive.aux.jars.path</name>
<value>/user/hive/aux_jars/hive-serdes-1.0-snapshot.jar</value>
</property>
然后在HDFS文件系统(/ user / hive / aux_jars)中创建目录并将jar文件放入其中。如果您正在运行HUE,则可以通过Web UI执行此部分,只需单击右上角的文件浏览器即可。
答案 1 :(得分:1)
这取决于Hue的版本以及使用Beeswax或HiveServer2:
Beeswax:HIVE_AUX_JARS_PATH
https://issues.cloudera.org/browse/HUE-1127
HiveServer2支持hive.aux.jars.path
中的hive-site.xml
属性。 HiveServer2不支持.hiverc
,而Hue正在考虑在某些时候提供等效内容:https://issues.cloudera.org/browse/HUE-1066