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


Java StartContainerRequest.getContainerToken方法代码示例

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


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

示例1: startContainers

import org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest; //导入方法依赖的package包/类
@Override
public StartContainersResponse startContainers(
    StartContainersRequest requests) throws YarnException {
  StartContainersResponse response =
      recordFactory.newRecordInstance(StartContainersResponse.class);
  for (StartContainerRequest request : requests.getStartContainerRequests()) {
    Token containerToken = request.getContainerToken();
    ContainerTokenIdentifier tokenId = null;

    try {
      tokenId = newContainerTokenIdentifier(containerToken);
    } catch (IOException e) {
      throw RPCUtil.getRemoteException(e);
    }
    ContainerStatus status =
        recordFactory.newRecordInstance(ContainerStatus.class);
    status.setState(ContainerState.RUNNING);
    status.setContainerId(tokenId.getContainerID());
    status.setExitStatus(0);
    statuses.add(status);

  }
  return response;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:25,代码来源:TestRPC.java

示例2: startContainers

import org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest; //导入方法依赖的package包/类
@Override
public StartContainersResponse
    startContainers(StartContainersRequest requests)
        throws YarnException {
  StartContainerRequest request = requests.getStartContainerRequests().get(0);
  LOG.info("Container started by MyContainerManager: " + request);
  launched = true;
  Map<String, String> env =
      request.getContainerLaunchContext().getEnvironment();

  Token containerToken = request.getContainerToken();
  ContainerTokenIdentifier tokenId = null;

  try {
    tokenId = BuilderUtils.newContainerTokenIdentifier(containerToken);
  } catch (IOException e) {
    throw RPCUtil.getRemoteException(e);
  }

  ContainerId containerId = tokenId.getContainerID();
  containerIdAtContainerManager = containerId.toString();
  attemptIdAtContainerManager =
      containerId.getApplicationAttemptId().toString();
  nmHostAtContainerManager = tokenId.getNmHostAddress();
  submitTimeAtContainerManager =
      Long.parseLong(env.get(ApplicationConstants.APP_SUBMIT_TIME_ENV));
  maxAppAttempts =
      Integer.parseInt(env.get(ApplicationConstants.MAX_APP_ATTEMPTS_ENV));
  return StartContainersResponse.newInstance(
    new HashMap<String, ByteBuffer>(), new ArrayList<ContainerId>(),
    new HashMap<ContainerId, SerializedException>());
}
 
开发者ID:naver,项目名称:hadoop,代码行数:33,代码来源:TestApplicationMasterLauncher.java

示例3: startContainers

import org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest; //导入方法依赖的package包/类
@Override
public StartContainersResponse
    startContainers(StartContainersRequest requests)
        throws YarnException {
  StartContainerRequest request = requests.getStartContainerRequests().get(0);
  LOG.info("Container started by MyContainerManager: " + request);
  launched = true;
  Map<String, String> env =
      request.getContainerLaunchContext().getEnvironment();

  Token containerToken = request.getContainerToken();
  ContainerTokenIdentifier tokenId = null;

  try {
    tokenId = BuilderUtils.newContainerTokenIdentifier(containerToken);
  } catch (IOException e) {
    throw RPCUtil.getRemoteException(e);
  }

  ContainerId containerId = tokenId.getContainerID();
  containerIdAtContainerManager = containerId.toString();
  attemptIdAtContainerManager =
      containerId.getApplicationAttemptId().toString();
  nmHostAtContainerManager = tokenId.getNmHostAddress();
  submitTimeAtContainerManager =
      Long.parseLong(env.get(ApplicationConstants.APP_SUBMIT_TIME_ENV));
  maxAppAttempts = YarnConfiguration.DEFAULT_RM_AM_MAX_ATTEMPTS;
  return StartContainersResponse.newInstance(
    new HashMap<String, ByteBuffer>(), new ArrayList<ContainerId>(),
    new HashMap<ContainerId, SerializedException>());
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:32,代码来源:TestApplicationMasterLauncher.java

示例4: startContainers

import org.apache.hadoop.yarn.api.protocolrecords.StartContainerRequest; //导入方法依赖的package包/类
@Override
public ContainersResponse startContainers(List<StartContainerRequest> requests)
    throws IOException {

  List<ContainerId> succeededContainers = new ArrayList<ContainerId>();
  Map<ContainerId, SerializedException> failedRequests =
      new HashMap<ContainerId, SerializedException>();

  for (StartContainerRequest startContainerRequest : requests) {
    ContainerLaunchContext containerLaunchContext = startContainerRequest
        .getContainerLaunchContext();
    Token containerToken = startContainerRequest.getContainerToken();
    String containerIdStr = new String(containerToken.getIdentifier().array());
    ContainerId containerId = ConverterUtils.toContainerId(containerIdStr);

    int pbsJobId = containersInfo.get(containerId);

    try {
      LOG.info("Starting container : " + containerIdStr
          + " for the PBS Job id : " + pbsJobId);
      // Launch Containers
      String containerHostName = ContainerResponses.getResponse(pbsJobId)
          .getContainerHostName();
      PBSCommandExecutor.launchContainer(containerLaunchContext,
          containerIdStr, null, conf, pbsJobId, false, containerHostName);
      succeededContainers.add(containerId);
      LaunchedPBSJobs.addRunningContainer(containerId, pbsJobId);
    } catch (Throwable t) {
      LOG.error("Failed to launch container : " + containerIdStr, t);
      SerializedException exception = SerializedException.newInstance(t);
      failedRequests.put(containerId, exception);
    }
  }

  Map<String, ByteBuffer> allServicesMetaData = new HashMap<String, ByteBuffer>();
  ByteBuffer buffer = ByteBuffer.allocate(200);
  buffer.putInt(100);
  allServicesMetaData.put("mapreduce_shuffle", buffer);

  ContainersResponse response = new ContainersResponse();
  response.setServicesMetaData(allServicesMetaData);
  response.setFailedContainers(failedRequests);
  response.setSucceededContainers(succeededContainers);
  return response;
}
 
开发者ID:intel-hpdd,项目名称:scheduling-connector-for-hadoop,代码行数:46,代码来源:PBSContainerManager.java


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