當前位置: 首頁>>代碼示例>>Java>>正文


Java ContainerId.toString方法代碼示例

本文整理匯總了Java中org.apache.hadoop.yarn.api.records.ContainerId.toString方法的典型用法代碼示例。如果您正苦於以下問題:Java ContainerId.toString方法的具體用法?Java ContainerId.toString怎麽用?Java ContainerId.toString使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在org.apache.hadoop.yarn.api.records.ContainerId的用法示例。


在下文中一共展示了ContainerId.toString方法的15個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: TaskAttemptStartedEvent

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
/**
 * Create an event to record the start of an attempt
 * @param attemptId Id of the attempt
 * @param taskType Type of task
 * @param startTime Start time of the attempt
 * @param trackerName Name of the Task Tracker where attempt is running
 * @param httpPort The port number of the tracker
 * @param shufflePort The shuffle port number of the container
 * @param containerId The containerId for the task attempt.
 * @param locality The locality of the task attempt
 * @param avataar The avataar of the task attempt
 */
public TaskAttemptStartedEvent( TaskAttemptID attemptId,  
    TaskType taskType, long startTime, String trackerName,
    int httpPort, int shufflePort, ContainerId containerId,
    String locality, String avataar) {
  datum.attemptId = new Utf8(attemptId.toString());
  datum.taskid = new Utf8(attemptId.getTaskID().toString());
  datum.startTime = startTime;
  datum.taskType = new Utf8(taskType.name());
  datum.trackerName = new Utf8(trackerName);
  datum.httpPort = httpPort;
  datum.shufflePort = shufflePort;
  datum.containerId = new Utf8(containerId.toString());
  if (locality != null) {
    datum.locality = new Utf8(locality);
  }
  if (avataar != null) {
    datum.avataar = new Utf8(avataar);
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:32,代碼來源:TaskAttemptStartedEvent.java

示例2: reacquireContainer

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
/**
 * Reacquires state for a container - reads the classid from the cgroup
 * being used for the container being reacquired
 * @param containerId if of the container being reacquired.
 * @return (potentially empty) list of privileged operations
 * @throws ResourceHandlerException
 */

@Override
public List<PrivilegedOperation> reacquireContainer(ContainerId containerId)
    throws ResourceHandlerException {
  String containerIdStr = containerId.toString();

  if (LOG.isDebugEnabled()) {
    LOG.debug("Attempting to reacquire classId for container: " +
        containerIdStr);
  }

  String classIdStrFromFile = cGroupsHandler.getCGroupParam(
      CGroupsHandler.CGroupController.NET_CLS, containerIdStr,
      CGroupsHandler.CGROUP_PARAM_CLASSID);
  int classId = trafficController
      .getClassIdFromFileContents(classIdStrFromFile);

  LOG.info("Reacquired containerId -> classId mapping: " + containerIdStr
      + " -> " + classId);
  containerIdClassIdMap.put(containerId, classId);

  return null;
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:31,代碼來源:TrafficControlBandwidthHandlerImpl.java

示例3: getContainerStatusInternal

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
private ContainerStatus getContainerStatusInternal(ContainerId containerID,
    NMTokenIdentifier nmTokenIdentifier) throws YarnException {
  String containerIDStr = containerID.toString();
  Container container = this.context.getContainers().get(containerID);

  LOG.info("Getting container-status for " + containerIDStr);
  authorizeGetAndStopContainerRequest(containerID, container, false,
    nmTokenIdentifier);

  if (container == null) {
    if (nodeStatusUpdater.isContainerRecentlyStopped(containerID)) {
      throw RPCUtil.getRemoteException("Container " + containerIDStr
        + " was recently stopped on node manager.");
    } else {
      throw RPCUtil.getRemoteException("Container " + containerIDStr
        + " is not handled by this NodeManager");
    }
  }
  ContainerStatus containerStatus = container.cloneAndGetContainerStatus();
  LOG.info("Returning " + containerStatus);
  return containerStatus;
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:23,代碼來源:ContainerManagerImpl.java

示例4: setupLimits

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
private void setupLimits(ContainerId containerId,
                         Resource containerResource) throws IOException {
  String containerName = containerId.toString();

  if (isCpuWeightEnabled()) {
    int containerVCores = containerResource.getVirtualCores();
    createCgroup(CONTROLLER_CPU, containerName);
    int cpuShares = CPU_DEFAULT_WEIGHT * containerVCores;
    updateCgroup(CONTROLLER_CPU, containerName, "shares",
        String.valueOf(cpuShares));
    if (strictResourceUsageMode) {
      int nodeVCores =
          conf.getInt(YarnConfiguration.NM_VCORES,
            YarnConfiguration.DEFAULT_NM_VCORES);
      if (nodeVCores != containerVCores) {
        float containerCPU =
            (containerVCores * yarnProcessors) / (float) nodeVCores;
        int[] limits = getOverallLimits(containerCPU);
        updateCgroup(CONTROLLER_CPU, containerName, CPU_PERIOD_US,
          String.valueOf(limits[0]));
        updateCgroup(CONTROLLER_CPU, containerName, CPU_QUOTA_US,
          String.valueOf(limits[1]));
      }
    }
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:27,代碼來源:CgroupsLCEResourcesHandler.java

示例5: getResourcesOption

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
public String getResourcesOption(ContainerId containerId) {
  String containerName = containerId.toString();

  StringBuilder sb = new StringBuilder("cgroups=");

  if (isCpuWeightEnabled()) {
    sb.append(pathForCgroup(CONTROLLER_CPU, containerName) + "/tasks");
    sb.append(PrivilegedOperation.LINUX_FILE_PATH_SEPARATOR);
  }

  if (sb.charAt(sb.length() - 1) ==
      PrivilegedOperation.LINUX_FILE_PATH_SEPARATOR) {
    sb.deleteCharAt(sb.length() - 1);
  }

  return sb.toString();
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:18,代碼來源:CgroupsLCEResourcesHandler.java

示例6: storeContainer

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
@Override
public void storeContainer(ContainerId containerId,
    StartContainerRequest startRequest) throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("storeContainer: containerId= " + containerId
        + ", startRequest= " + startRequest);
  }

  String key = CONTAINERS_KEY_PREFIX + containerId.toString()
      + CONTAINER_REQUEST_KEY_SUFFIX;
  try {
    db.put(bytes(key),
      ((StartContainerRequestPBImpl) startRequest).getProto().toByteArray());
  } catch (DBException e) {
    throw new IOException(e);
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:18,代碼來源:NMLeveldbStateStoreService.java

示例7: storeContainerDiagnostics

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
@Override
public void storeContainerDiagnostics(ContainerId containerId,
    StringBuilder diagnostics) throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("storeContainerDiagnostics: containerId=" + containerId
    + ", diagnostics=" + diagnostics);
  }

  String key = CONTAINERS_KEY_PREFIX + containerId.toString()
      + CONTAINER_DIAGS_KEY_SUFFIX;
  try {
    db.put(bytes(key), bytes(diagnostics.toString()));
  } catch (DBException e) {
    throw new IOException(e);
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:17,代碼來源:NMLeveldbStateStoreService.java

示例8: removeContainer

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
@Override
public void removeContainer(ContainerId containerId)
    throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("removeContainer: containerId=" + containerId);
  }

  String keyPrefix = CONTAINERS_KEY_PREFIX + containerId.toString();
  try {
    WriteBatch batch = db.createWriteBatch();
    try {
      batch.delete(bytes(keyPrefix + CONTAINER_REQUEST_KEY_SUFFIX));
      batch.delete(bytes(keyPrefix + CONTAINER_DIAGS_KEY_SUFFIX));
      batch.delete(bytes(keyPrefix + CONTAINER_LAUNCHED_KEY_SUFFIX));
      batch.delete(bytes(keyPrefix + CONTAINER_KILLED_KEY_SUFFIX));
      batch.delete(bytes(keyPrefix + CONTAINER_EXIT_CODE_KEY_SUFFIX));
      db.write(batch);
    } finally {
      batch.close();
    }
  } catch (DBException e) {
    throw new IOException(e);
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:25,代碼來源:NMLeveldbStateStoreService.java

示例9: testForCorruptedAggregatedLogs

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
@Test
public void testForCorruptedAggregatedLogs() throws Exception {
  Configuration conf = new Configuration();
  File workDir = new File(testWorkDir, "testReadAcontainerLogs1");
  Path remoteAppLogFile =
      new Path(workDir.getAbsolutePath(), "aggregatedLogFile");
  Path srcFileRoot = new Path(workDir.getAbsolutePath(), "srcFiles");
  ContainerId testContainerId = TestContainerId.newContainerId(1, 1, 1, 1);
  Path t =
      new Path(srcFileRoot, testContainerId.getApplicationAttemptId()
          .getApplicationId().toString());
  Path srcFilePath = new Path(t, testContainerId.toString());

  long numChars = 950000;

  writeSrcFileAndALog(srcFilePath, "stdout", numChars, remoteAppLogFile,
     srcFileRoot, testContainerId);

  LogReader logReader = new LogReader(conf, remoteAppLogFile);
  LogKey rLogKey = new LogKey();
  DataInputStream dis = logReader.next(rLogKey);
  Writer writer = new StringWriter();
  try {
    LogReader.readAcontainerLogs(dis, writer);
  } catch (Exception e) {
    if(e.toString().contains("NumberFormatException")) {
      Assert.fail("Aggregated logs are corrupted.");
    }
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:31,代碼來源:TestAggregatedLogFormat.java

示例10: stopContainerInternal

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
@SuppressWarnings("unchecked")
private void stopContainerInternal(NMTokenIdentifier nmTokenIdentifier,
    ContainerId containerID) throws YarnException, IOException {
  String containerIDStr = containerID.toString();
  Container container = this.context.getContainers().get(containerID);
  LOG.info("Stopping container with container Id: " + containerIDStr);
  authorizeGetAndStopContainerRequest(containerID, container, true,
    nmTokenIdentifier);

  if (container == null) {
    if (!nodeStatusUpdater.isContainerRecentlyStopped(containerID)) {
      throw RPCUtil.getRemoteException("Container " + containerIDStr
        + " is not handled by this NodeManager");
    }
  } else {
    context.getNMStateStore().storeContainerKilled(containerID);
    dispatcher.getEventHandler().handle(
      new ContainerKillEvent(containerID,
          ContainerExitStatus.KILLED_BY_APPMASTER,
          "Container killed by the ApplicationMaster."));

    NMAuditLogger.logSuccess(container.getUser(),    
      AuditConstants.STOP_CONTAINER, "ContainerManageImpl", containerID
        .getApplicationAttemptId().getApplicationId(), containerID);

    // TODO: Move this code to appropriate place once kill_container is
    // implemented.
    nodeStatusUpdater.sendOutofBandHeartBeat();
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:31,代碼來源:ContainerManagerImpl.java

示例11: storeContainerLaunched

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
@Override
public void storeContainerLaunched(ContainerId containerId)
    throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("storeContainerLaunched: containerId=" + containerId);
  }

  String key = CONTAINERS_KEY_PREFIX + containerId.toString()
      + CONTAINER_LAUNCHED_KEY_SUFFIX;
  try {
    db.put(bytes(key), EMPTY_VALUE);
  } catch (DBException e) {
    throw new IOException(e);
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:16,代碼來源:NMLeveldbStateStoreService.java

示例12: storeContainerKilled

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
@Override
public void storeContainerKilled(ContainerId containerId)
    throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("storeContainerKilled: containerId=" + containerId);
  }

  String key = CONTAINERS_KEY_PREFIX + containerId.toString()
      + CONTAINER_KILLED_KEY_SUFFIX;
  try {
    db.put(bytes(key), EMPTY_VALUE);
  } catch (DBException e) {
    throw new IOException(e);
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:16,代碼來源:NMLeveldbStateStoreService.java

示例13: storeContainerCompleted

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
@Override
public void storeContainerCompleted(ContainerId containerId,
    int exitCode) throws IOException {
  if (LOG.isDebugEnabled()) {
    LOG.debug("storeContainerCompleted: containerId=" + containerId);
  }

  String key = CONTAINERS_KEY_PREFIX + containerId.toString()
      + CONTAINER_EXIT_CODE_KEY_SUFFIX;
  try {
    db.put(bytes(key), bytes(Integer.toString(exitCode)));
  } catch (DBException e) {
    throw new IOException(e);
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:16,代碼來源:NMLeveldbStateStoreService.java

示例14: validateContainerReleaseRequest

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的package包/類
/**
 * It will validate to make sure all the containers belong to correct
 * application attempt id. If not then it will throw
 * {@link InvalidContainerReleaseException}
 * 
 * @param containerReleaseList
 *          containers to be released as requested by application master.
 * @param appAttemptId
 *          Application attempt Id
 * @throws InvalidContainerReleaseException
 */
public static void
    validateContainerReleaseRequest(List<ContainerId> containerReleaseList,
        ApplicationAttemptId appAttemptId)
        throws InvalidContainerReleaseException {
  for (ContainerId cId : containerReleaseList) {
    if (!appAttemptId.equals(cId.getApplicationAttemptId())) {
      throw new InvalidContainerReleaseException(
          "Cannot release container : "
              + cId.toString()
              + " not belonging to this application attempt : "
              + appAttemptId);
    }
  }
}
 
開發者ID:naver,項目名稱:hadoop,代碼行數:26,代碼來源:RMServerUtils.java

示例15: startContainers

import org.apache.hadoop.yarn.api.records.ContainerId; //導入方法依賴的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


注:本文中的org.apache.hadoop.yarn.api.records.ContainerId.toString方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。