当前位置: 首页>>代码示例>>Java>>正文


Java RegisterNodeManagerRequest.setNMVersion方法代码示例

本文整理汇总了Java中org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest.setNMVersion方法的典型用法代码示例。如果您正苦于以下问题:Java RegisterNodeManagerRequest.setNMVersion方法的具体用法?Java RegisterNodeManagerRequest.setNMVersion怎么用?Java RegisterNodeManagerRequest.setNMVersion使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest的用法示例。


在下文中一共展示了RegisterNodeManagerRequest.setNMVersion方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: NodeManager

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
public NodeManager(String hostName, int containerManagerPort, int httpPort,
    String rackName, Resource capability,
    ResourceManager resourceManager)
    throws IOException, YarnException {
  this.containerManagerAddress = hostName + ":" + containerManagerPort;
  this.nodeHttpAddress = hostName + ":" + httpPort;
  this.rackName = rackName;
  this.resourceTrackerService = resourceManager.getResourceTrackerService();
  this.capability = capability;
  Resources.addTo(available, capability);
  this.nodeId = NodeId.newInstance(hostName, containerManagerPort);
  RegisterNodeManagerRequest request = recordFactory
      .newRecordInstance(RegisterNodeManagerRequest.class);
  request.setHttpPort(httpPort);
  request.setResource(capability);
  request.setNodeId(this.nodeId);
  request.setNMVersion(YarnVersionInfo.getVersion());
  resourceTrackerService.registerNodeManager(request);
  this.resourceManager = resourceManager;
  resourceManager.getResourceScheduler().getNodeReport(this.nodeId);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:22,代码来源:NodeManager.java

示例2: registerNode

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
public RegisterNodeManagerResponse registerNode(
    List<NMContainerStatus> containerReports,
    List<ApplicationId> runningApplications) throws Exception {
  RegisterNodeManagerRequest req = Records.newRecord(
      RegisterNodeManagerRequest.class);
  req.setNodeId(nodeId);
  req.setHttpPort(httpPort);
  Resource resource = BuilderUtils.newResource(memory, vCores, gCores);
  req.setResource(resource);
  req.setContainerStatuses(containerReports);
  req.setNMVersion(version);
  req.setRunningApplications(runningApplications);
  RegisterNodeManagerResponse registrationResponse =
      resourceTracker.registerNodeManager(req);
  this.currentContainerTokenMasterKey =
      registrationResponse.getContainerTokenMasterKey();
  this.currentNMTokenMasterKey = registrationResponse.getNMTokenMasterKey();
  return registrationResponse;    
}
 
开发者ID:naver,项目名称:hadoop,代码行数:20,代码来源:MockNM.java

示例3: testNodeRegistrationSuccess

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
@Test
public void testNodeRegistrationSuccess() throws Exception {
  writeToHostsFile("host2");
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NODES_INCLUDE_FILE_PATH, hostFile
      .getAbsolutePath());
  rm = new MockRM(conf);
  rm.start();

  ResourceTrackerService resourceTrackerService = rm.getResourceTrackerService();
  RegisterNodeManagerRequest req = Records.newRecord(
      RegisterNodeManagerRequest.class);
  NodeId nodeId = NodeId.newInstance("host2", 1234);
  Resource capability = BuilderUtils.newResource(1024, 1, 1);
  req.setResource(capability);
  req.setNodeId(nodeId);
  req.setHttpPort(1234);
  req.setNMVersion(YarnVersionInfo.getVersion());
  // trying to register a invalid node.
  RegisterNodeManagerResponse response = resourceTrackerService.registerNodeManager(req);
  Assert.assertEquals(NodeAction.NORMAL,response.getNodeAction());
}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:TestResourceTrackerService.java

