Skip to content

Commit

Permalink
Configurable JVM options for Mesos Executor
Browse files Browse the repository at this point in the history
  • Loading branch information
plypaul committed Jan 8, 2015
1 parent a4a8f54 commit 9366b1f
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
Expand Up @@ -313,7 +313,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",
Expand All @@ -330,14 +330,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"
Expand Down

0 comments on commit 9366b1f

Please # to comment.