YARN-758. Augment MockNM to use multiple cores (Karthik Kambatla via Sandy Ryza)
git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/trunk@1509086 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
1f2d08fbe5
commit
1ff7043a1f
|
@ -27,6 +27,9 @@ Release 2.3.0 - UNRELEASED
|
||||||
|
|
||||||
BUG FIXES
|
BUG FIXES
|
||||||
|
|
||||||
|
YARN-758. Augment MockNM to use multiple cores (Karthik Kambatla via
|
||||||
|
Sandy Ryza)
|
||||||
|
|
||||||
Release 2.1.1-beta - UNRELEASED
|
Release 2.1.1-beta - UNRELEASED
|
||||||
|
|
||||||
INCOMPATIBLE CHANGES
|
INCOMPATIBLE CHANGES
|
||||||
|
|
|
@ -30,6 +30,7 @@ import org.apache.hadoop.yarn.api.records.ContainerState;
|
||||||
import org.apache.hadoop.yarn.api.records.ContainerStatus;
|
import org.apache.hadoop.yarn.api.records.ContainerStatus;
|
||||||
import org.apache.hadoop.yarn.api.records.NodeId;
|
import org.apache.hadoop.yarn.api.records.NodeId;
|
||||||
import org.apache.hadoop.yarn.api.records.Resource;
|
import org.apache.hadoop.yarn.api.records.Resource;
|
||||||
|
import org.apache.hadoop.yarn.conf.YarnConfiguration;
|
||||||
import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatRequest;
|
import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatRequest;
|
||||||
import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse;
|
import org.apache.hadoop.yarn.server.api.protocolrecords.NodeHeartbeatResponse;
|
||||||
import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest;
|
import org.apache.hadoop.yarn.server.api.protocolrecords.RegisterNodeManagerRequest;
|
||||||
|
@ -45,14 +46,24 @@ public class MockNM {
|
||||||
private int responseId;
|
private int responseId;
|
||||||
private NodeId nodeId;
|
private NodeId nodeId;
|
||||||
private final int memory;
|
private final int memory;
|
||||||
private final int vCores = 1;
|
private final int vCores;
|
||||||
private ResourceTrackerService resourceTracker;
|
private ResourceTrackerService resourceTracker;
|
||||||
private final int httpPort = 2;
|
private final int httpPort = 2;
|
||||||
private MasterKey currentContainerTokenMasterKey;
|
private MasterKey currentContainerTokenMasterKey;
|
||||||
private MasterKey currentNMTokenMasterKey;
|
private MasterKey currentNMTokenMasterKey;
|
||||||
|
|
||||||
public MockNM(String nodeIdStr, int memory, ResourceTrackerService resourceTracker) {
|
public MockNM(String nodeIdStr, int memory, ResourceTrackerService resourceTracker) {
|
||||||
|
// scale vcores based on the requested memory
|
||||||
|
this(nodeIdStr, memory,
|
||||||
|
Math.max(1, (memory * YarnConfiguration.DEFAULT_NM_VCORES) /
|
||||||
|
YarnConfiguration.DEFAULT_NM_PMEM_MB),
|
||||||
|
resourceTracker);
|
||||||
|
}
|
||||||
|
|
||||||
|
public MockNM(String nodeIdStr, int memory, int vcores,
|
||||||
|
ResourceTrackerService resourceTracker) {
|
||||||
this.memory = memory;
|
this.memory = memory;
|
||||||
|
this.vCores = vcores;
|
||||||
this.resourceTracker = resourceTracker;
|
this.resourceTracker = resourceTracker;
|
||||||
String[] splits = nodeIdStr.split(":");
|
String[] splits = nodeIdStr.split(":");
|
||||||
nodeId = BuilderUtils.newNodeId(splits[0], Integer.parseInt(splits[1]));
|
nodeId = BuilderUtils.newNodeId(splits[0], Integer.parseInt(splits[1]));
|
||||||
|
|
Loading…
Reference in New Issue