示例4: registerNode

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
public RegisterNodeManagerResponse registerNode(
    List<NMContainerStatus> containerReports,
    List<ApplicationId> runningApplications) throws Exception {
  RegisterNodeManagerRequest req = Records.newRecord(
      RegisterNodeManagerRequest.class);
  req.setNodeId(nodeId);
  req.setHttpPort(httpPort);
  Resource resource = BuilderUtils.newResource(memory, vCores);
  req.setResource(resource);
  req.setContainerStatuses(containerReports);
  req.setNMVersion(version);
  req.setRunningApplications(runningApplications);
  RegisterNodeManagerResponse registrationResponse =
      resourceTracker.registerNodeManager(req);
  this.currentContainerTokenMasterKey =
      registrationResponse.getContainerTokenMasterKey();
  this.currentNMTokenMasterKey = registrationResponse.getNMTokenMasterKey();
  return registrationResponse;    
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:20,代码来源:MockNM.java

示例5: testNodeRegistrationSuccess

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
@Test
public void testNodeRegistrationSuccess() throws Exception {
  writeToHostsFile("host2");
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NODES_INCLUDE_FILE_PATH, hostFile
      .getAbsolutePath());
  rm = new MockRM(conf);
  rm.start();

  ResourceTrackerService resourceTrackerService = rm.getResourceTrackerService();
  RegisterNodeManagerRequest req = Records.newRecord(
      RegisterNodeManagerRequest.class);
  NodeId nodeId = NodeId.newInstance("host2", 1234);
  Resource capability = BuilderUtils.newResource(1024, 1);
  req.setResource(capability);
  req.setNodeId(nodeId);
  req.setHttpPort(1234);
  req.setNMVersion(YarnVersionInfo.getVersion());
  // trying to register a invalid node.
  RegisterNodeManagerResponse response =
      resourceTrackerService.registerNodeManager(req);
  Assert.assertEquals(NodeAction.NORMAL, response.getNodeAction());
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:24,代码来源:TestResourceTrackerService.java

示例6: testNodeRegistrationSuccess

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
@Test
public void testNodeRegistrationSuccess() throws Exception {
  writeToHostsFile("host2");
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NODES_INCLUDE_FILE_PATH, hostFile
      .getAbsolutePath());
  rm = new MockRM(conf);
  rm.start();

  ResourceTrackerService resourceTrackerService = rm.getResourceTrackerService();
  RegisterNodeManagerRequest req = Records.newRecord(
      RegisterNodeManagerRequest.class);
  NodeId nodeId = NodeId.newInstance("host2", 1234);
  Resource capability = BuilderUtils.newResource(1024, 1);
  req.setResource(capability);
  req.setNodeId(nodeId);
  req.setHttpPort(1234);
  req.setNMVersion(YarnVersionInfo.getVersion());
  // trying to register a invalid node.
  RegisterNodeManagerResponse response = resourceTrackerService.registerNodeManager(req);
  Assert.assertEquals(NodeAction.NORMAL,response.getNodeAction());
}
 
开发者ID:yncxcw,项目名称:big-c,代码行数:23,代码来源:TestResourceTrackerService.java

