本文整理汇总了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;
}
示例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>());
}
示例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>());
}
示例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;
}