2015-09-07 106 views
1

我有一个oozie工作流程。我正在提交所有配置单元操作oozie中Hive操作的作业队列

<name>mapred.job.queue.name</name> 
<value>${queueName}</value> 

但是对于少数配置单元操作,启动的作业不在指定的队列中;它在默认队列中被调用。

请告诉我这个行为和解决方案背后的原因。

回答

5

A. Oozie细节 Oozie将“常规”Hadoop属性传播到“常规”MapReduce操作。

但对于Oozie在YARN中运行单个Mapper任务的其他类型的Action(Shell,Hive,Java等),它并不认为它是一个真正的MapReduce作业。因此,它使用不同组无证物业总是前缀oozie.launcher.例如,看看that post

所以你的情况的实际属性设置将oozie.launcher.mapred.job.queue.name

B. TEZ细节从HortonWorks documentation摘录:

例如,在蜂巢可以使用tez.queue.name财产 hive-site.xml指定用于Hive-on-Tez作业的队列。为了 分配蜂房上TEZ工作用“工程”队列,添加 以下属性蜂巢-site.xml中:

<property> <name>tez.queue.name</name> <value>engineering</value> </property> 
+0

要清楚:“常规” Hadoop的性能会传播到由Hive启动的任何MapReduce作业。但主Hive会话和任何以本地模式运行的作业将使用“启动器”属性(或默认的道具失败) –

+0

谢谢你的答案参孙!但即使在设置'oozie.launcher.mapred.job.queue.name'之后,作业仍在默认队列中运行。其实,我正在使用TEZ作为执行引擎。该物业是否未申请TEZ工作? – Anup

+0

好点。编辑答案。 –