[ 
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.

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

> 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 
> $JMX_OPTS"
> 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
(v6.2#6252)

Reply via email to