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


Java GetNodesToLabelsResponse.getNodeToLabels方法代码示例

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


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

示例1: testGetNodeLabels

import org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsResponse; //导入方法依赖的package包/类
@Test
public void testGetNodeLabels() throws Exception {
  MockRM rm = new MockRM() {
    protected ClientRMService createClientRMService() {
      return new ClientRMService(this.rmContext, scheduler,
          this.rmAppManager, this.applicationACLsManager,
          this.queueACLsManager, this.getRMContext()
              .getRMDelegationTokenSecretManager());
    };
  };
  rm.start();
  RMNodeLabelsManager labelsMgr = rm.getRMContext().getNodeLabelManager();
  labelsMgr.addToCluserNodeLabels(ImmutableSet.of("x", "y"));

  Map<NodeId, Set<String>> map = new HashMap<NodeId, Set<String>>();
  map.put(NodeId.newInstance("host1", 0), ImmutableSet.of("x"));
  map.put(NodeId.newInstance("host2", 0), ImmutableSet.of("y"));
  labelsMgr.replaceLabelsOnNode(map);

  // Create a client.
  Configuration conf = new Configuration();
  YarnRPC rpc = YarnRPC.create(conf);
  InetSocketAddress rmAddress = rm.getClientRMService().getBindAddress();
  LOG.info("Connecting to ResourceManager at " + rmAddress);
  ApplicationClientProtocol client =
      (ApplicationClientProtocol) rpc.getProxy(
          ApplicationClientProtocol.class, rmAddress, conf);

  // Get node labels collection
  GetClusterNodeLabelsResponse response =
      client.getClusterNodeLabels(GetClusterNodeLabelsRequest.newInstance());
  Assert.assertTrue(response.getNodeLabels().containsAll(
      Arrays.asList("x", "y")));

  // Get node labels mapping
  GetNodesToLabelsResponse response1 =
      client.getNodeToLabels(GetNodesToLabelsRequest.newInstance());
  Map<NodeId, Set<String>> nodeToLabels = response1.getNodeToLabels();
  Assert.assertTrue(nodeToLabels.keySet().containsAll(
      Arrays.asList(NodeId.newInstance("host1", 0),
          NodeId.newInstance("host2", 0))));
  Assert.assertTrue(nodeToLabels.get(NodeId.newInstance("host1", 0))
      .containsAll(Arrays.asList("x")));
  Assert.assertTrue(nodeToLabels.get(NodeId.newInstance("host2", 0))
      .containsAll(Arrays.asList("y")));
  
  rpc.stopProxy(client, conf);
  rm.close();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:50,代码来源:TestClientRMService.java

示例2: testGetNodeLabels

import org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsResponse; //导入方法依赖的package包/类
@Test
public void testGetNodeLabels() throws Exception {
  MockRM rm = new MockRM() {
    protected ClientRMService createClientRMService() {
      return new ClientRMService(this.rmContext, scheduler,
          this.rmAppManager, this.applicationACLsManager,
          this.queueACLsManager, this.getRMContext()
              .getRMDelegationTokenSecretManager());
    };
  };
  rm.start();
  NodeLabel labelX = NodeLabel.newInstance("x", false);
  NodeLabel labelY = NodeLabel.newInstance("y");
  RMNodeLabelsManager labelsMgr = rm.getRMContext().getNodeLabelManager();
  labelsMgr.addToCluserNodeLabels(ImmutableSet.of(labelX, labelY));

  NodeId node1 = NodeId.newInstance("host1", 1234);
  NodeId node2 = NodeId.newInstance("host2", 1234);
  Map<NodeId, Set<String>> map = new HashMap<NodeId, Set<String>>();
  map.put(node1, ImmutableSet.of("x"));
  map.put(node2, ImmutableSet.of("y"));
  labelsMgr.replaceLabelsOnNode(map);

  // Create a client.
  Configuration conf = new Configuration();
  YarnRPC rpc = YarnRPC.create(conf);
  InetSocketAddress rmAddress = rm.getClientRMService().getBindAddress();
  LOG.info("Connecting to ResourceManager at " + rmAddress);
  ApplicationClientProtocol client = (ApplicationClientProtocol) rpc
      .getProxy(ApplicationClientProtocol.class, rmAddress, conf);

  // Get node labels collection
  GetClusterNodeLabelsResponse response = client
      .getClusterNodeLabels(GetClusterNodeLabelsRequest.newInstance());
  Assert.assertTrue(response.getNodeLabels().containsAll(
      Arrays.asList(labelX, labelY)));

  // Get node labels mapping
  GetNodesToLabelsResponse response1 = client
      .getNodeToLabels(GetNodesToLabelsRequest.newInstance());
  Map<NodeId, Set<NodeLabel>> nodeToLabels = response1.getNodeToLabels();
  Assert.assertTrue(nodeToLabels.keySet().containsAll(
      Arrays.asList(node1, node2)));
  Assert.assertTrue(nodeToLabels.get(node1)
      .containsAll(Arrays.asList(labelX)));
  Assert.assertTrue(nodeToLabels.get(node2)
      .containsAll(Arrays.asList(labelY)));
  // Verify whether labelX's exclusivity is false
  for (NodeLabel x : nodeToLabels.get(node1)) {
    Assert.assertFalse(x.isExclusive());
  }
  // Verify whether labelY's exclusivity is true
  for (NodeLabel y : nodeToLabels.get(node2)) {
    Assert.assertTrue(y.isExclusive());
  }
  // Below label "x" is not present in the response as exclusivity is true
  Assert.assertFalse(nodeToLabels.get(node1).containsAll(
      Arrays.asList(NodeLabel.newInstance("x"))));

  rpc.stopProxy(client, conf);
  rm.close();
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:63,代码来源:TestClientRMService.java

示例3: testGetNodeLabels

import org.apache.hadoop.yarn.api.protocolrecords.GetNodesToLabelsResponse; //导入方法依赖的package包/类
@Test
public void testGetNodeLabels() throws Exception {
  MockRM rm = new MockRM() {
    protected ClientRMService createClientRMService() {
      return new ClientRMService(this.rmContext, scheduler,
          this.rmAppManager, this.applicationACLsManager,
          this.queueACLsManager, this.getRMContext()
              .getRMDelegationTokenSecretManager());
    };
  };
  rm.start();
  NodeLabel labelX = NodeLabel.newInstance("x", false);
  NodeLabel labelY = NodeLabel.newInstance("y");
  RMNodeLabelsManager labelsMgr = rm.getRMContext().getNodeLabelManager();
  labelsMgr.addToCluserNodeLabels(ImmutableSet.of(labelX, labelY));

  NodeId node1 = NodeId.newInstance("host1", 1234);
  NodeId node2 = NodeId.newInstance("host2", 1234);
  Map<NodeId, Set<String>> map = new HashMap<NodeId, Set<String>>();
  map.put(node1, ImmutableSet.of("x"));
  map.put(node2, ImmutableSet.of("y"));
  labelsMgr.replaceLabelsOnNode(map);

  // Create a client.
  Configuration conf = new Configuration();
  YarnRPC rpc = YarnRPC.create(conf);
  InetSocketAddress rmAddress = rm.getClientRMService().getBindAddress();
  LOG.info("Connecting to ResourceManager at " + rmAddress);
  ApplicationClientProtocol client = (ApplicationClientProtocol) rpc
      .getProxy(ApplicationClientProtocol.class, rmAddress, conf);

  // Get node labels collection
  GetClusterNodeLabelsResponse response = client
      .getClusterNodeLabels(GetClusterNodeLabelsRequest.newInstance());
  Assert.assertTrue(response.getNodeLabelList().containsAll(
      Arrays.asList(labelX, labelY)));

  // Get node labels mapping
  GetNodesToLabelsResponse response1 = client
      .getNodeToLabels(GetNodesToLabelsRequest.newInstance());
  Map<NodeId, Set<String>> nodeToLabels = response1.getNodeToLabels();
  Assert.assertTrue(nodeToLabels.keySet().containsAll(
      Arrays.asList(node1, node2)));
  Assert.assertTrue(nodeToLabels.get(node1)
      .containsAll(Arrays.asList(labelX.getName())));
  Assert.assertTrue(nodeToLabels.get(node2)
      .containsAll(Arrays.asList(labelY.getName())));
  // Below label "x" is not present in the response as exclusivity is true
  Assert.assertFalse(nodeToLabels.get(node1).containsAll(
      Arrays.asList(NodeLabel.newInstance("x"))));

  rpc.stopProxy(client, conf);
  rm.stop();
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:55,代码来源:TestClientRMService.java


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