示例7: registerNode

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
public RegisterNodeManagerResponse registerNode(
    List<ContainerStatus> containerStatus) throws Exception{
  RegisterNodeManagerRequest req = Records.newRecord(
      RegisterNodeManagerRequest.class);
  req.setNodeId(nodeId);
  req.setHttpPort(httpPort);
  Resource resource = BuilderUtils.newResource(memory, vCores);
  req.setResource(resource);
  req.setContainerStatuses(containerStatus);
  req.setNMVersion(version);
  RegisterNodeManagerResponse registrationResponse =
      resourceTracker.registerNodeManager(req);
  this.currentContainerTokenMasterKey =
      registrationResponse.getContainerTokenMasterKey();
  this.currentNMTokenMasterKey = registrationResponse.getNMTokenMasterKey();
  return registrationResponse;    
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre2,代码行数:18,代码来源:MockNM.java

示例8: testNodeRegistrationVersionLessThanRM

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
@Test
public void testNodeRegistrationVersionLessThanRM() throws Exception {
  writeToHostsFile("host2");
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NODES_INCLUDE_FILE_PATH, hostFile
      .getAbsolutePath());
  conf.set(YarnConfiguration.RM_NODEMANAGER_MINIMUM_VERSION,"EqualToRM" );
  rm = new MockRM(conf);
  rm.start();
  String nmVersion = "1.9.9";

  ResourceTrackerService resourceTrackerService = rm.getResourceTrackerService();
  RegisterNodeManagerRequest req = Records.newRecord(
      RegisterNodeManagerRequest.class);
  NodeId nodeId = NodeId.newInstance("host2", 1234);
  Resource capability = BuilderUtils.newResource(1024, 1, 1);
  req.setResource(capability);
  req.setNodeId(nodeId);
  req.setHttpPort(1234);
  req.setNMVersion(nmVersion);
  // trying to register a invalid node.
  RegisterNodeManagerResponse response = resourceTrackerService.registerNodeManager(req);
  Assert.assertEquals(NodeAction.SHUTDOWN,response.getNodeAction());
  Assert.assertTrue("Diagnostic message did not contain: 'Disallowed NodeManager " +
      "Version "+ nmVersion + ", is less than the minimum version'",
      response.getDiagnosticsMessage().contains("Disallowed NodeManager Version " +
          nmVersion + ", is less than the minimum version "));

}
 
开发者ID:naver,项目名称:hadoop,代码行数:30,代码来源:TestResourceTrackerService.java

示例9: registerNode

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
private void registerNode(ResourceManager rm, NodeId nodeId)
    throws YarnException, IOException {
  ResourceTrackerService resourceTrackerService =
      rm.getResourceTrackerService();
  RegisterNodeManagerRequest req =
      Records.newRecord(RegisterNodeManagerRequest.class);
  Resource capability = BuilderUtils.newResource(1024, 1);
  req.setResource(capability);
  req.setNodeId(nodeId);
  req.setHttpPort(1234);
  req.setNMVersion(YarnVersionInfo.getVersion());
  resourceTrackerService.registerNodeManager(req);
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:14,代码来源:TestRMDelegatedNodeLabelsUpdater.java

示例10: testNodeRegistrationVersionLessThanRM

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
@Test
public void testNodeRegistrationVersionLessThanRM() throws Exception {
  writeToHostsFile("host2");
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NODES_INCLUDE_FILE_PATH, hostFile
      .getAbsolutePath());
  conf.set(YarnConfiguration.RM_NODEMANAGER_MINIMUM_VERSION,"EqualToRM" );
  rm = new MockRM(conf);
  rm.start();
  String nmVersion = "1.9.9";

  ResourceTrackerService resourceTrackerService = rm.getResourceTrackerService();
  RegisterNodeManagerRequest req = Records.newRecord(
      RegisterNodeManagerRequest.class);
  NodeId nodeId = NodeId.newInstance("host2", 1234);
  Resource capability = BuilderUtils.newResource(1024, 1);
  req.setResource(capability);
  req.setNodeId(nodeId);
  req.setHttpPort(1234);
  req.setNMVersion(nmVersion);
  // trying to register a invalid node.
  RegisterNodeManagerResponse response = resourceTrackerService.registerNodeManager(req);
  Assert.assertEquals(NodeAction.SHUTDOWN,response.getNodeAction());
  Assert.assertTrue("Diagnostic message did not contain: 'Disallowed NodeManager " +
      "Version "+ nmVersion + ", is less than the minimum version'",
      response.getDiagnosticsMessage().contains("Disallowed NodeManager Version " +
          nmVersion + ", is less than the minimum version "));

}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:30,代码来源:TestResourceTrackerService.java

