摘要:
随着大数据时代的到来,Hadoop YARN(Yet Another Resource Negotiator)作为Hadoop生态系统中的资源管理器,已经成为处理大规模数据集的重要工具。在YARN中,合理分配CPU核心数对于提高资源利用率、优化任务执行效率至关重要。本文将深入探讨YARN中应用级资源限制的CPU核心数分配策略,并给出相应的代码实现。
一、
Hadoop YARN是一个分布式资源管理系统,负责管理集群中的计算资源,并将这些资源分配给不同的应用程序。在YARN中,资源主要分为CPU、内存和磁盘I/O等。合理分配CPU资源,特别是CPU核心数,对于保证任务执行效率和资源利用率具有重要意义。
二、YARN资源分配机制
YARN的资源分配机制主要基于以下步骤:
1. 资源请求:应用程序向资源管理器(ResourceManager)请求资源。
2. 资源分配:资源管理器根据集群资源状况和应用程序需求,将资源分配给应用程序。
3. 资源监控:资源管理器监控应用程序的资源使用情况,并根据需要调整资源分配。
4. 资源回收:当应用程序完成或被终止时,资源管理器回收资源。
三、应用级资源限制:CPU核心数分配策略
在YARN中,应用级资源限制是指对单个应用程序的资源使用进行限制。对于CPU核心数,以下是一些常见的分配策略:
1. 固定核心数:为每个应用程序分配固定的CPU核心数。
2. 动态核心数:根据应用程序的实际需求动态调整CPU核心数。
3. 按需分配:根据应用程序的负载情况,按需分配CPU核心数。
四、代码实现
以下是一个简单的YARN应用程序,演示如何通过设置CPU核心数来实现应用级资源限制。
```java
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.yarn.api.ApplicationConstants;
import org.apache.hadoop.yarn.api.records.ApplicationId;
import org.apache.hadoop.yarn.api.records.ApplicationReport;
import org.apache.hadoop.yarn.client.api.YarnClient;
import org.apache.hadoop.yarn.client.api.YarnClientApplication;
import org.apache.hadoop.yarn.conf.YarnConfiguration;
public class YarnAppWithResourceLimit {
public static void main(String[] args) throws Exception {
// 初始化配置
Configuration conf = new Configuration();
conf.setBoolean(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_ENABLED, true);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_NAME, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_USER_PER_APP, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_USER_PER_APP_PER_NODE, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_USER_PER_APP_PER_NODE_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_USER_PER_APP_PER_NODE_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_USER_PER_APP_PER_NODE_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_USER_PER_APP_PER_NODE_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_USER_PER_APP_PER_NODE_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_USER_PER_APP_PER_NODE_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_USER_PER_APP_PER_NODE_PER_USER, 1);
conf.setInt(YarnConfiguration.RM_SCHEDULER_MINICLUSTER_QUEUE_MAX_APP_ATTEMPTS_PER_QUEUE_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER_APP_PER_NODE_PER_CONTAINER_PER_USER_PER
Comments NOTHING