org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.QueuePlacementPolicy.assignAppToQueue()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(17.3k)|赞(0)|评价(0)|浏览(109)

本文整理了Java中org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.QueuePlacementPolicy.assignAppToQueue方法的一些代码示例,展示了QueuePlacementPolicy.assignAppToQueue的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QueuePlacementPolicy.assignAppToQueue方法的具体详情如下:
包路径:org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.QueuePlacementPolicy
类名称:QueuePlacementPolicy
方法名:assignAppToQueue

QueuePlacementPolicy.assignAppToQueue介绍

[英]Applies this rule to an app with the given requested queue and user/group information.
[中]将此规则应用于具有给定请求队列和用户/组信息的应用。

代码示例

代码示例来源:origin: apache/hive

requestedQueue = queuePolicy.assignAppToQueue(requestedQueue, userName);
if (StringUtils.isNotBlank(requestedQueue)) {
 LOG.debug("Setting queue name to " + requestedQueue + " for user "

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test(expected=IOException.class)
public void testEmptyGroupsPrimaryGroupRule() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='primaryGroup' create=\"false\" />");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 // Add a static mapping that returns empty groups for users
 conf.setStrings(CommonConfigurationKeys
   .HADOOP_USER_GROUP_STATIC_OVERRIDES, "emptygroupuser=");
 QueuePlacementPolicy policy = parse(sb.toString());
 policy.assignAppToQueue(null, "emptygroupuser");
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testSpecifiedThenReject() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' />");
 sb.append("  <rule name='reject' />");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.specifiedq",
   policy.assignAppToQueue("specifiedq", "someuser"));
 assertEquals(null, policy.assignAppToQueue("default", "someuser"));
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testNoCreate() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' />");
 sb.append("  <rule name='user' create=\"false\" />");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 
 configuredQueues.get(FSQueueType.LEAF).add("root.someuser");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.specifiedq", policy.assignAppToQueue("specifiedq", "someuser"));
 assertEquals("root.someuser", policy.assignAppToQueue("default", "someuser"));
 assertEquals("root.specifiedq", policy.assignAppToQueue("specifiedq", "otheruser"));
 assertEquals("root.default", policy.assignAppToQueue("default", "otheruser"));
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testSpecifiedThenReject() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' />");
 sb.append("  <rule name='reject' />");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.specifiedq",
   policy.assignAppToQueue("specifiedq", "someuser"));
 assertEquals(null, policy.assignAppToQueue("default", "someuser"));
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testDefaultRuleWithQueueAttribute() throws Exception {
 // This test covers the use case where we would like default rule
 // to point to a different queue by default rather than root.default
 configuredQueues.get(FSQueueType.LEAF).add("root.someDefaultQueue");
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' create='false' />");
 sb.append("  <rule name='default' queue='root.someDefaultQueue'/>");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.someDefaultQueue",
   policy.assignAppToQueue("root.default", "user1"));
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testNoCreate() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' />");
 sb.append("  <rule name='user' create=\"false\" />");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 
 configuredQueues.get(FSQueueType.LEAF).add("root.someuser");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.specifiedq", policy.assignAppToQueue("specifiedq", "someuser"));
 assertEquals("root.someuser", policy.assignAppToQueue("default", "someuser"));
 assertEquals("root.specifiedq", policy.assignAppToQueue("specifiedq", "otheruser"));
 assertEquals("root.default", policy.assignAppToQueue("default", "otheruser"));
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testDefaultRuleWithQueueAttribute() throws Exception {
 // This test covers the use case where we would like default rule
 // to point to a different queue by default rather than root.default
 configuredQueues.get(FSQueueType.LEAF).add("root.someDefaultQueue");
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' create='false' />");
 sb.append("  <rule name='default' queue='root.someDefaultQueue'/>");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.someDefaultQueue",
   policy.assignAppToQueue("root.default", "user1"));
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testSpecifiedUserPolicy() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' />");
 sb.append("  <rule name='user' />");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.specifiedq",
   policy.assignAppToQueue("specifiedq", "someuser"));
 assertEquals("root.someuser",
   policy.assignAppToQueue("default", "someuser"));
 assertEquals("root.otheruser",
   policy.assignAppToQueue("default", "otheruser"));
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testSpecifiedUserPolicy() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' />");
 sb.append("  <rule name='user' />");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.specifiedq",
   policy.assignAppToQueue("specifiedq", "someuser"));
 assertEquals("root.someuser",
   policy.assignAppToQueue("default", "someuser"));
 assertEquals("root.otheruser",
   policy.assignAppToQueue("default", "otheruser"));
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testTerminals() throws Exception {
 // Should make it through without an exception
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='secondaryGroupExistingQueue' create='true'/>");
 sb.append("  <rule name='default' queue='otherdefault' create='false'/>");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 try {
  policy.assignAppToQueue("root.otherdefault", "user1");
  fail("Expect exception from having default rule with create=\'false\'");
 } catch (IllegalStateException se) {
 }
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testNestedUserQueueDefaultRule() throws Exception {
 // This test covers the use case where we would like user queues to be
 // created under a default parent queue
 configuredQueues.get(FSQueueType.PARENT).add("root.parentq");
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' create='false' />");
 sb.append("  <rule name='nestedUserQueue'>");
 sb.append("       <rule name='default' queue='root.parentq'/>");
 sb.append("  </rule>");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.parentq.user1",
   policy.assignAppToQueue("root.default", "user1"));
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testNestedUserQueueDefaultRule() throws Exception {
 // This test covers the use case where we would like user queues to be
 // created under a default parent queue
 configuredQueues.get(FSQueueType.PARENT).add("root.parentq");
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' create='false' />");
 sb.append("  <rule name='nestedUserQueue'>");
 sb.append("       <rule name='default' queue='root.parentq'/>");
 sb.append("  </rule>");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.parentq.user1",
   policy.assignAppToQueue("root.default", "user1"));
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testNestedUserQueueSpecificRule() throws Exception {
 // This test covers the use case where users can specify different parent
 // queues and want user queues under those.
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='nestedUserQueue'>");
 sb.append("       <rule name='specified' create='false'/>");
 sb.append("  </rule>");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 // Let's create couple of parent queues
 configuredQueues.get(FSQueueType.PARENT).add("root.parent1");
 configuredQueues.get(FSQueueType.PARENT).add("root.parent2");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.parent1.user1",
   policy.assignAppToQueue("root.parent1", "user1"));
 assertEquals("root.parent2.user2",
   policy.assignAppToQueue("root.parent2", "user2"));
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testNestedUserQueueSpecificRule() throws Exception {
 // This test covers the use case where users can specify different parent
 // queues and want user queues under those.
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='nestedUserQueue'>");
 sb.append("       <rule name='specified' create='false'/>");
 sb.append("  </rule>");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 // Let's create couple of parent queues
 configuredQueues.get(FSQueueType.PARENT).add("root.parent1");
 configuredQueues.get(FSQueueType.PARENT).add("root.parent2");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.parent1.user1",
   policy.assignAppToQueue("root.parent1", "user1"));
 assertEquals("root.parent2.user2",
   policy.assignAppToQueue("root.parent2", "user2"));
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testUserContainsPeriod() throws Exception {
 // This test covers the user case where the username contains periods.
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='user' />");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.first_dot_last",
   policy.assignAppToQueue("default", "first.last"));
 sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' create='false' />");
 sb.append("  <rule name='nestedUserQueue'>");
 sb.append("       <rule name='default'/>");
 sb.append("  </rule>");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 policy = parse(sb.toString());
 assertEquals("root.default.first_dot_last",
   policy.assignAppToQueue("root.default", "first.last"));
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testNestedUserQueueSecondaryGroup() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='nestedUserQueue'>");
 sb.append("       <rule name='secondaryGroupExistingQueue'/>");
 sb.append("  </rule>");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 // Should return root.default since secondary groups are not configured
 assertEquals("root.default",
   policy.assignAppToQueue("root.default", "user1"));
 // configure secondary group for user1
 configuredQueues.get(FSQueueType.PARENT).add("root.user1subgroup1");
 policy = parse(sb.toString());
 // user queue created should be created under secondary group
 assertEquals("root.user1subgroup1.user1",
   policy.assignAppToQueue("root.default", "user1"));
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testNestedUserQueueSecondaryGroup() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='nestedUserQueue'>");
 sb.append("       <rule name='secondaryGroupExistingQueue'/>");
 sb.append("  </rule>");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 QueuePlacementPolicy policy = parse(sb.toString());
 // Should return root.default since secondary groups are not configured
 assertEquals("root.default",
   policy.assignAppToQueue("root.default", "user1"));
 // configure secondary group for user1
 configuredQueues.get(FSQueueType.PARENT).add("root.user1subgroup1");
 policy = parse(sb.toString());
 // user queue created should be created under secondary group
 assertEquals("root.user1subgroup1.user1",
   policy.assignAppToQueue("root.default", "user1"));
}