示例11: testNodeRegistrationWithLabels

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
@Test
public void testNodeRegistrationWithLabels() throws Exception {
  writeToHostsFile("host2");
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NODES_INCLUDE_FILE_PATH,
      hostFile.getAbsolutePath());
  conf.set(YarnConfiguration.NODELABEL_CONFIGURATION_TYPE,
      YarnConfiguration.DISTRIBUTED_NODELABEL_CONFIGURATION_TYPE);

  final RMNodeLabelsManager nodeLabelsMgr = new NullRMNodeLabelsManager();

  rm = new MockRM(conf) {
    @Override
    protected RMNodeLabelsManager createNodeLabelManager() {
      return nodeLabelsMgr;
    }
  };
  rm.start();

  try {
    nodeLabelsMgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("A", "B", "C"));
  } catch (IOException e) {
    Assert.fail("Caught Exception while intializing");
    e.printStackTrace();
  }

  ResourceTrackerService resourceTrackerService =
      rm.getResourceTrackerService();
  RegisterNodeManagerRequest registerReq =
      Records.newRecord(RegisterNodeManagerRequest.class);
  NodeId nodeId = NodeId.newInstance("host2", 1234);
  Resource capability = BuilderUtils.newResource(1024, 1);
  registerReq.setResource(capability);
  registerReq.setNodeId(nodeId);
  registerReq.setHttpPort(1234);
  registerReq.setNMVersion(YarnVersionInfo.getVersion());
  registerReq.setNodeLabels(toSet(NodeLabel.newInstance("A")));
  RegisterNodeManagerResponse response =
      resourceTrackerService.registerNodeManager(registerReq);

  Assert.assertEquals("Action should be normal on valid Node Labels",
      NodeAction.NORMAL, response.getNodeAction());
  assertCollectionEquals(nodeLabelsMgr.getNodeLabels().get(nodeId),
      NodeLabelsUtils.convertToStringSet(registerReq.getNodeLabels()));
  Assert.assertTrue("Valid Node Labels were not accepted by RM",
      response.getAreNodeLabelsAcceptedByRM());
  rm.stop();
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:49,代码来源:TestResourceTrackerService.java

