本文整理汇总了Java中org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode类的典型用法代码示例。如果您正苦于以下问题:Java SchedulerNode类的具体用法?Java SchedulerNode怎么用?Java SchedulerNode使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
SchedulerNode类属于org.apache.hadoop.yarn.server.resourcemanager.scheduler包,在下文中一共展示了SchedulerNode类的16个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: testAddAndRemoveAppFromCapacityScheduler
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
@Test
public void testAddAndRemoveAppFromCapacityScheduler() throws Exception {
CapacitySchedulerConfiguration conf = new CapacitySchedulerConfiguration();
setupQueueConfiguration(conf);
conf.setClass(YarnConfiguration.RM_SCHEDULER, CapacityScheduler.class,
ResourceScheduler.class);
MockRM rm = new MockRM(conf);
@SuppressWarnings("unchecked")
AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode> cs =
(AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode>) rm
.getResourceScheduler();
SchedulerApplication<SchedulerApplicationAttempt> app =
TestSchedulerUtils.verifyAppAddedAndRemovedFromScheduler(
cs.getSchedulerApplications(), cs, "a1");
Assert.assertEquals("a1", app.getQueue().getQueueName());
}
开发者ID:naver,项目名称:hadoop,代码行数:18,代码来源:TestCapacityScheduler.java
示例2: mockSchedulerNodes
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
/**
* Format is:
* host1=partition;
* host2=partition;
*/
private void mockSchedulerNodes(String schedulerNodesConfigStr)
throws IOException {
String[] nodesConfigStrArray = schedulerNodesConfigStr.split(";");
for (String p : nodesConfigStrArray) {
NodeId nodeId = NodeId.newInstance(p.substring(0, p.indexOf("=")), 1);
String partition = p.substring(p.indexOf("=") + 1, p.length());
SchedulerNode sn = mock(SchedulerNode.class);
when(sn.getNodeID()).thenReturn(nodeId);
when(sn.getPartition()).thenReturn(partition);
nodeIdToSchedulerNodes.put(nodeId, sn);
LOG.debug("add scheduler node, id=" + nodeId + ", partition=" + partition);
}
}
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:21,代码来源:TestProportionalCapacityPreemptionPolicyForNodePartitions.java
示例3: rollbackContainerResource
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
private void rollbackContainerResource(
ContainerId containerId) {
RMContainer rmContainer = getRMContainer(containerId);
if (rmContainer == null) {
LOG.info("Cannot rollback resource for container " + containerId +
". The container does not exist.");
return;
}
FiCaSchedulerApp application = getCurrentAttemptForContainer(containerId);
if (application == null) {
LOG.info("Cannot rollback resource for container " + containerId +
". The application that the container belongs to does not exist.");
return;
}
LOG.info("Roll back resource for container " + containerId);
LeafQueue leafQueue = (LeafQueue) application.getQueue();
synchronized(leafQueue) {
SchedulerNode schedulerNode =
getSchedulerNode(rmContainer.getAllocatedNode());
SchedContainerChangeRequest decreaseRequest =
new SchedContainerChangeRequest(this.rmContext, schedulerNode,
rmContainer, rmContainer.getLastConfirmedResource());
decreaseContainer(decreaseRequest, application);
}
}
开发者ID:hopshadoop,项目名称:hops,代码行数:26,代码来源:CapacityScheduler.java
示例4: testAddAndRemoveAppFromFiFoScheduler
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
@Test
public void testAddAndRemoveAppFromFiFoScheduler() throws Exception {
Configuration conf = new Configuration();
conf.setClass(YarnConfiguration.RM_SCHEDULER, FifoScheduler.class,
ResourceScheduler.class);
MockRM rm = new MockRM(conf);
@SuppressWarnings("unchecked")
AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode> fs =
(AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode>) rm
.getResourceScheduler();
TestSchedulerUtils.verifyAppAddedAndRemovedFromScheduler(
fs.getSchedulerApplications(), fs, "queue");
}
开发者ID:naver,项目名称:hadoop,代码行数:14,代码来源:TestFifoScheduler.java
示例5: testAddAndRemoveAppFromFairScheduler
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
@Test
public void testAddAndRemoveAppFromFairScheduler() throws Exception {
AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode> scheduler =
(AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode>) resourceManager
.getResourceScheduler();
TestSchedulerUtils.verifyAppAddedAndRemovedFromScheduler(
scheduler.getSchedulerApplications(), scheduler, "default");
}
开发者ID:naver,项目名称:hadoop,代码行数:9,代码来源:TestFairScheduler.java
示例6: serviceInit
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void serviceInit(Configuration conf) throws Exception {
((AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode>)
scheduler).init(conf);
super.serviceInit(conf);
}
开发者ID:naver,项目名称:hadoop,代码行数:8,代码来源:ResourceSchedulerWrapper.java
示例7: serviceStart
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void serviceStart() throws Exception {
((AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode>)
scheduler).start();
super.serviceStart();
}
开发者ID:naver,项目名称:hadoop,代码行数:8,代码来源:ResourceSchedulerWrapper.java
示例8: serviceStop
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
@SuppressWarnings("unchecked")
@Override
public void serviceStop() throws Exception {
((AbstractYarnScheduler<SchedulerApplicationAttempt, SchedulerNode>)
scheduler).stop();
super.serviceStop();
}
开发者ID:naver,项目名称:hadoop,代码行数:8,代码来源:ResourceSchedulerWrapper.java
示例9: addAMNodeToBlackList
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
private void addAMNodeToBlackList(NodeId nodeId) {
SchedulerNode schedulerNode = scheduler.getSchedulerNode(nodeId);
if (schedulerNode != null) {
blacklistedNodesForAM.addNode(schedulerNode.getNodeName());
} else {
LOG.info(nodeId + " is not added to AM blacklist for "
+ applicationAttemptId + ", because it has been removed");
}
}
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:10,代码来源:RMAppAttemptImpl.java
示例10: setReservation
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
private synchronized void setReservation(SchedulerNode node) {
String rackName = node.getRackName() == null ? "NULL" : node.getRackName();
Set<String> rackReservations = reservations.get(rackName);
if (rackReservations == null) {
rackReservations = new HashSet<>();
reservations.put(rackName, rackReservations);
}
rackReservations.add(node.getNodeName());
}
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:10,代码来源:FSAppAttempt.java
示例11: clearReservation
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
private synchronized void clearReservation(SchedulerNode node) {
String rackName = node.getRackName() == null ? "NULL" : node.getRackName();
Set<String> rackReservations = reservations.get(rackName);
if (rackReservations != null) {
rackReservations.remove(node.getNodeName());
}
}
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:8,代码来源:FSAppAttempt.java
示例12: allocateIncreaseRequestFromReservedContainer
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
private CSAssignment allocateIncreaseRequestFromReservedContainer(
SchedulerNode node, Resource cluster,
SchedContainerChangeRequest increaseRequest) {
if (Resources.fitsIn(rc, cluster, increaseRequest.getDeltaCapacity(),
node.getAvailableResource())) {
// OK, we can allocate this increase request
// Unreserve it first
application.unreserve(increaseRequest.getPriority(),
(FiCaSchedulerNode) node, increaseRequest.getRMContainer());
// Notify application
application.increaseContainer(increaseRequest);
// Notify node
node.increaseContainer(increaseRequest.getContainerId(),
increaseRequest.getDeltaCapacity());
return createSuccessfullyIncreasedCSAssignment(increaseRequest, true);
} else {
if (LOG.isDebugEnabled()) {
LOG.debug("Failed to allocate reserved increase request:"
+ increaseRequest.toString()
+ ". There's no enough available resource");
}
// We still cannot allocate this container, will wait for next turn
return CSAssignment.SKIP_ASSIGNMENT;
}
}
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:30,代码来源:IncreaseContainerAllocator.java
示例13: verifyAvailableResourceOfSchedulerNode
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
private void verifyAvailableResourceOfSchedulerNode(MockRM rm, NodeId nodeId,
int expectedMemory) {
CapacityScheduler cs = (CapacityScheduler) rm.getResourceScheduler();
SchedulerNode node = cs.getNode(nodeId);
Assert
.assertEquals(expectedMemory, node.getAvailableResource().getMemory());
}
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:8,代码来源:TestContainerResizing.java
示例14: setResourceAndNodeDetails
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
private void setResourceAndNodeDetails() {
when(mCS.getClusterResource()).thenReturn(clusterResources);
when(lm.getResourceByLabel(anyString(), any(Resource.class))).thenReturn(
clusterResources);
SchedulerNode mNode = mock(SchedulerNode.class);
when(mNode.getPartition()).thenReturn(RMNodeLabelsManager.NO_LABEL);
when(mCS.getSchedulerNode(any(NodeId.class))).thenReturn(mNode);
}
开发者ID:aliyun-beta,项目名称:aliyun-oss-hadoop-fs,代码行数:10,代码来源:TestProportionalCapacityPreemptionPolicy.java
示例15: subtractResourcesOnBlacklistedNodes
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
private void subtractResourcesOnBlacklistedNodes(
Resource availableResources) {
if (appSchedulingInfo.getAndResetBlacklistChanged()) {
blacklistNodeIds.clear();
scheduler.addBlacklistedNodeIdsToList(this, blacklistNodeIds);
}
for (NodeId nodeId: blacklistNodeIds) {
SchedulerNode node = scheduler.getSchedulerNode(nodeId);
if (node != null) {
Resources.subtractFromNonNegative(availableResources,
node.getAvailableResource());
}
}
}
开发者ID:hopshadoop,项目名称:hops,代码行数:15,代码来源:FSAppAttempt.java
示例16: deductPreemptableResourcesBasedSelectedCandidates
import org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode; //导入依赖的package包/类
public static void deductPreemptableResourcesBasedSelectedCandidates(
CapacitySchedulerPreemptionContext context,
Map<ApplicationAttemptId, Set<RMContainer>> selectedCandidates) {
for (Set<RMContainer> containers : selectedCandidates.values()) {
for (RMContainer c : containers) {
SchedulerNode schedulerNode = context.getScheduler()
.getSchedulerNode(c.getAllocatedNode());
if (null == schedulerNode) {
continue;
}
String partition = schedulerNode.getPartition();
String queue = c.getQueueName();
TempQueuePerPartition tq = context.getQueueByPartition(queue,
partition);
Resource res = c.getReservedResource();
if (null == res) {
res = c.getAllocatedResource();
}
if (null != res) {
tq.deductActuallyToBePreempted(context.getResourceCalculator(),
tq.totalPartitionResource, res);
Collection<TempAppPerPartition> tas = tq.getApps();
if (null == tas || tas.isEmpty()) {
continue;
}
deductPreemptableResourcePerApp(context, tq.totalPartitionResource,
tas, res, partition);
}
}
}
}
开发者ID:hopshadoop,项目名称:hops,代码行数:36,代码来源:CapacitySchedulerPreemptionUtils.java
注:本文中的org.apache.hadoop.yarn.server.resourcemanager.scheduler.SchedulerNode类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论