是否有Hed on Hue(CDH 5.9.3)的配置设置限制了可以使用的容器数量?

时间:2017-10-12 18:28:58

标签: hadoop hive hue

这是我们小组中的一个普遍问题,我们的Hive查询经常扩展到消耗大多数可用的YARN执行程序和CDH集群上的内存。虽然潜在的问题在于我们表中的分区数量以及连接的复杂性,但我们无法自由地重建这些表。我们可以通过配置spark.dynamicAllocation.maxExecutors和spark.executor.memory来控制Spark中的资源消耗。我们可以在Hue上使用类似的东西,以便Hue能够与群集中的其他工作“很好地”发挥作用吗?

2 个答案:

答案 0 :(得分:1)

是的,您可以通过Hue启动的Hive查询更好地管理正在使用的Hadoop群集计算资源的数量。

为此,您需要先配置YARN调度程序队列;对于Cloudera的CDH发行版,这些称为动态资源池

您可以在CDH Documentation

中详细了解此主题

为Hue启动的,半交互式的Hive查询配置了一个池后,您可以通过为{{1}的值传递资源池名称来指示Hive到此池以进行单个查询。 }键。

让我们假装我们的队列名称为mapred.job.queue.name。我们会在HiveQL查询语句之前添加这个interactive.hive_queue语句:

SET

您可能需要更新Hue配置hue.ini以允许您的Hue用户传递此配置值

参考:HiveQL Language Manual

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

参考:hiveserver2.py

(这假设你正在为你的Hive查询使用mapreduce(mr2)执行引擎)

如果要更改所有Hive查询的队列,可以通过更改Hive Server2配置SET mapred.job.queue.name=interactive.hive_queue; 来完成此操作。这种变化看起来像:

hive-site.xml

答案 1 :(得分:0)

Hue是一个用户界面,无法控制Hive使用的资源数量。这由YARN通过调度策略控制。对于CDH群集,通常使用公平调度程序。

http://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/FairScheduler.html

您应该查看以下内容,了解有关如何进行此设置的一些背景信息。