示例12: testNodeRegistrationWithInvalidLabels

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
@Test
public void testNodeRegistrationWithInvalidLabels() throws Exception {
  writeToHostsFile("host2");
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NODES_INCLUDE_FILE_PATH,
      hostFile.getAbsolutePath());
  conf.set(YarnConfiguration.NODELABEL_CONFIGURATION_TYPE,
      YarnConfiguration.DISTRIBUTED_NODELABEL_CONFIGURATION_TYPE);

  final RMNodeLabelsManager nodeLabelsMgr = new NullRMNodeLabelsManager();

  rm = new MockRM(conf) {
    @Override
    protected RMNodeLabelsManager createNodeLabelManager() {
      return nodeLabelsMgr;
    }
  };
  rm.start();

  try {
    nodeLabelsMgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("X", "Y", "Z"));
  } catch (IOException e) {
    Assert.fail("Caught Exception while intializing");
    e.printStackTrace();
  }

  ResourceTrackerService resourceTrackerService =
      rm.getResourceTrackerService();
  RegisterNodeManagerRequest registerReq =
      Records.newRecord(RegisterNodeManagerRequest.class);
  NodeId nodeId = NodeId.newInstance("host2", 1234);
  Resource capability = BuilderUtils.newResource(1024, 1);
  registerReq.setResource(capability);
  registerReq.setNodeId(nodeId);
  registerReq.setHttpPort(1234);
  registerReq.setNMVersion(YarnVersionInfo.getVersion());
  registerReq.setNodeLabels(toNodeLabelSet("A", "B", "C"));
  RegisterNodeManagerResponse response =
      resourceTrackerService.registerNodeManager(registerReq);

  Assert.assertEquals(
      "On Invalid Node Labels action is expected to be normal",
      NodeAction.NORMAL, response.getNodeAction());
  Assert.assertNull(nodeLabelsMgr.getNodeLabels().get(nodeId));
  Assert.assertNotNull(response.getDiagnosticsMessage());
  Assert.assertFalse("Node Labels should not accepted by RM If Invalid",
      response.getAreNodeLabelsAcceptedByRM());

  if (rm != null) {
    rm.stop();
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:53,代码来源:TestResourceTrackerService.java

示例13: testNodeRegistrationWithInvalidLabelsSyntax

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
@Test
public void testNodeRegistrationWithInvalidLabelsSyntax() throws Exception {
  writeToHostsFile("host2");
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NODES_INCLUDE_FILE_PATH,
      hostFile.getAbsolutePath());
  conf.set(YarnConfiguration.NODELABEL_CONFIGURATION_TYPE,
      YarnConfiguration.DISTRIBUTED_NODELABEL_CONFIGURATION_TYPE);

  final RMNodeLabelsManager nodeLabelsMgr = new NullRMNodeLabelsManager();

  rm = new MockRM(conf) {
    @Override
    protected RMNodeLabelsManager createNodeLabelManager() {
      return nodeLabelsMgr;
    }
  };
  rm.start();

  try {
    nodeLabelsMgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("X", "Y", "Z"));
  } catch (IOException e) {
    Assert.fail("Caught Exception while intializing");
    e.printStackTrace();
  }

  ResourceTrackerService resourceTrackerService =
      rm.getResourceTrackerService();
  RegisterNodeManagerRequest req =
      Records.newRecord(RegisterNodeManagerRequest.class);
  NodeId nodeId = NodeId.newInstance("host2", 1234);
  Resource capability = BuilderUtils.newResource(1024, 1);
  req.setResource(capability);
  req.setNodeId(nodeId);
  req.setHttpPort(1234);
  req.setNMVersion(YarnVersionInfo.getVersion());
  req.setNodeLabels(toNodeLabelSet("#Y"));
  RegisterNodeManagerResponse response =
      resourceTrackerService.registerNodeManager(req);

  Assert.assertEquals(
      "On Invalid Node Labels action is expected to be normal",
      NodeAction.NORMAL, response.getNodeAction());
  Assert.assertNull(nodeLabelsMgr.getNodeLabels().get(nodeId));
  Assert.assertNotNull(response.getDiagnosticsMessage());
  Assert.assertFalse("Node Labels should not accepted by RM If Invalid",
      response.getAreNodeLabelsAcceptedByRM());

  if (rm != null) {
    rm.stop();
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:53,代码来源:TestResourceTrackerService.java

示例14: testNodeRegistrationWithCentralLabelConfig

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
@Test
public void testNodeRegistrationWithCentralLabelConfig() throws Exception {
  writeToHostsFile("host2");
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NODES_INCLUDE_FILE_PATH,
      hostFile.getAbsolutePath());
  conf.set(YarnConfiguration.NODELABEL_CONFIGURATION_TYPE,
      YarnConfiguration.DEFAULT_NODELABEL_CONFIGURATION_TYPE);

  final RMNodeLabelsManager nodeLabelsMgr = new NullRMNodeLabelsManager();

  rm = new MockRM(conf) {
    @Override
    protected RMNodeLabelsManager createNodeLabelManager() {
      return nodeLabelsMgr;
    }
  };
  rm.start();
  try {
    nodeLabelsMgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("A", "B", "C"));
  } catch (IOException e) {
    Assert.fail("Caught Exception while intializing");
    e.printStackTrace();
  }
  ResourceTrackerService resourceTrackerService =
      rm.getResourceTrackerService();
  RegisterNodeManagerRequest req =
      Records.newRecord(RegisterNodeManagerRequest.class);
  NodeId nodeId = NodeId.newInstance("host2", 1234);
  Resource capability = BuilderUtils.newResource(1024, 1);
  req.setResource(capability);
  req.setNodeId(nodeId);
  req.setHttpPort(1234);
  req.setNMVersion(YarnVersionInfo.getVersion());
  req.setNodeLabels(toNodeLabelSet("A"));
  RegisterNodeManagerResponse response =
      resourceTrackerService.registerNodeManager(req);
  // registered to RM with central label config
  Assert.assertEquals(NodeAction.NORMAL, response.getNodeAction());
  Assert.assertNull(nodeLabelsMgr.getNodeLabels().get(nodeId));
  Assert
      .assertFalse(
          "Node Labels should not accepted by RM If its configured with Central configuration",
          response.getAreNodeLabelsAcceptedByRM());
  if (rm != null) {
    rm.stop();
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:49,代码来源:TestResourceTrackerService.java

示例15: testNodeHeartBeatWithInvalidLabels

import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest; //导入方法依赖的package包/类
@Test
public void testNodeHeartBeatWithInvalidLabels() throws Exception {
  writeToHostsFile("host2");
  Configuration conf = new Configuration();
  conf.set(YarnConfiguration.RM_NODES_INCLUDE_FILE_PATH,
      hostFile.getAbsolutePath());
  conf.set(YarnConfiguration.NODELABEL_CONFIGURATION_TYPE,
      YarnConfiguration.DISTRIBUTED_NODELABEL_CONFIGURATION_TYPE);

  final RMNodeLabelsManager nodeLabelsMgr = new NullRMNodeLabelsManager();

  rm = new MockRM(conf) {
    @Override
    protected RMNodeLabelsManager createNodeLabelManager() {
      return nodeLabelsMgr;
    }
  };
  rm.start();

  try {
    nodeLabelsMgr.addToCluserNodeLabelsWithDefaultExclusivity(toSet("A", "B", "C"));
  } catch (IOException e) {
    Assert.fail("Caught Exception while intializing");
    e.printStackTrace();
  }

  ResourceTrackerService resourceTrackerService =
      rm.getResourceTrackerService();
  RegisterNodeManagerRequest registerReq =
      Records.newRecord(RegisterNodeManagerRequest.class);
  NodeId nodeId = NodeId.newInstance("host2", 1234);
  Resource capability = BuilderUtils.newResource(1024, 1);
  registerReq.setResource(capability);
  registerReq.setNodeId(nodeId);
  registerReq.setHttpPort(1234);
  registerReq.setNMVersion(YarnVersionInfo.getVersion());
  registerReq.setNodeLabels(toNodeLabelSet("A"));
  RegisterNodeManagerResponse registerResponse =
      resourceTrackerService.registerNodeManager(registerReq);

  NodeHeartbeatRequest heartbeatReq =
      Records.newRecord(NodeHeartbeatRequest.class);
  heartbeatReq.setNodeLabels(toNodeLabelSet("B", "#C")); // Invalid heart beat labels
  heartbeatReq.setNodeStatus(getNodeStatusObject(nodeId));
  heartbeatReq.setLastKnownNMTokenMasterKey(registerResponse
      .getNMTokenMasterKey());
  heartbeatReq.setLastKnownContainerTokenMasterKey(registerResponse
      .getContainerTokenMasterKey());
  NodeHeartbeatResponse nodeHeartbeatResponse =
      resourceTrackerService.nodeHeartbeat(heartbeatReq);

  // response should be NORMAL when RM heartbeat labels are rejected
  Assert.assertEquals("Response should be NORMAL when RM heartbeat labels"
      + " are rejected", NodeAction.NORMAL,
      nodeHeartbeatResponse.getNodeAction());
  Assert.assertFalse(nodeHeartbeatResponse.getAreNodeLabelsAcceptedByRM());
  Assert.assertNotNull(nodeHeartbeatResponse.getDiagnosticsMessage());
  rm.stop();
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:60,代码来源:TestResourceTrackerService.java


注:本文中的org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest.setNMVersion方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。