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


Java ApplicationMasterProtocol.finishApplicationMaster方法代码示例

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


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

示例1: main

import org.apache.hadoop.yarn.api.ApplicationMasterProtocol; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
  if (args[0].equals("success")) {
    ApplicationMasterProtocol client = ClientRMProxy.createRMProxy(conf,
        ApplicationMasterProtocol.class);
    client.registerApplicationMaster(RegisterApplicationMasterRequest
        .newInstance(NetUtils.getHostname(), -1, ""));
    Thread.sleep(1000);
    FinishApplicationMasterResponse resp =
        client.finishApplicationMaster(FinishApplicationMasterRequest
          .newInstance(FinalApplicationStatus.SUCCEEDED, "success", null));
    assertTrue(resp.getIsUnregistered());
    System.exit(0);
  } else {
    System.exit(1);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:17,代码来源:TestUnmanagedAMLauncher.java

示例2: main

import org.apache.hadoop.yarn.api.ApplicationMasterProtocol; //导入方法依赖的package包/类
public static void main(String[] args) throws Exception {
  if (args[0].equals("success")) {
    ApplicationMasterProtocol client = ClientRMProxy.createRMProxy(conf,
        ApplicationMasterProtocol.class, true);
    client.registerApplicationMaster(RegisterApplicationMasterRequest
        .newInstance(NetUtils.getHostname(), -1, ""));
    Thread.sleep(1000);
    FinishApplicationMasterResponse resp =
        client.finishApplicationMaster(FinishApplicationMasterRequest
          .newInstance(FinalApplicationStatus.SUCCEEDED, "success", null));
    assertTrue(resp.getIsUnregistered());
    System.exit(0);
  } else {
    System.exit(1);
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:17,代码来源:TestUnmanagedAMLauncher.java

示例3: testAMRMProxyE2E

import org.apache.hadoop.yarn.api.ApplicationMasterProtocol; //导入方法依赖的package包/类
@Test(timeout = 60000)
public void testAMRMProxyE2E() throws Exception {
  ApplicationMasterProtocol client;

  try (MiniYARNCluster cluster = new MiniYARNCluster("testAMRMProxyE2E",
      1, 1, 1);
          YarnClient rmClient = YarnClient.createYarnClient()) {
    Configuration conf = new YarnConfiguration();
    conf.setBoolean(YarnConfiguration.AMRM_PROXY_ENABLED, true);
    cluster.init(conf);
    cluster.start();
    final Configuration yarnConf = cluster.getConfig();

    // the client has to connect to AMRMProxy

    yarnConf.set(YarnConfiguration.RM_SCHEDULER_ADDRESS,
        YarnConfiguration.DEFAULT_AMRM_PROXY_ADDRESS);
    rmClient.init(yarnConf);
    rmClient.start();

    // Submit application

    ApplicationId appId = createApp(rmClient, cluster);

    client = createAMRMProtocol(rmClient, appId, cluster, yarnConf);

    LOG.info("testAMRMProxyE2E - Register Application Master");

    RegisterApplicationMasterResponse responseRegister =
        client.registerApplicationMaster(RegisterApplicationMasterRequest
            .newInstance(NetUtils.getHostname(), 1024, ""));

    Assert.assertNotNull(responseRegister);
    Assert.assertNotNull(responseRegister.getQueue());
    Assert.assertNotNull(responseRegister.getApplicationACLs());
    Assert.assertNotNull(responseRegister.getClientToAMTokenMasterKey());
    Assert
        .assertNotNull(responseRegister.getContainersFromPreviousAttempts());
    Assert.assertNotNull(responseRegister.getSchedulerResourceTypes());
    Assert.assertNotNull(responseRegister.getMaximumResourceCapability());

    RMApp rmApp =
        cluster.getResourceManager().getRMContext().getRMApps().get(appId);
    Assert.assertEquals(RMAppState.RUNNING, rmApp.getState());

    LOG.info("testAMRMProxyE2E - Allocate Resources Application Master");

    AllocateRequest request =
        createAllocateRequest(rmClient.getNodeReports(NodeState.RUNNING));

    AllocateResponse allocResponse = client.allocate(request);
    Assert.assertNotNull(allocResponse);
    Assert.assertEquals(0, allocResponse.getAllocatedContainers().size());

    request.setAskList(new ArrayList<ResourceRequest>());
    request.setResponseId(request.getResponseId() + 1);

    Thread.sleep(1000);

    // RM should allocate container within 2 calls to allocate()
    allocResponse = client.allocate(request);
    Assert.assertNotNull(allocResponse);
    Assert.assertEquals(2, allocResponse.getAllocatedContainers().size());

    LOG.info("testAMRMPRoxy - Finish Application Master");

    FinishApplicationMasterResponse responseFinish =
        client.finishApplicationMaster(FinishApplicationMasterRequest
            .newInstance(FinalApplicationStatus.SUCCEEDED, "success", null));

    Assert.assertNotNull(responseFinish);

    Thread.sleep(500);
    Assert.assertNotEquals(RMAppState.FINISHED, rmApp.getState());

  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:78,代码来源:TestAMRMProxy.java

示例4: testE2ETokenRenewal

import org.apache.hadoop.yarn.api.ApplicationMasterProtocol; //导入方法依赖的package包/类
@Test(timeout = 60000)
public void testE2ETokenRenewal() throws Exception {
  ApplicationMasterProtocol client;

  try (MiniYARNCluster cluster =
      new MiniYARNCluster("testE2ETokenRenewal", 1, 1, 1);
         YarnClient rmClient = YarnClient.createYarnClient()) {
    Configuration conf = new YarnConfiguration();
    conf.setBoolean(YarnConfiguration.AMRM_PROXY_ENABLED, true);
    conf.setInt(YarnConfiguration.RM_NM_EXPIRY_INTERVAL_MS, 1500);
    conf.setInt(YarnConfiguration.RM_NM_HEARTBEAT_INTERVAL_MS, 1500);
    conf.setInt(YarnConfiguration.RM_AM_EXPIRY_INTERVAL_MS, 1500);
    // RM_AMRM_TOKEN_MASTER_KEY_ROLLING_INTERVAL_SECS should be at least
    // RM_AM_EXPIRY_INTERVAL_MS * 1.5 *3
    conf.setInt(
        YarnConfiguration.RM_AMRM_TOKEN_MASTER_KEY_ROLLING_INTERVAL_SECS, 6);
    cluster.init(conf);
    cluster.start();
    final Configuration yarnConf = cluster.getConfig();
    yarnConf.set(YarnConfiguration.RM_SCHEDULER_ADDRESS,
        YarnConfiguration.DEFAULT_AMRM_PROXY_ADDRESS);
    rmClient.init(yarnConf);
    rmClient.start();

    // Submit

    ApplicationId appId = createApp(rmClient, cluster);

    client = createAMRMProtocol(rmClient, appId, cluster, yarnConf);

    client.registerApplicationMaster(RegisterApplicationMasterRequest
        .newInstance(NetUtils.getHostname(), 1024, ""));

    LOG.info("testAMRMPRoxy - Allocate Resources Application Master");

    AllocateRequest request =
        createAllocateRequest(rmClient.getNodeReports(NodeState.RUNNING));

    Token lastToken = null;
    AllocateResponse response = null;

    for (int i = 0; i < 5; i++) {

      response = client.allocate(request);
      request.setResponseId(request.getResponseId() + 1);

      if (response.getAMRMToken() != null
          && !response.getAMRMToken().equals(lastToken)) {
        break;
      }

      lastToken = response.getAMRMToken();

      // Time slot to be sure the RM renew the token
      Thread.sleep(1500);

    }

    Assert.assertFalse(response.getAMRMToken().equals(lastToken));

    LOG.info("testAMRMPRoxy - Finish Application Master");

    client.finishApplicationMaster(FinishApplicationMasterRequest
        .newInstance(FinalApplicationStatus.SUCCEEDED, "success", null));

  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:68,代码来源:TestAMRMProxy.java


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