Affects Version/s: None
Fix Version/s: 0.20.1
bin/hbase assumes that all daemon types ( master, regionserver ), all use the same memory settings.. (HBASE_HEAPSIZE).
1) I propose adding daemon specific OPTS much like hadoop already has ( HBASE_MASTER_OPTS, HBASE_REGIONSERVER_OPTS ).
So in bin/hbase, we would merge in the daemon specific opts within the case statement as such:
elif [ "$COMMAND" = "master" ] ; then
elif [ "$COMMAND" = "regionserver" ] ; then
the new environment variables can then be added to hbase-env.sh as empty:
2) I propose changes to that script to allow overriding the default memory ( HBASE_HEAPSIZE ), with daemon specific OPTS (HBASE_MASTER_OPTS, etc ).
Basically at the bottom of the bin/hbase script, it will check to see if the user has already set "-Xmx" in the HBASE_OPTS variable.. if so, then it will ignore the JAVA_HEAP_SIZE variable..
- run it
if [[ $HBASE_OPTS == -Xmx ]]; then
exec "$JAVA" $HBASE_OPTS -classpath "$CLASSPATH" $CLASS "$@"
exec "$JAVA" $JAVA_HEAP_MAX $HBASE_OPTS -classpath "$CLASSPATH" $CLASS "$@"
I will attach the file as I have modified it..