如何删除YARN中的队列?

时间:2017-03-03 22:49:18

标签: hadoop apache-spark yarn capacity

我在yarn配置文件中看到了一个我要删除的队列:

<property>
  <name>yarn.scheduler.capacity.root.queues</name>
  <value>a,b,c</value>
  <description>The queues at the this level (root is the root queue).
  </description>
</property>

<property>
  <name>yarn.scheduler.capacity.root.a.queues</name>
  <value>a1,a2</value>
  <description>The queues at the this level (root is the root queue).
  </description>
</property>

<property>
  <name>yarn.scheduler.capacity.root.b.queues</name>
  <value>b1,b2,b3</value>
  <description>The queues at the this level (root is the root queue).
  </description>
</property>

说我要删除队列c。我从c行下的列表中删除了<name>yarn.scheduler.capacity.root.queues</name>,以便该行看起来像这样:

<value>a,b,c</value>

然后我转到命令行并运行yarn rmadmin -refreshQueues

但是我收到以下错误消息:

Caused by java.io.IOException: c cannot be found during refresh!`

我正在尝试删除队列c。我该如何删除它?

我注意到here它说

  

注意:无法删除队列,只添加新队列   支持 - 更新的队列配置应该是有效的,即   每个级别的队列容量应该等于100%。

...那么,如果我不再需要它,如何删除队列呢?

感谢。

2 个答案:

答案 0 :(得分:2)

从该页面开始:

  

管理员可以在运行时添加其他队列,但无法在运行时删除队列。

听起来你无法在运行时删除,但是你可以停止/终止YARN,更新配置文件(并删除c)并使用新配置运行YARN。所以,如果你能负担得起停止/启动YARN,那么就是这个过程:

注意:在根据您的YARN版本杀死YARN之前,请先阅读here有关系统效果的内容。

这是一个过程:

  

在运行它们的所有节点上停止MapReduce JobHistory服务,ResourceManager服务和NodeManager,如下所示:

 sudo service hadoop-mapreduce-historyserver stop
 sudo service hadoop-yarn-resourcemanager stop
 sudo service hadoop-yarn-nodemanager stop

然后编辑配置文件并删除c

  

在以前运行的所有节点上启动MapReduce JobHistory服务器,ResourceManager和NodeManager,如下所示:

 sudo service hadoop-mapreduce-historyserver start
 sudo service hadoop-yarn-resourcemanager start
 sudo service hadoop-yarn-nodemanager start

命令来自here

答案 1 :(得分:1)

如果要删除队列,则必须停止Yarn。 Yarn运行时仅支持addupdatestop