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


Java MRApp.stop方法代码示例

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


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

示例1: testSlowNM

import org.apache.hadoop.mapreduce.v2.app.MRApp; //导入方法依赖的package包/类
@Test(timeout = 15000)
public void testSlowNM() throws Exception {

  conf = new Configuration();
  int maxAttempts = 1;
  conf.setInt(MRJobConfig.MAP_MAX_ATTEMPTS, maxAttempts);
  conf.setBoolean(MRJobConfig.JOB_UBERTASK_ENABLE, false);
  // set timeout low for the test
  conf.setInt("yarn.rpc.nm-command-timeout", 3000);
  conf.set(YarnConfiguration.IPC_RPC_IMPL, HadoopYarnProtoRPC.class.getName());
  YarnRPC rpc = YarnRPC.create(conf);
  String bindAddr = "localhost:0";
  InetSocketAddress addr = NetUtils.createSocketAddr(bindAddr);
  NMTokenSecretManagerInNM tokenSecretManager =
      new NMTokenSecretManagerInNM();
  MasterKey masterKey = Records.newRecord(MasterKey.class);
  masterKey.setBytes(ByteBuffer.wrap("key".getBytes()));
  tokenSecretManager.setMasterKey(masterKey);
  conf.set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION,
    "token");
  server =
      rpc.getServer(ContainerManagementProtocol.class,
        new DummyContainerManager(), addr, conf, tokenSecretManager, 1);
  server.start();

  MRApp app = new MRAppWithSlowNM(tokenSecretManager);

  try {
  Job job = app.submit(conf);
  app.waitForState(job, JobState.RUNNING);

  Map<TaskId, Task> tasks = job.getTasks();
  Assert.assertEquals("Num tasks is not correct", 1, tasks.size());

  Task task = tasks.values().iterator().next();
  app.waitForState(task, TaskState.SCHEDULED);

  Map<TaskAttemptId, TaskAttempt> attempts = tasks.values().iterator()
      .next().getAttempts();
    Assert.assertEquals("Num attempts is not correct", maxAttempts,
        attempts.size());

  TaskAttempt attempt = attempts.values().iterator().next();
    app.waitForInternalState((TaskAttemptImpl) attempt,
        TaskAttemptStateInternal.ASSIGNED);

  app.waitForState(job, JobState.FAILED);

  String diagnostics = attempt.getDiagnostics().toString();
  LOG.info("attempt.getDiagnostics: " + diagnostics);

    Assert.assertTrue(diagnostics.contains("Container launch failed for "
        + "container_0_0000_01_000000 : "));
    Assert
        .assertTrue(diagnostics
            .contains("java.net.SocketTimeoutException: 3000 millis timeout while waiting for channel"));

  } finally {
    server.stop();
  app.stop();
}
}
 
开发者ID:naver,项目名称:hadoop,代码行数:63,代码来源:TestContainerLauncher.java

示例2: testUnregistrationOnlyIfRegistered

import org.apache.hadoop.mapreduce.v2.app.MRApp; //导入方法依赖的package包/类
@Test
public void testUnregistrationOnlyIfRegistered() throws Exception {
  Configuration conf = new Configuration();
  final MyResourceManager rm = new MyResourceManager(conf);
  rm.start();
  DrainDispatcher rmDispatcher =
      (DrainDispatcher) rm.getRMContext().getDispatcher();

  // Submit the application
  RMApp rmApp = rm.submitApp(1024);
  rmDispatcher.await();

  MockNM amNodeManager = rm.registerNode("127.0.0.1:1234", 11264);
  amNodeManager.nodeHeartbeat(true);
  rmDispatcher.await();

  final ApplicationAttemptId appAttemptId =
      rmApp.getCurrentAppAttempt().getAppAttemptId();
  rm.sendAMLaunched(appAttemptId);
  rmDispatcher.await();

  MRApp mrApp =
      new MRApp(appAttemptId, ContainerId.newContainerId(appAttemptId, 0), 10,
          0, false, this.getClass().getName(), true, 1) {
        @Override
        protected Dispatcher createDispatcher() {
          return new DrainDispatcher();
        }

        protected ContainerAllocator createContainerAllocator(
            ClientService clientService, AppContext context) {
          return new MyContainerAllocator(rm, appAttemptId, context);
        };
      };

  mrApp.submit(conf);
  DrainDispatcher amDispatcher = (DrainDispatcher) mrApp.getDispatcher();
  MyContainerAllocator allocator =
      (MyContainerAllocator) mrApp.getContainerAllocator();
  amDispatcher.await();
  Assert.assertTrue(allocator.isApplicationMasterRegistered());
  mrApp.stop();
  Assert.assertTrue(allocator.isUnregistered());
}
 
开发者ID:naver,项目名称:hadoop,代码行数:45,代码来源:TestRMContainerAllocator.java


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