본문 바로가기
빅데이터/hadoop

[hadoop][yarn] Caused by: java.lang.IllegalArgumentException: Illegal capacity of 4.0 for children of queue root for label=CORE 오류 해결

by hs_seo 2019. 10. 31.

YARN의 커패시티 스케줄러를 설정하면서 root큐 아래 설정된 하위큐가 사용할 수 있는 코어(CORE) 레이블의 용량(capacity)의 합이 100을 넘어서 발생하는 오류입니다. capacity-scheduler.xml에 설정된 yarn.scheduler.capacity.root.[큐이름].accessible-node-labels.CORE.capacity 값의 총합이 100을 넘지 않도록 수정하고 yarn rmadmin -refreshQueues를 입력하여 큐 설정을 변경합니다.

$ yarn rmadmin -refreshQueues
19/10/31 04:20:14 INFO client.RMProxy: Connecting to ResourceManager at /10.11.60.235:8033
refreshQueues: java.io.IOException: Failed to re-init queues
    at org.apache.hadoop.yarn.ipc.RPCUtil.getRemoteException(RPCUtil.java:38)
    at org.apache.hadoop.yarn.server.resourcemanager.AdminService.logAndWrapException(AdminService.java:862)
    at org.apache.hadoop.yarn.server.resourcemanager.AdminService.refreshQueues(AdminService.java:395)
    at org.apache.hadoop.yarn.server.api.impl.pb.service.ResourceManagerAdministrationProtocolPBServiceImpl.refreshQueues(ResourceManagerAdministrationProtocolPBServiceImpl.java:114)
    at org.apache.hadoop.yarn.proto.ResourceManagerAdministrationProtocol$ResourceManagerAdministrationProtocolService$2.callBlockingMethod(ResourceManagerAdministrationProtocol.java:271)
    at org.apache.hadoop.ipc.ProtobufRpcEngine$Server$ProtoBufRpcInvoker.call(ProtobufRpcEngine.java:447)
    at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:989)
    at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:850)
    at org.apache.hadoop.ipc.Server$RpcCall.run(Server.java:793)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAs(Subject.java:422)
    at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1844)
    at org.apache.hadoop.ipc.Server$Handler.run(Server.java:2489)
Caused by: java.io.IOException: Failed to re-init queues
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler.reinitialize(CapacityScheduler.java:379)
    at org.apache.hadoop.yarn.server.resourcemanager.AdminService.refreshQueues(AdminService.java:400)
    at org.apache.hadoop.yarn.server.resourcemanager.AdminService.refreshQueues(AdminService.java:390)
    ... 10 more
Caused by: java.lang.IllegalArgumentException: Illegal capacity of 4.0 for children of queue root for label=CORE
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.ParentQueue.setChildQueues(ParentQueue.java:169)
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler.parseQueue(CapacityScheduler.java:667)
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler.reinitializeQueues(CapacityScheduler.java:529)
    at org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler.reinitialize(CapacityScheduler.java:375)
    ... 12 more
반응형