我在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%。
...那么,如果我不再需要它,如何删除队列呢?
感谢。
答案 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运行时仅支持add
,update
和stop
。