我已经设置了Cloudera Hue
并拥有一个200 Gib和16 Gib RAM的主节点集群以及每个150 Gib和8 Gib Ram的3个数据节点。
我的数据库大小为70 Gib。问题是当我尝试从hive编辑器(HUE GUI
)运行Hive查询时。如果我提交5到6个查询(执行),则会启动作业,但它们会挂起并且永远不会运行。如何按顺序运行查询。我的意思是即使我可以提交查询,但新查询只应在上一次完成时开始。有没有什么方法可以让我逐个查询?
答案 0 :(得分:1)
您可以一次性运行所有查询,并使用“;”将它们分开在HUE。
例如:
查询1; QUERY2; QUERY3
在这种情况下,query1,query2和query3将依次顺序运行
答案 1 :(得分:0)
Hue提交所有查询,如果它们挂起,则表示您可能在YARN中遇到错误配置,例如陷阱#5 http://blog.cloudera.com/blog/2014/04/apache-hadoop-yarn-avoiding-6-time-consuming-gotchas/
答案 2 :(得分:0)
所以YARN / MR2的整个流程如下
所以现在资源分配由YARN处理。在cloudera集群的情况下,动态资源池(队列类型)是提交作业的地方,然后由纱线为这些作业完成资源分配。默认情况下,最大并发作业的值设置为资源管理器将所有资源分配给所有作业/应用程序主服务器,不为任务容器留出空间(后续阶段需要应用程序主机运行任务)。 / p>
因此,如果我们在HUE Hive编辑器中提交大量查询以供执行,它们将同时作为作业提交,并为它们的应用程序主机分配资源,不为任务容器留出空间,因此所有作业都将处于挂起状态。 / p>
解决方案如上所述@Romain
根据群集的大小和功能,将并发作业的最大值设置为相应值。在我的情况下,它的价值为4 现在,只有4个作业将同时从池中运行,资源管理器将为它们分配资源。