You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Josh Elser (JIRA)" <ji...@apache.org> on 2016/12/10 00:43:58 UTC
[jira] [Created] (HBASE-17285) Misconfiguration of JVM GC options
in HADOOP_CLIENT_OPTS may break `bin/hbase`
Josh Elser created HBASE-17285:
----------------------------------
Summary: Misconfiguration of JVM GC options in HADOOP_CLIENT_OPTS may break `bin/hbase`
Key: HBASE-17285
URL: https://issues.apache.org/jira/browse/HBASE-17285
Project: HBase
Issue Type: Bug
Components: scripts
Reporter: Josh Elser
Assignee: Josh Elser
Priority: Minor
Fix For: 2.0.0
Had the great fun of digging through this one. Had a user reporting that hiveserver2 was no longer finding HBase jars on the classpath. This is supposed to happen via {{hbase mapredcp}}.
It turned out that they had configured hive-env.sh to set {{HADOOP_CLIENT_OPTS="-XX:+PrintGCDetails"}} (among other things), which creates a big multi-line string instead of just a directory. Because of poor quoting in {{bin/hbase}}, this gives you a wonderfully intuitive error:
{noformat}
Error: Could not find or load main class Heap
{noformat}
That {{Heap}} is actually from the JVM GC details that it was told to print. While I don't expect this to be a common problem people run into, it's one that we can address with better quoting. e.g.
{noformat}
+ exec /Library/Java/JavaVirtualMachines/jdk1.8.0_45.jdk/Contents/Home/bin/java -Dproc_mapredcp '-XX:OnOutOfMemoryError=kill -9 %p' -XX:+UseConcMarkSweepGC -Dhbase.log.dir=/usr/local/lib/hbase//logs -Dhbase.log.file=hbase.log -Dhbase.home.dir=/usr/local/lib/hbase/ -Dhbase.id.str= -Dhbase.root.logger=INFO,console '-Djava.library.path='\''/usr/local/lib/hadoop//lib/native' Heap PSYoungGen total 76800K, used 7942K '[0x00000007f5500000,' 0x00000007faa80000, '0x0000000800000000)' eden space 66048K, 12% used '[0x00000007f5500000,0x00000007f5cc19c0,0x00000007f9580000)' from space 10752K, 0% used '[0x00000007fa000000,0x00000007fa000000,0x00000007faa80000)' to space 10752K, 0% used '[0x00000007f9580000,0x00000007f9580000,0x00000007fa000000)' ParOldGen total 174592K, used 0K '[0x00000007e0000000,' 0x00000007eaa80000, '0x00000007f5500000)' object space 174592K, 0% used '[0x00000007e0000000,0x00000007e0000000,0x00000007eaa80000)' PSPermGen total 21504K, used 2756K '[0x00000007dae00000,' 0x00000007dc300000, '0x00000007e0000000)' object space 21504K, 12% used '[0x00000007dae00000,0x00000007db0b11b8,0x00000007dc300000)'\''' -Dhbase.security.logger=INFO,NullAppender org.apache.hadoop.hbase.util.MapreduceDependencyClasspathTool
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)