Skip to content

Commit

Permalink
Merge pull request #39 from plypaul/configurable_tasktracker_jvm
Browse files Browse the repository at this point in the history
Configurable JVM options for Mesos Executor
tarnfeld committed Jan 29, 2015
2 parents 4022866 + 9366b1f commit f53e067
Showing 1 changed file with 7 additions and 2 deletions.
9 changes: 7 additions & 2 deletions src/main/java/org/apache/hadoop/mapred/ResourcePolicy.java
Original file line number Diff line number Diff line change
@@ -327,7 +327,7 @@ public void resourceOffers(SchedulerDriver schedulerDriver,
scheduler.mesosTrackers.put(httpAddress, new MesosTracker(httpAddress, taskId,
mapSlots, reduceSlots, scheduler));

List<String> jvmOpts = Arrays.asList(
List<String> defaultJvmOpts = Arrays.asList(
"-XX:+UseConcMarkSweepGC",
"-XX:+CMSParallelRemarkEnabled",
"-XX:+CMSClassUnloadingEnabled",
@@ -344,14 +344,19 @@ public void resourceOffers(SchedulerDriver schedulerDriver,
"-XX:CMSInitiatingOccupancyFraction=80"
);

String jvmOpts = scheduler.conf.get("mapred.mesos.executor.jvm.opts");
if (jvmOpts == null) {
jvmOpts = StringUtils.join(" ", defaultJvmOpts);
}

// Set up the environment for running the TaskTracker.
Protos.Environment.Builder envBuilder = Protos.Environment
.newBuilder()
.addVariables(
Protos.Environment.Variable.newBuilder()
.setName("HADOOP_OPTS")
.setValue(
StringUtils.join(" ", jvmOpts) +
jvmOpts +
" -Xmx" + tasktrackerJVMHeap + "m" +
" -XX:NewSize=" + tasktrackerJVMHeap / 3 + "m -XX:MaxNewSize=" + (int)Math.floor
(tasktrackerJVMHeap * 0.6) + "m"

0 comments on commit f53e067

Please # to comment.