我在配置文件中看到要删除的队列:
<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
. 如何删除?
我注意到这里写着
注意:不能删除队列,只支持添加新队列-更新的队列配置应为有效配置,即每个级别的队列容量应等于100%。
…那么,如果不再需要队列,如何删除它?
谢谢。
2条答案
按热度按时间jaxagkaj1#
如果要删除队列,必须停止。仅限
add
,update
以及stop
Yarn运行时支撑。pxq42qpu2#
从那一页:
管理员可以在运行时添加其他队列,但不能在运行时删除队列。
听起来您不能在运行时删除,但是您可以停止/终止线程,更新配置文件(并删除)
c
)并以新的配置运行Yarn。因此,如果你有能力停止/启动Yarn,那么以下是流程:注意:在终止Yarn之前,请阅读这里关于Yarn版本对系统的影响。
过程如下:
在运行mapreduce jobhistory服务、resourcemanager服务和nodemanager的所有节点上停止它们,如下所示:
然后编辑配置文件并删除
c
在以前运行mapreduce jobhistory服务器、resourcemanager和nodemanager的所有节点上启动它们,如下所示:命令来自这里