Apache spark EMR(EMR-5.26.0)上核心节点的纱线队列容量未按预期工作
Usecase=>使用下面的配置创建两个纱线队列:Q1和Q2Apache spark EMR(EMR-5.26.0)上核心节点的纱线队列容量未按预期工作,apache-spark,hadoop,yarn,amazon-emr,capacity,Apache Spark,Hadoop,Yarn,Amazon Emr,Capacity,Usecase=>使用下面的配置创建两个纱线队列:Q1和Q2 [ { "Classification": "capacity-scheduler", "Properties": { "yarn.scheduler.capacity.root.queues" : "Q1,Q2", "yarn.scheduler.capacity.root.Q1.capacity" : "60", "yarn.scheduler.capacity.root.Q2.capacity" : "4
[
{
"Classification": "capacity-scheduler",
"Properties": {
"yarn.scheduler.capacity.root.queues" : "Q1,Q2",
"yarn.scheduler.capacity.root.Q1.capacity" : "60",
"yarn.scheduler.capacity.root.Q2.capacity" : "40",
"yarn.scheduler.capacity.root.Q1.accessible-node-labels" : "*",
"yarn.scheduler.capacity.root.Q2.accessible-node-labels" : "*",
"yarn.scheduler.capacity.root.Q1.accessible-node-labels.CORE.capacity" : "60",
"yarn.scheduler.capacity.root.Q2.accessible-node-labels.CORE.capacity" : "40",
"yarn.scheduler.capacity.root.Q1.accessible-node-labels.CORE.maximum-capacity" : "60"
}
},
{
"Classification": "yarn-site",
"Properties": {
"yarn.acl.enable": "true",
"yarn.resourcemanager.scheduler.class": "org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler"
}
}
]
预期行为:Q1不应使用超过60%的核心节点,因此40%的核心节点始终可用于Q2。请参阅以了解队列配置。了解中最大容量配置的另一个参考
实际行为:Q1使用超过60%,即队列“Q1”的“绝对使用容量”大于“绝对配置最大容量”
这不符合法律规定。
我想了解这种行为背后的原因。以及其他解决方案
更新1:
这个问题似乎只存在于核心节点。如果我在下面指定,它对任务节点的作用与预期的一样。
纱线.scheduler.capacity.root.Q1.最大容量:60
EMR在纱线节点标签下创建核心节点,作为核心。默认情况下,EMR将创建此节点标签。更多关于和。IMHO,当对核心节点使用纱线节点标签功能时,EMR要么过度使用,要么破坏了核心节点的这种配置。我推荐@Lamanus,我已经看到了这一点。如果您看到我指定的配置和我给出的书籍示例在类似的行中,请使用进一步的分析更新问题