Affects Version/s: 0.20.0
Fix Version/s: None
bin/hadoop assumes that all daemon types ( namenode, datanode, jobtracker, tasktracker ), all use the same memory settings.. (HADOOP_HEAPSIZE).
I propose changes to that script to allow overriding the default memory ( HADOOP_HEAPSIZE ), with daemon specific OPTS (HADOOP_NAMENODE_OPTS, etc ).
Basically at the bottom of the bin/hadoop script, it will check to see if the user has already set "-Xmx" in the HADOOP_OPTS variable.. if so, then it will ignore the JAVA_HEAP_SIZE variable..
- run it
if [[ $HADOOP_OPTS == -Xmx ]]; then
exec "$JAVA" $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
exec "$JAVA" $JAVA_HEAP_MAX $HADOOP_OPTS -classpath "$CLASSPATH" $CLASS "$@"
I will attach the file as I have modified it..