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


Java RMContext类代码示例

本文整理汇总了Java中org.apache.hadoop.yarn.server.resourcemanager.RMContext的典型用法代码示例。如果您正苦于以下问题:Java RMContext类的具体用法?Java RMContext怎么用?Java RMContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


RMContext类属于org.apache.hadoop.yarn.server.resourcemanager包,在下文中一共展示了RMContext类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: AMRMTokenSecretManager

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
/**
 * Create an {@link AMRMTokenSecretManager}
 */
public AMRMTokenSecretManager(Configuration conf, RMContext rmContext) {
  this.rmContext = rmContext;
  this.timer = new Timer();
  this.rollingInterval =
      conf
        .getLong(
          YarnConfiguration.RM_AMRM_TOKEN_MASTER_KEY_ROLLING_INTERVAL_SECS,
          YarnConfiguration.DEFAULT_RM_AMRM_TOKEN_MASTER_KEY_ROLLING_INTERVAL_SECS) * 1000;
  // Adding delay = 1.5 * expiry interval makes sure that all active AMs get
  // the updated shared-key.
  this.activationDelay =
      (long) (conf.getLong(YarnConfiguration.RM_AM_EXPIRY_INTERVAL_MS,
          YarnConfiguration.DEFAULT_RM_AM_EXPIRY_INTERVAL_MS) * 1.5);
  LOG.info("AMRMTokenKeyRollingInterval: " + this.rollingInterval
      + "ms and AMRMTokenKeyActivationDelay: " + this.activationDelay + " ms");
  if (rollingInterval <= activationDelay * 2) {
    throw new IllegalArgumentException(
        YarnConfiguration.RM_AMRM_TOKEN_MASTER_KEY_ROLLING_INTERVAL_SECS
            + " should be more than 3 X "
            + YarnConfiguration.RM_AM_EXPIRY_INTERVAL_MS);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:26,代码来源:AMRMTokenSecretManager.java

示例2: RMContainerImpl

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
public RMContainerImpl(Container container,
    ApplicationAttemptId appAttemptId, NodeId nodeId,
    String user, RMContext rmContext, long creationTime) {
  this.stateMachine = stateMachineFactory.make(this);
  this.containerId = container.getId();
  this.nodeId = nodeId;
  this.container = container;
  this.appAttemptId = appAttemptId;
  this.user = user;
  this.creationTime = creationTime;
  this.rmContext = rmContext;
  this.eventHandler = rmContext.getDispatcher().getEventHandler();
  this.containerAllocationExpirer = rmContext.getContainerAllocationExpirer();
  this.isAMContainer = false;
  this.resourceRequests = null;

  ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
  this.readLock = lock.readLock();
  this.writeLock = lock.writeLock();

  rmContext.getRMApplicationHistoryWriter().containerStarted(this);
  rmContext.getSystemMetricsPublisher().containerCreated(
      this, this.creationTime);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:25,代码来源:RMContainerImpl.java

示例3: RMNodeImpl

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
public RMNodeImpl(NodeId nodeId, RMContext context, String hostName,
    int cmPort, int httpPort, Node node, Resource capability, String nodeManagerVersion) {
  this.nodeId = nodeId;
  this.context = context;
  this.hostName = hostName;
  this.commandPort = cmPort;
  this.httpPort = httpPort;
  this.totalCapability = capability; 
  this.nodeAddress = hostName + ":" + cmPort;
  this.httpAddress = hostName + ":" + httpPort;
  this.node = node;
  this.healthReport = "Healthy";
  this.lastHealthReportTime = System.currentTimeMillis();
  this.nodeManagerVersion = nodeManagerVersion;

  this.latestNodeHeartBeatResponse.setResponseId(0);

  ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
  this.readLock = lock.readLock();
  this.writeLock = lock.writeLock();

  this.stateMachine = stateMachineFactory.make(this);
  
  this.nodeUpdateQueue = new ConcurrentLinkedQueue<UpdatedContainerInfo>();  
}
 
开发者ID:naver,项目名称:hadoop,代码行数:26,代码来源:RMNodeImpl.java

示例4: handleRunningAppOnNode

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
private static void handleRunningAppOnNode(RMNodeImpl rmNode,
    RMContext context, ApplicationId appId, NodeId nodeId) {
  RMApp app = context.getRMApps().get(appId);

  // if we failed getting app by appId, maybe something wrong happened, just
  // add the app to the finishedApplications list so that the app can be
  // cleaned up on the NM
  if (null == app) {
    LOG.warn("Cannot get RMApp by appId=" + appId
        + ", just added it to finishedApplications list for cleanup");
    rmNode.finishedApplications.add(appId);
    return;
  }

  context.getDispatcher().getEventHandler()
      .handle(new RMAppRunningOnNodeEvent(appId, nodeId));
}
 
开发者ID:naver,项目名称:hadoop,代码行数:18,代码来源:RMNodeImpl.java

示例5: RMAppAttemptImpl

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
public RMAppAttemptImpl(ApplicationAttemptId appAttemptId,
    RMContext rmContext, YarnScheduler scheduler,
    ApplicationMasterService masterService,
    ApplicationSubmissionContext submissionContext,
    Configuration conf, boolean maybeLastAttempt, ResourceRequest amReq) {
  this.conf = conf;
  this.applicationAttemptId = appAttemptId;
  this.rmContext = rmContext;
  this.eventHandler = rmContext.getDispatcher().getEventHandler();
  this.submissionContext = submissionContext;
  this.scheduler = scheduler;
  this.masterService = masterService;

  ReentrantReadWriteLock lock = new ReentrantReadWriteLock();
  this.readLock = lock.readLock();
  this.writeLock = lock.writeLock();

  this.proxiedTrackingUrl = generateProxyUriWithScheme();
  this.maybeLastAttempt = maybeLastAttempt;
  this.stateMachine = stateMachineFactory.make(this);

  this.attemptMetrics =
      new RMAppAttemptMetrics(applicationAttemptId, rmContext);
  
  this.amReq = amReq;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:27,代码来源:RMAppAttemptImpl.java

示例6: SchedulerApplicationAttempt

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
public SchedulerApplicationAttempt(ApplicationAttemptId applicationAttemptId, 
    String user, Queue queue, ActiveUsersManager activeUsersManager,
    RMContext rmContext) {
  Preconditions.checkNotNull(rmContext, "RMContext should not be null");
  this.rmContext = rmContext;
  this.appSchedulingInfo = 
      new AppSchedulingInfo(applicationAttemptId, user, queue,  
          activeUsersManager, rmContext.getEpoch());
  this.queue = queue;
  this.pendingRelease = new HashSet<ContainerId>();
  this.attemptId = applicationAttemptId;
  if (rmContext.getRMApps() != null &&
      rmContext.getRMApps()
          .containsKey(applicationAttemptId.getApplicationId())) {
    ApplicationSubmissionContext appSubmissionContext =
        rmContext.getRMApps().get(applicationAttemptId.getApplicationId())
            .getApplicationSubmissionContext();
    if (appSubmissionContext != null) {
      unmanagedAM = appSubmissionContext.getUnmanagedAM();
      this.logAggregationContext =
          appSubmissionContext.getLogAggregationContext();
    }
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:25,代码来源:SchedulerApplicationAttempt.java

示例7: normalizeAndValidateRequest

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
public static void normalizeAndValidateRequest(ResourceRequest resReq,
    Resource maximumResource, String queueName, YarnScheduler scheduler,
    boolean isRecovery, RMContext rmContext, QueueInfo queueInfo)
    throws InvalidResourceRequestException {

  if (queueInfo == null) {
    try {
      queueInfo = scheduler.getQueueInfo(queueName, false, false);
    } catch (IOException e) {
      // it is possible queue cannot get when queue mapping is set, just ignore
      // the queueInfo here, and move forward
    }
  }
  SchedulerUtils.normalizeNodeLabelExpressionInRequest(resReq, queueInfo);
  if (!isRecovery) {
    validateResourceRequest(resReq, maximumResource, queueInfo, rmContext);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:19,代码来源:SchedulerUtils.java

示例8: reinitialize

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
@Override
public synchronized void
reinitialize(Configuration conf, RMContext rmContext) throws IOException {
  Configuration configuration = new Configuration(conf);
  CapacitySchedulerConfiguration oldConf = this.conf;
  this.conf = loadCapacitySchedulerConfiguration(configuration);
  validateConf(this.conf);
  try {
    LOG.info("Re-initializing queues...");
    refreshMaximumAllocation(this.conf.getMaximumAllocation());
    reinitializeQueues(this.conf);
  } catch (Throwable t) {
    this.conf = oldConf;
    refreshMaximumAllocation(this.conf.getMaximumAllocation());
    throw new IOException("Failed to re-init queues", t);
  }
}
 
开发者ID:naver,项目名称:hadoop,代码行数:18,代码来源:CapacityScheduler.java

示例9: setUp

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
  counter = new AtomicInteger(0);
  conf.set(CommonConfigurationKeysPublic.HADOOP_SECURITY_AUTHENTICATION,
      "kerberos");
  UserGroupInformation.setConfiguration(conf);
  eventQueue = new LinkedBlockingQueue<Event>();
  dispatcher = new AsyncDispatcher(eventQueue);
  Renewer.reset();
  delegationTokenRenewer = createNewDelegationTokenRenewer(conf, counter);
  RMContext mockContext =  mock(RMContext.class);
  ClientRMService mockClientRMService = mock(ClientRMService.class);
  when(mockContext.getSystemCredentialsForApps()).thenReturn(
    new ConcurrentHashMap<ApplicationId, ByteBuffer>());
  when(mockContext.getDelegationTokenRenewer()).thenReturn(
      delegationTokenRenewer);
  when(mockContext.getDispatcher()).thenReturn(dispatcher);
  when(mockContext.getClientRMService()).thenReturn(mockClientRMService);
  InetSocketAddress sockAddr =
      InetSocketAddress.createUnresolved("localhost", 1234);
  when(mockClientRMService.getBindAddress()).thenReturn(sockAddr);
  delegationTokenRenewer.setRMContext(mockContext);
  delegationTokenRenewer.init(conf);
  delegationTokenRenewer.start();
}
 
开发者ID:naver,项目名称:hadoop,代码行数:26,代码来源:TestDelegationTokenRenewer.java

示例10: mockCapacityScheduler

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
public static CapacityScheduler mockCapacityScheduler() throws IOException {
  // stolen from TestCapacityScheduler
  CapacitySchedulerConfiguration conf = new CapacitySchedulerConfiguration();
  setupQueueConfiguration(conf);

  CapacityScheduler cs = new CapacityScheduler();
  cs.setConf(new YarnConfiguration());
  RMContext rmContext = new RMContextImpl(null, null, null, null, null,
      null, new RMContainerTokenSecretManager(conf),
      new NMTokenSecretManagerInRM(conf),
      new ClientToAMTokenSecretManagerInRM(), null);
  rmContext.setNodeLabelManager(new NullRMNodeLabelsManager());
  cs.setRMContext(rmContext);
  cs.init(conf);
  return cs;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:17,代码来源:TestRMWebApp.java

示例11: setUp

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
@Before
public void setUp() throws Exception {
  final RMContext mockRMContext =
      TestRMWebApp.mockRMContext(3, numberOfRacks, numberOfNodesPerRack,
        8 * TestRMWebApp.GiB);
  injector =
      WebAppTests.createMockInjector(RMContext.class, mockRMContext,
        new Module() {
          @Override
          public void configure(Binder binder) {
            try {
              binder.bind(ResourceManager.class).toInstance(
                TestRMWebApp.mockRm(mockRMContext));
            } catch (IOException e) {
              throw new IllegalStateException(e);
            }
          }
        });
}
 
开发者ID:naver,项目名称:hadoop,代码行数:20,代码来源:TestNodesPage.java

示例12: setupFairScheduler

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
public static FairScheduler setupFairScheduler(
    ReservationSystemTestUtil testUtil,
    RMContext rmContext, Configuration conf, int numContainers) throws
    IOException {
  FairScheduler scheduler = new FairScheduler();
  scheduler.setRMContext(rmContext);

  when(rmContext.getScheduler()).thenReturn(scheduler);

  scheduler.init(conf);
  scheduler.start();
  scheduler.reinitialize(conf, rmContext);


  Resource resource = testUtil.calculateClusterResource(numContainers);
  RMNode node1 = MockNodes.newNodeInfo(1, resource, 1, "127.0.0.1");
  NodeAddedSchedulerEvent nodeEvent1 = new NodeAddedSchedulerEvent(node1);
  scheduler.handle(nodeEvent1);
  return scheduler;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:21,代码来源:ReservationSystemTestUtil.java

示例13: mockCapacityScheduler

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
@SuppressWarnings("unchecked")
public CapacityScheduler mockCapacityScheduler(int numContainers)
    throws IOException {
  // stolen from TestCapacityScheduler
  CapacitySchedulerConfiguration conf = new CapacitySchedulerConfiguration();
  setupQueueConfiguration(conf);

  CapacityScheduler cs = Mockito.spy(new CapacityScheduler());
  cs.setConf(new YarnConfiguration());

  RMContext mockRmContext = createRMContext(conf);

  cs.setRMContext(mockRmContext);
  try {
    cs.serviceInit(conf);
  } catch (Exception e) {
    Assert.fail(e.getMessage());
  }

  initializeRMContext(numContainers, cs, mockRmContext);
  return cs;
}
 
开发者ID:naver,项目名称:hadoop,代码行数:23,代码来源:ReservationSystemTestUtil.java

示例14: testFairReservationSystemInitialize

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
@Test
public void testFairReservationSystemInitialize() throws IOException {
  ReservationSystemTestUtil.setupFSAllocationFile(ALLOC_FILE);

  ReservationSystemTestUtil testUtil = new ReservationSystemTestUtil();
  
  // Setup
  RMContext mockRMContext = testUtil.createRMContext(conf);
  scheduler = ReservationSystemTestUtil.setupFairScheduler(testUtil,
      mockRMContext, conf, 10);

  FairReservationSystem reservationSystem = new FairReservationSystem();
  reservationSystem.setRMContext(mockRMContext);

  try {
    reservationSystem.reinitialize(scheduler.getConf(), mockRMContext);
  } catch (YarnException e) {
    Assert.fail(e.getMessage());
  }

  ReservationSystemTestUtil.validateReservationQueue(reservationSystem,
      testUtil.getFullReservationQueueName());
}
 
开发者ID:naver,项目名称:hadoop,代码行数:24,代码来源:TestFairReservationSystem.java

示例15: setup

import org.apache.hadoop.yarn.server.resourcemanager.RMContext; //导入依赖的package包/类
@Before
public void setup() throws Exception {
  Configuration conf = new Configuration();
  clock = new TestFairScheduler.MockClock();
  scheduler = mock(FairScheduler.class);
  when(scheduler.getConf()).thenReturn(
      new FairSchedulerConfiguration(conf));
  when(scheduler.getClock()).thenReturn(clock);
  AllocationConfiguration allocConf = new AllocationConfiguration(
      conf);
  when(scheduler.getAllocationConfiguration()).thenReturn(allocConf);
  
  queueManager = new QueueManager(scheduler);
  queueManager.initialize(conf);
  queueMaxApps = allocConf.queueMaxApps;
  userMaxApps = allocConf.userMaxApps;
  maxAppsEnforcer = new MaxRunningAppsEnforcer(scheduler);
  appNum = 0;
  rmContext = mock(RMContext.class);
  when(rmContext.getEpoch()).thenReturn(0L);
}
 
开发者ID:naver,项目名称:hadoop,代码行数:22,代码来源:TestMaxRunningAppsEnforcer.java


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