hbase-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrew Purtell (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (HBASE-2217) VM OPTS for shell only
Date Thu, 17 Jul 2014 00:22:04 GMT

     [ https://issues.apache.org/jira/browse/HBASE-2217?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel

Andrew Purtell updated HBASE-2217:

      Resolution: Fixed
    Release Note: Set HBASE_SHELL_OPTS in the environment or in hbase-env.sh to supply extra
VM arguments when launching the HBase command shell. 
    Hadoop Flags: Reviewed
          Status: Resolved  (was: Patch Available)

Thanks Stack.

Pushed trivial change to 0.94+. 

Tested manually locally with 0.94 and 0.98.

$ mvn -DskipTests clean install
$ ./bin/hbase shell
(shell starts)
$ HBASE_SHELL_OPTS="-XX:+Die" ./bin/hbase
Unrecognized VM option 'Die'
Error: Could not create the Java Virtual Machine.

> VM OPTS for shell only
> ----------------------
>                 Key: HBASE-2217
>                 URL: https://issues.apache.org/jira/browse/HBASE-2217
>             Project: HBase
>          Issue Type: Improvement
>            Reporter: stack
>            Assignee: Andrew Purtell
>             Fix For: 0.99.0, 0.96.3, 0.98.5, 0.94.22, 2.0.0
>         Attachments: HBASE-2217.patch
> Over in hbase-2177 Ryan goes on how enabling gc logging, it shows on stdout when you
fire the shell:
> {code}
> so one problem with this is the irb then logs all GC to stdout, which is ugly.  I do
something like this in my scripts:
> export HBASE_OPTS=""
> export HBASE_LOG_DIR=<somewhere>
> export SERVER_GC_OPTS="$HBASE_OPTS -verbose:gc -XX:+PrintGCApplicationStoppedTime -XX:+PrintGCDateStamps
-XX:+PrintGCDetails -Xloggc:$HBASE_HOME/logs/gc-hbase.log"
> export JMX_OPTS="-Dcom.sun.management.jmxremote.authenticate=true -Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.password.file=$HBASE_HOME/conf/jmxremote.password -Dcom.sun.management.jmxremote"
> export HBASE_MASTER_OPTS="$SERVER_GC_OPTS -Xloggc:$HBASE_LOG_DIR/logs/gc-master.log"
> export HBASE_REGIONSERVER_OPTS="$SERVER_GC_OPTS -Xloggc:$HBASE_LOG_DIR/gc-hbase.log -Dcom.sun.management.jmxremote.port=10102
> export HBASE_THRIFT_OPTS="-Xmx1000m $SERVER_GC_OPTS -Xloggc:$HBASE_LOG_DIR/gc-hbase-thrift.log
-Dcom.sun.management.jmxremote.port=10103 $JMX_OPTS"
> export HBASE_ZOOKEEPER_OPTS="-Xmx1000m $SERVER_GC_OPTS -Xloggc:$HBASE_LOG_DIR/gc-zk.log
-Dcom.sun.management.jmxremote.port=10104 $JMX_OPTS"
> now you get remote JMX with logging to whatever directory (we have to log to our large
data partition since logs... can be big).  Also the shell doesnt log GC to stdout, and you
can get separate GC logs for hmaster, hrs, thrift, zookeeper.
> {code}
> Need to make an OPTS for the shell to use.... or do the above.

This message was sent by Atlassian JIRA

View raw message