代码示例来源:origin: ch.cern.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testGroupContainsPeriod() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' create='false' />");
 sb.append("  <rule name='nestedUserQueue'>");
 sb.append("       <rule name='primaryGroup'/>");
 sb.append("  </rule>");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 conf.setClass(CommonConfigurationKeys.HADOOP_SECURITY_GROUP_MAPPING,
   PeriodGroupsMapping.class, GroupMappingServiceProvider.class);
 // User queue would be created under primary group queue, and the period
 // in the group name should be converted into _dot_
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.user1_dot_group.user1",
   policy.assignAppToQueue("root.default", "user1"));
 conf.setClass(CommonConfigurationKeys.HADOOP_SECURITY_GROUP_MAPPING,
   SimpleGroupsMapping.class, GroupMappingServiceProvider.class);
}

代码示例来源:origin: org.apache.hadoop/hadoop-yarn-server-resourcemanager

@Test
public void testGroupContainsPeriod() throws Exception {
 StringBuffer sb = new StringBuffer();
 sb.append("<queuePlacementPolicy>");
 sb.append("  <rule name='specified' create='false' />");
 sb.append("  <rule name='nestedUserQueue'>");
 sb.append("       <rule name='primaryGroup'/>");
 sb.append("  </rule>");
 sb.append("  <rule name='default' />");
 sb.append("</queuePlacementPolicy>");
 conf.setClass(CommonConfigurationKeys.HADOOP_SECURITY_GROUP_MAPPING,
   PeriodGroupsMapping.class, GroupMappingServiceProvider.class);
 // User queue would be created under primary group queue, and the period
 // in the group name should be converted into _dot_
 QueuePlacementPolicy policy = parse(sb.toString());
 assertEquals("root.user1_dot_group.user1",
   policy.assignAppToQueue("root.default", "user1"));
 conf.setClass(CommonConfigurationKeys.HADOOP_SECURITY_GROUP_MAPPING,
   SimpleGroupsMapping.class, GroupMappingServiceProvider.class);
}

相关文章