是否有一种方法可以从命令行中获取所有可用纱线队列的列表,而无需诉诸于解析capacity-scheduler.xml
文件?
我正在使用Hadoop版本2.7.2
您可以使用hadoop内置mapred
命令行工具
me@here.com$ mapred queue -list
======================
Queue Name : root.tenant1
Queue State : running
Scheduling Info : Capacity: 0.0, MaximumCapacity: UNDEFINED, CurrentCapacity: 0.0
======================
Queue Name : root.tenant1.default
Queue State : running
Scheduling Info : Capacity: 0.0, MaximumCapacity: UNDEFINED, CurrentCapacity: 0.0
======================
Queue Name : root.tenant1.users
Queue State : running
Scheduling Info : Capacity: 0.0, MaximumCapacity: UNDEFINED, CurrentCapacity: 0.0
======================
Queue Name : root.tenant2
Queue State : running
Scheduling Info : Capacity: 0.0, MaximumCapacity: UNDEFINED, CurrentCapacity: 0.0
======================
Queue Name : root.tenant2.default
Queue State : running
Scheduling Info : Capacity: 0.0, MaximumCapacity: UNDEFINED, CurrentCapacity: 0.0
======================
Queue Name : root.tenant2.users
Queue State : running
Scheduling Info : Capacity: 0.0, MaximumCapacity: UNDEFINED, CurrentCapacity: 0.0
======================
它提供了一个简单而良好的输出,并具有层次结构
一种方法是使用ResourceManager REST API,例如:
curl '<resourcemanager_host>:<http_port>/ws/v1/cluster/scheduler' | jq '.scheduler.schedulerInfo.queues.queue[] | .queueName’
将列出所有 top 等级队列。
curl '<resourcemanager_host>:<http_port>/ws/v1/cluster/scheduler' | jq .
为您提供有关调度程序/队列的各种信息,因此使用jq
可以从中获取任何信息。