2017-10-12 191 views
1

这是我们组中的一个普遍问题,我们的Hive查询经常会扩展,以占用我们CDH群集上大多数可用的YARN执行程序和内存。虽然底层问题出在我们表格的分区数量和连接的复杂性上,但我们不能自由地重建这些表格。我们可以通过配置spark.dynamicAllocation.maxExecutors和spark.executor.memory来控制Spark中的资源消耗。我们可以在Hue上使用类似的东西,这样Hue能够与群集上的其他作业“发挥出色”吗?是否有Hive on Hue(CDH 5.9.3)的配置设置限制可以使用的容器数量?

回答

0

是的,你可以更好地管理的Hadoop集群的计算资源量从Hue -launched Hive查询使用。

为了做到这一点,您需要先配置YARN调度程序队列;对于Cloudera的CDH分布,这些被称为动态资源池

您可以了解更多有关此主题的CDH Documentation

一旦配置供您色相推出,半互动,蜂巢查询池内,可以通过为mapred.job.queue.name密钥的值传递资源池名称来指示Hive通过此池访问单个查询。

假设我们的队列名称为interactive.hive_queue。我们HiveQL查询语句之前,我们会在前面加上这个SET声明:

SET mapred.job.queue.name=interactive.hive_queue; 

您可能需要更新您的顺化配置hue.ini,以允许通过您的色相的用户通过这个配置值

参考:HiveQL Language Manual

您还应该能够为Hue创建一个已保存的Hive配置,以便始终为您的Hue启动的Hive查询使用此YARN队列。

参考:hiveserver2.py

(假设您正在使用的MapReduce(MR2)执行引擎为您的蜂巢查询)

如果你想改变你所有的蜂巢查询的队列中,你可以做这通过更改Hive Server2配置hive-site.xml。这种变化看起来像:

<property> 
    <name>mapreduce.job.queuename</name> 
    <value>interactive.hive_queue</value> 
</property> 
相关问题