如何按顺序运行配置单元查询

dwbf0jvd  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(416)

我已经准备好了 Cloudera Hue 并且有一个200 gib和16 gib ram的主节点集群,以及每个150 gib和8 gib ram的3个dat节点。
我有大小约70吉布的数据库。问题是当我试图从配置单元编辑器运行配置单元查询( HUE GUI ). 如果我提交5到6个查询(用于执行),作业将启动,但它们将挂起并且从不运行。如何按顺序运行查询。我的意思是,即使我可以提交查询,但新的查询应该只在上一个查询完成时开始。有没有办法让我一个接一个地运行查询?

nwsw7zdq

nwsw7zdq1#

hue提交了所有的查询,如果它们挂起,这意味着您可能在yarn中遇到了一个配置错误,比如gotcha#5http://blog.cloudera.com/blog/2014/04/apache-hadoop-yarn-avoiding-6-time-consuming-gotchas/

cvxl0en2

cvxl0en22#

通过使用“;”分隔查询,可以一次性运行所有查询色调。
例如:
查询1;查询2;查询3
在这种情况下,query1、query2和query3将依次运行

6vl6ewon

6vl6ewon3#

因此Yarn/mr2的整个流程如下
查询是从配置单元查询编辑器提交的
作业已启动,资源管理器将在其中一个datanode上启动应用程序主机
此应用程序主机向资源管理器请求资源(例如2*1gib/1核)
资源管理器将这些资源(称为节点管理器,然后运行map和reduce任务)提供给应用程序主机。
所以现在资源分配是由yarn处理的,在cloudera集群中,动态资源池(类似于队列)是作业提交的地方,然后由yarn为这些作业分配资源。默认情况下,最大并发作业数的值的设置方式是,资源管理器将所有资源分配给所有作业/应用程序主控程序,而不为任务容器留任何空间(这是在稍后阶段由应用程序主控程序运行任务所必需的)
http://www.cloudera.com/content/cloudera/en/resources/library/recordedwebinar/introduction-to-yarn-and-mapreduce-2-slides.html
因此,如果我们在hue-hive编辑器中提交大量的查询以供执行,它们将作为作业并发提交,并且为它们分配的应用程序主机将被分配资源不会为任务容器留下任何空间,因此所有作业都将处于挂起状态。
解决方案如上@romain所述
根据集群的大小和能力设置最大并发作业数的值。在我的例子中,它的值为4,现在只有4个作业将从池中并发运行,它们将由资源管理器分配资源。

相关问题