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


Java NMAuditLogger.logFailure方法代码示例

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


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

示例1: authorizeGetAndStopContainerRequest

import org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger; //导入方法依赖的package包/类
@Private
@VisibleForTesting
protected void authorizeGetAndStopContainerRequest(ContainerId containerId,
    Container container, boolean stopRequest, NMTokenIdentifier identifier)
    throws YarnException {
  /*
   * For get/stop container status; we need to verify that 1) User (NMToken)
   * application attempt only has started container. 2) Requested containerId
   * belongs to the same application attempt (NMToken) which was used. (Note:-
   * This will prevent user in knowing another application's containers).
   */
  ApplicationId nmTokenAppId =
      identifier.getApplicationAttemptId().getApplicationId();
  
  if ((!nmTokenAppId.equals(containerId.getApplicationAttemptId().getApplicationId()))
      || (container != null && !nmTokenAppId.equals(container
          .getContainerId().getApplicationAttemptId().getApplicationId()))) {
    if (stopRequest) {
      LOG.warn(identifier.getApplicationAttemptId()
          + " attempted to stop non-application container : "
          + container.getContainerId());
      NMAuditLogger.logFailure("UnknownUser", AuditConstants.STOP_CONTAINER,
        "ContainerManagerImpl", "Trying to stop unknown container!",
        nmTokenAppId, container.getContainerId());
    } else {
      LOG.warn(identifier.getApplicationAttemptId()
          + " attempted to get status for non-application container : "
          + container.getContainerId());
    }
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:32,代码来源:ContainerManagerImpl.java

示例2: transition

import org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger; //导入方法依赖的package包/类
@Override
public void transition(ContainerImpl container, ContainerEvent event) {
  container.metrics.failedContainer();
  NMAuditLogger.logFailure(container.user,
      AuditConstants.FINISH_FAILED_CONTAINER, "ContainerImpl",
      "Container failed with state: " + container.getContainerState(),
      container.containerId.getApplicationAttemptId().getApplicationId(),
      container.containerId);
  super.transition(container, event);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:11,代码来源:ContainerImpl.java

示例3: authorizeGetAndStopContainerRequest

import org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger; //导入方法依赖的package包/类
@Private
@VisibleForTesting
protected void authorizeGetAndStopContainerRequest(ContainerId containerId,
    Container container, boolean stopRequest, NMTokenIdentifier identifier)
    throws YarnException {
  if (identifier == null) {
    throw RPCUtil.getRemoteException(INVALID_NMTOKEN_MSG);
  }
  /*
   * For get/stop container status; we need to verify that 1) User (NMToken)
   * application attempt only has started container. 2) Requested containerId
   * belongs to the same application attempt (NMToken) which was used. (Note:-
   * This will prevent user in knowing another application's containers).
   */
  ApplicationId nmTokenAppId =
      identifier.getApplicationAttemptId().getApplicationId();
  
  if ((!nmTokenAppId.equals(containerId.getApplicationAttemptId().getApplicationId()))
      || (container != null && !nmTokenAppId.equals(container
          .getContainerId().getApplicationAttemptId().getApplicationId()))) {
    if (stopRequest) {
      LOG.warn(identifier.getApplicationAttemptId()
          + " attempted to stop non-application container : "
          + container.getContainerId());
      NMAuditLogger.logFailure("UnknownUser", AuditConstants.STOP_CONTAINER,
        "ContainerManagerImpl", "Trying to stop unknown container!",
        nmTokenAppId, container.getContainerId());
    } else {
      LOG.warn(identifier.getApplicationAttemptId()
          + " attempted to get status for non-application container : "
          + container.getContainerId());
    }
  }
}
 
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:35,代码来源:ContainerManagerImpl.java

示例4: authorizeGetAndStopContainerRequest

import org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger; //导入方法依赖的package包/类
@Private
@VisibleForTesting
protected void authorizeGetAndStopContainerRequest(ContainerId containerId,
    Container container, boolean stopRequest, NMTokenIdentifier identifier)
    throws YarnException {
  /*
   * For get/stop container status; we need to verify that 1) User (NMToken)
   * application attempt only has started container. 2) Requested containerId
   * belongs to the same application attempt (NMToken) which was used. (Note:-
   * This will prevent user in knowing another application's containers).
   */
  ApplicationId nmTokenAppId =
      identifier.getApplicationAttemptId().getApplicationId();
  if ((!nmTokenAppId.equals(containerId.getApplicationAttemptId().getApplicationId()))
      || (container != null && !nmTokenAppId.equals(container
        .getContainerId().getApplicationAttemptId().getApplicationId()))) {
    if (stopRequest) {
      LOG.warn(identifier.getApplicationAttemptId()
          + " attempted to stop non-application container : "
          + container.getContainerId());
      NMAuditLogger.logFailure("UnknownUser", AuditConstants.STOP_CONTAINER,
        "ContainerManagerImpl", "Trying to stop unknown container!",
        nmTokenAppId, container.getContainerId());
    } else {
      LOG.warn(identifier.getApplicationAttemptId()
          + " attempted to get status for non-application container : "
          + container.getContainerId());
    }
  }
}
 
开发者ID:Nextzero,项目名称:hadoop-2.6.0-cdh5.4.3,代码行数:31,代码来源:ContainerManagerImpl.java

示例5: authorizeGetAndStopContainerRequest

import org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger; //导入方法依赖的package包/类
@Private
@VisibleForTesting
protected void authorizeGetAndStopContainerRequest(ContainerId containerId,
    Container container, boolean stopRequest, NMTokenIdentifier identifier)
    throws YarnException {
  /*
   * For get/stop container status; we need to verify that 1) User (NMToken)
   * application attempt only has started container. 2) Requested containerId
   * belongs to the same application attempt (NMToken) which was used. (Note:-
   * This will prevent user in knowing another application's containers).
   */

  if ((!identifier.getApplicationAttemptId().equals(
    containerId.getApplicationAttemptId()))
      || (container != null && !identifier.getApplicationAttemptId().equals(
        container.getContainerId().getApplicationAttemptId()))) {
    if (stopRequest) {
      LOG.warn(identifier.getApplicationAttemptId()
          + " attempted to stop non-application container : "
          + container.getContainerId().toString());
      NMAuditLogger.logFailure("UnknownUser", AuditConstants.STOP_CONTAINER,
        "ContainerManagerImpl", "Trying to stop unknown container!",
        identifier.getApplicationAttemptId().getApplicationId(),
        container.getContainerId());
    } else {
      LOG.warn(identifier.getApplicationAttemptId()
          + " attempted to get get status for non-application container : "
          + container.getContainerId().toString());
    }
    throw RPCUtil.getRemoteException("Container " + containerId.toString()
        + " is not started by this application attempt.");
  }

  if (container == null) {
    throw RPCUtil.getRemoteException("Container " + containerId.toString()
        + " is not handled by this NodeManager");
  }
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:39,代码来源:ContainerManagerImpl.java

示例6: authorizeGetAndStopContainerRequest

import org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger; //导入方法依赖的package包/类
@Private
@VisibleForTesting
protected void authorizeGetAndStopContainerRequest(ContainerId containerId,
    Container container, boolean stopRequest, NMTokenIdentifier identifier)
    throws YarnException {
  if (identifier == null) {
    throw RPCUtil.getRemoteException(INVALID_NMTOKEN_MSG);
  }
  /*
   * For get/stop container status; we need to verify that 1) User (NMToken)
   * application attempt only has started container. 2) Requested containerId
   * belongs to the same application attempt (NMToken) which was used. (Note:-
   * This will prevent user in knowing another application's containers).
   */
  ApplicationId nmTokenAppId =
      identifier.getApplicationAttemptId().getApplicationId();
  
  if ((!nmTokenAppId.equals(containerId.getApplicationAttemptId().getApplicationId()))
      || (container != null && !nmTokenAppId.equals(container
          .getContainerId().getApplicationAttemptId().getApplicationId()))) {
    String msg;
    if (stopRequest) {
      msg = identifier.getApplicationAttemptId()
          + " attempted to stop non-application container : "
          + containerId;
      NMAuditLogger.logFailure("UnknownUser", AuditConstants.STOP_CONTAINER,
          "ContainerManagerImpl", "Trying to stop unknown container!",
          nmTokenAppId, containerId);
    } else {
      msg = identifier.getApplicationAttemptId()
          + " attempted to get status for non-application container : "
          + containerId;
    }
    LOG.warn(msg);
    throw RPCUtil.getRemoteException(msg);
  }
}
 
开发者ID:hopshadoop,项目名称:hops,代码行数:38,代码来源:ContainerManagerImpl.java

示例7: authorizeGetAndStopContainerRequest

import org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger; //导入方法依赖的package包/类
@Private
@VisibleForTesting
protected void authorizeGetAndStopContainerRequest(ContainerId containerId,
    Container container, boolean stopRequest, NMTokenIdentifier identifier)
    throws YarnException {
  /*
   * For get/stop container status; we need to verify that 1) User (NMToken)
   * application attempt only has started container. 2) Requested containerId
   * belongs to the same application attempt (NMToken) which was used. (Note:-
   * This will prevent user in knowing another application's containers).
   */

  if ((!identifier.getApplicationAttemptId().equals(
    containerId.getApplicationAttemptId()))
      || (container != null && !identifier.getApplicationAttemptId().equals(
        container.getContainerId().getApplicationAttemptId()))) {
    if (stopRequest) {
      LOG.warn(identifier.getApplicationAttemptId()
          + " attempted to stop non-application container : "
          + container.getContainerId().toString());
      NMAuditLogger.logFailure("UnknownUser", AuditConstants.STOP_CONTAINER,
        "ContainerManagerImpl", "Trying to stop unknown container!",
        identifier.getApplicationAttemptId().getApplicationId(),
        container.getContainerId());
    } else {
      LOG.warn(identifier.getApplicationAttemptId()
          + " attempted to get status for non-application container : "
          + container.getContainerId().toString());
    }
  }

}
 
开发者ID:chendave,项目名称:hadoop-TCP,代码行数:33,代码来源:ContainerManagerImpl.java

示例8: startContainerInternal

import org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger; //导入方法依赖的package包/类
@SuppressWarnings("unchecked")
private void startContainerInternal(NMTokenIdentifier nmTokenIdentifier,
    ContainerTokenIdentifier containerTokenIdentifier,
    StartContainerRequest request) throws YarnException, IOException {

  /*
   * 1) It should save the NMToken into NMTokenSecretManager. This is done
   * here instead of RPC layer because at the time of opening/authenticating
   * the connection it doesn't know what all RPC calls user will make on it.
   * Also new NMToken is issued only at startContainer (once it gets renewed).
   * 
   * 2) It should validate containerToken. Need to check below things. a) It
   * is signed by correct master key (part of retrieve password). b) It
   * belongs to correct Node Manager (part of retrieve password). c) It has
   * correct RMIdentifier. d) It is not expired.
   */
  authorizeStartRequest(nmTokenIdentifier, containerTokenIdentifier);
 
  if (containerTokenIdentifier.getRMIdentifer() != nodeStatusUpdater
      .getRMIdentifier()) {
      // Is the container coming from unknown RM
      StringBuilder sb = new StringBuilder("\nContainer ");
      sb.append(containerTokenIdentifier.getContainerID().toString())
        .append(" rejected as it is allocated by a previous RM");
      throw new InvalidContainerException(sb.toString());
  }
  // update NMToken
  updateNMTokenIdentifier(nmTokenIdentifier);

  ContainerId containerId = containerTokenIdentifier.getContainerID();
  String containerIdStr = containerId.toString();
  String user = containerTokenIdentifier.getApplicationSubmitter();

  LOG.info("Start request for " + containerIdStr + " by user " + user);

  ContainerLaunchContext launchContext = request.getContainerLaunchContext();

  Credentials credentials = parseCredentials(launchContext);

  Container container =
      new ContainerImpl(getConfig(), this.dispatcher, launchContext,
        credentials, metrics, containerTokenIdentifier);
  ApplicationId applicationID =
      containerId.getApplicationAttemptId().getApplicationId();
  if (context.getContainers().putIfAbsent(containerId, container) != null) {
    NMAuditLogger.logFailure(user, AuditConstants.START_CONTAINER,
      "ContainerManagerImpl", "Container already running on this node!",
      applicationID, containerId);
    throw RPCUtil.getRemoteException("Container " + containerIdStr
        + " already is running on this node!!");
  }

  // Create the application
  Application application =
      new ApplicationImpl(dispatcher, this.aclsManager, user, applicationID,
        credentials, context);
  if (null == context.getApplications().putIfAbsent(applicationID,
    application)) {
    LOG.info("Creating a new application reference for app " + applicationID);

    dispatcher.getEventHandler().handle(
      new ApplicationInitEvent(applicationID, container.getLaunchContext()
        .getApplicationACLs()));
  }

  dispatcher.getEventHandler().handle(
    new ApplicationContainerInitEvent(container));

  this.context.getContainerTokenSecretManager().startContainerSuccessful(
    containerTokenIdentifier);
  NMAuditLogger.logSuccess(user, AuditConstants.START_CONTAINER,
    "ContainerManageImpl", applicationID, containerId);
  // TODO launchedContainer misplaced -> doesn't necessarily mean a container
  // launch. A finished Application will not launch containers.
  metrics.launchedContainer();
  metrics.allocateContainer(containerTokenIdentifier.getResource()); 
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:78,代码来源:ContainerManagerImpl.java

示例9: finished

import org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger; //导入方法依赖的package包/类
@SuppressWarnings({"fallthrough", "unchecked"})
private void finished() {
  ApplicationId applicationId =
      containerId.getApplicationAttemptId().getApplicationId();
  switch (getContainerState()) {
    case EXITED_WITH_SUCCESS:
      metrics.endRunningContainer();
      metrics.completedContainer();
      NMAuditLogger.logSuccess(user,
          AuditConstants.FINISH_SUCCESS_CONTAINER, "ContainerImpl",
          applicationId, containerId);
      break;
    case EXITED_WITH_FAILURE:
      metrics.endRunningContainer();
      // fall through
    case LOCALIZATION_FAILED:
      metrics.failedContainer();
      NMAuditLogger.logFailure(user,
          AuditConstants.FINISH_FAILED_CONTAINER, "ContainerImpl",
          "Container failed with state: " + getContainerState(),
          applicationId, containerId);
      break;
    case CONTAINER_CLEANEDUP_AFTER_KILL:
      metrics.endRunningContainer();
      // fall through
    case NEW:
      metrics.killedContainer();
      NMAuditLogger.logSuccess(user,
          AuditConstants.FINISH_KILLED_CONTAINER, "ContainerImpl",
          applicationId,
          containerId);
  }

  metrics.releaseContainer(this.resource);

  // Inform the application
  @SuppressWarnings("rawtypes")
  EventHandler eventHandler = dispatcher.getEventHandler();
  eventHandler.handle(new ApplicationContainerFinishedEvent(containerId));
  // Remove the container from the resource-monitor
  eventHandler.handle(new ContainerStopMonitoringEvent(containerId));
  // Tell the logService too
  eventHandler.handle(new LogHandlerContainerFinishedEvent(
    containerId, exitCode));
}
 
开发者ID:ict-carch,项目名称:hadoop-plus,代码行数:46,代码来源:ContainerImpl.java

示例10: finished

import org.apache.hadoop.yarn.server.nodemanager.NMAuditLogger; //导入方法依赖的package包/类
@SuppressWarnings({"fallthrough", "unchecked"})
private void finished() {
  ApplicationId applicationId =
      containerId.getApplicationAttemptId().getApplicationId();
  switch (getContainerState()) {
    case EXITED_WITH_SUCCESS:
      metrics.endRunningContainer();
      metrics.completedContainer();
      NMAuditLogger.logSuccess(user,
          AuditConstants.FINISH_SUCCESS_CONTAINER, "ContainerImpl",
          applicationId, containerId);
      break;
    case EXITED_WITH_FAILURE:
      if (wasLaunched) {
        metrics.endRunningContainer();
      }
      // fall through
    case LOCALIZATION_FAILED:
      metrics.failedContainer();
      NMAuditLogger.logFailure(user,
          AuditConstants.FINISH_FAILED_CONTAINER, "ContainerImpl",
          "Container failed with state: " + getContainerState(),
          applicationId, containerId);
      break;
    case CONTAINER_CLEANEDUP_AFTER_KILL:
      if (wasLaunched) {
        metrics.endRunningContainer();
      }
      // fall through
    case NEW:
      metrics.killedContainer();
      NMAuditLogger.logSuccess(user,
          AuditConstants.FINISH_KILLED_CONTAINER, "ContainerImpl",
          applicationId,
          containerId);
  }

  metrics.releaseContainer(this.resource);

  // Inform the application
  @SuppressWarnings("rawtypes")
  EventHandler eventHandler = dispatcher.getEventHandler();
  eventHandler.handle(new ApplicationContainerFinishedEvent(containerId));
  // Remove the container from the resource-monitor
  eventHandler.handle(new ContainerStopMonitoringEvent(containerId));
  // Tell the logService too
  eventHandler.handle(new LogHandlerContainerFinishedEvent(
    containerId, exitCode));
}
 
开发者ID:Seagate,项目名称:hadoop-on-lustre2,代码行数:50,代码来源:ContainerImpl.java


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