use of org.apache.myriad.scheduler.TaskUtils in project incubator-myriad by apache.
the class Main method initProfiles.
private void initProfiles(Injector injector) {
LOGGER.info("Initializing Profiles");
ServiceProfileManager profileManager = injector.getInstance(ServiceProfileManager.class);
Map<String, Map<String, String>> profiles = injector.getInstance(MyriadConfiguration.class).getProfiles();
TaskUtils taskUtils = injector.getInstance(TaskUtils.class);
if (MapUtils.isNotEmpty(profiles)) {
for (Map.Entry<String, Map<String, String>> profile : profiles.entrySet()) {
Map<String, String> profileResourceMap = profile.getValue();
if (MapUtils.isNotEmpty(profiles) && profileResourceMap.containsKey("cpu") && profileResourceMap.containsKey("mem")) {
Long cpu = Long.parseLong(profileResourceMap.get("cpu"));
Long mem = Long.parseLong(profileResourceMap.get("mem"));
ServiceResourceProfile serviceProfile = new ExtendedResourceProfile(new NMProfile(profile.getKey(), cpu, mem), taskUtils.getNodeManagerCpus(), taskUtils.getNodeManagerMemory(), taskUtils.getNodeManagerPorts());
profileManager.add(serviceProfile);
} else {
LOGGER.error("Invalid definition for profile: " + profile.getKey());
}
}
}
}
use of org.apache.myriad.scheduler.TaskUtils in project incubator-myriad by apache.
the class NMHeartBeatHandlerTest method setUp.
@Override
@Before
public void setUp() throws Exception {
super.setUp();
this.baseStateStoreDirectory = "/tmp/nm-heartbeat-handler-test";
context = new MockRMContext();
context.setDispatcher(TestObjectFactory.getMockDispatcher());
context.setSystemMetricsPublisher(new SystemMetricsPublisher());
profileZero = TestObjectFactory.getServiceResourceProfile("zero", Double.valueOf(0.0), Double.valueOf(0.0), Long.valueOf(0), Long.valueOf(0));
profileSmall = TestObjectFactory.getServiceResourceProfile("small", Double.valueOf(2.0), Double.valueOf(2048.0), Long.valueOf(1), Long.valueOf(1024));
nodeOne = TestObjectFactory.getRMNode("localhost-one", 8800, Resource.newInstance(0, 0));
nodeTwo = TestObjectFactory.getRMNode("localhost-two", 8800, Resource.newInstance(1024, 2));
sNodeOne = new FSSchedulerNode(nodeOne, false);
sNodeTwo = new FSSchedulerNode(nodeTwo, false);
nodeTaskOne = TestObjectFactory.getNodeTask("localhost-one", profileZero);
nodeTaskTwo = TestObjectFactory.getNodeTask("localhost-two", profileSmall);
ConcurrentMap<NodeId, RMNode> rmNodes = new ConcurrentHashMap<NodeId, RMNode>();
rmNodes.put(nodeOne.getNodeID(), nodeOne);
rmNodes.put(nodeTwo.getNodeID(), nodeTwo);
context.setRMNodes(rmNodes);
store = new NodeStore();
store.add(sNodeOne);
store.add(sNodeTwo);
MyriadDriver driver = TestObjectFactory.getMyriadDriver(new MockSchedulerDriver());
olManager = new OfferLifecycleManager(store, driver);
state = TestObjectFactory.getSchedulerState(new MyriadConfiguration(), "/tmp/nm-heartbeat-handler-test");
state.addNodes(Lists.newArrayList(nodeTaskOne, nodeTaskTwo));
MyriadFairScheduler scheduler = TestObjectFactory.getMyriadFairScheduler(context);
scheduler.addNode(sNodeOne);
scheduler.addNode(sNodeTwo);
manager = new YarnNodeCapacityManager(new CompositeInterceptor(), scheduler, context, driver, olManager, store, state, new TaskUtils(this.cfg));
handler = new NMHeartBeatHandler(new CompositeInterceptor(), scheduler, driver, manager, olManager, store, state, cfg.getNodeManagerConfiguration());
}
use of org.apache.myriad.scheduler.TaskUtils in project incubator-myriad by apache.
the class YarnNodeCapacityManagerTest method setUp.
@Override
@Before
public void setUp() throws Exception {
super.setUp();
this.baseStateStoreDirectory = "/tmp/yarn-node-capacity-manager-test";
context = new MockRMContext();
context.setDispatcher(TestObjectFactory.getMockDispatcher());
context.setSystemMetricsPublisher(new SystemMetricsPublisher());
nodeOne = TestObjectFactory.getRMNode("localhost-one", 8800, Resource.newInstance(2048, 4));
nodeTwo = TestObjectFactory.getRMNode("localhost-two", 8800, Resource.newInstance(1024, 2));
sNodeOne = new FSSchedulerNode(nodeOne, false);
sNodeTwo = new FSSchedulerNode(nodeTwo, false);
containerOne = TestObjectFactory.getRMContainer(nodeOne, context, 1, 2, 1024);
store = new NodeStore();
store.add(sNodeOne);
store.add(sNodeTwo);
MyriadDriver driver = TestObjectFactory.getMyriadDriver(new MockSchedulerDriver());
olManager = new OfferLifecycleManager(store, driver);
state = TestObjectFactory.getSchedulerState(new MyriadConfiguration(), "/tmp/yarn-node-capacity-manager-test");
MyriadFairScheduler scheduler = TestObjectFactory.getMyriadFairScheduler(context);
scheduler.addNode(sNodeOne);
scheduler.addNode(sNodeTwo);
manager = new YarnNodeCapacityManager(new CompositeInterceptor(), scheduler, context, driver, olManager, store, state, new TaskUtils(this.cfg));
}
Aggregations