HBASE-5718 seems to say it's reproducible only on openjdk. HBase requires the jdk from Oracle (see http://hbase.apache.org/book.html#basic.prerequisites). Issues that occur on other jdk are not rejected, but usually receives a lower priority. If someone provides a patch, it will be integrated.
On Mon, Dec 17, 2012 at 10:20 AM, Ivan Ryndin <[email protected]> wrote: > Hi all, > > when starting HBase on a single node have following exceptions in log > files: > > ====================================== > javax.management.NotCompliantMBeanException: > org.apache.hadoop.hbase.master.MXBean: Method > org.apache.hadoop.hbase.master.MXBean.getRegionServers has parameter or > return type that cannot be translated into an open type > at > com.sun.jmx.mbeanserver.Introspector.throwException(Introspector.java:419) > at > com.sun.jmx.mbeanserver.MBeanAnalyzer.<init>(MBeanAnalyzer.java:118) > at > com.sun.jmx.mbeanserver.MBeanAnalyzer.analyzer(MBeanAnalyzer.java:104) > at > > com.sun.jmx.mbeanserver.MXBeanIntrospector.getAnalyzer(MXBeanIntrospector.java:71) > at > > com.sun.jmx.mbeanserver.MBeanIntrospector.getPerInterface(MBeanIntrospector.java:181) > at > com.sun.jmx.mbeanserver.MBeanSupport.<init>(MBeanSupport.java:136) > at > com.sun.jmx.mbeanserver.MXBeanSupport.<init>(MXBeanSupport.java:66) > at > > com.sun.jmx.mbeanserver.Introspector.makeDynamicMBean(Introspector.java:184) > at > > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerObject(DefaultMBeanServerInterceptor.java:936) > at > > com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.registerMBean(DefaultMBeanServerInterceptor.java:330) > at > > com.sun.jmx.mbeanserver.JmxMBeanServer.registerMBean(JmxMBeanServer.java:516) > at > org.apache.hadoop.metrics.util.MBeanUtil.registerMBean(MBeanUtil.java:58) > at > org.apache.hadoop.hbase.master.HMaster.registerMBean(HMaster.java:1829) > at > > org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:562) > at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:349) > at > > org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster.run(HMasterCommandLine.java:220) > at java.lang.Thread.run(Thread.java:679) > Caused by: java.lang.IllegalArgumentException: Method > org.apache.hadoop.hbase.master.MXBean.getRegionServers has parameter or > return type that cannot be translated into an open type > at > com.sun.jmx.mbeanserver.ConvertingMethod.from(ConvertingMethod.java:45) > at > > com.sun.jmx.mbeanserver.MXBeanIntrospector.mFrom(MXBeanIntrospector.java:81) > at > > com.sun.jmx.mbeanserver.MXBeanIntrospector.mFrom(MXBeanIntrospector.java:51) > at > com.sun.jmx.mbeanserver.MBeanAnalyzer.initMaps(MBeanAnalyzer.java:135) > at > com.sun.jmx.mbeanserver.MBeanAnalyzer.<init>(MBeanAnalyzer.java:116) > ... 15 more > Caused by: javax.management.openmbean.OpenDataException: Cannot obtain > array class > at > > com.sun.jmx.mbeanserver.OpenConverter.openDataException(OpenConverter.java:1389) > at > > com.sun.jmx.mbeanserver.OpenConverter.makeArrayOrCollectionConverter(OpenConverter.java:346) > at > com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:295) > at > com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:277) > at > > com.sun.jmx.mbeanserver.OpenConverter.makeTabularConverter(OpenConverter.java:376) > at > > com.sun.jmx.mbeanserver.OpenConverter.makeParameterizedConverter(OpenConverter.java:417) > at > com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:312) > at > com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:277) > at > > com.sun.jmx.mbeanserver.OpenConverter.makeCompositeConverter(OpenConverter.java:482) > at > com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:309) > at > com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:277) > at > > com.sun.jmx.mbeanserver.OpenConverter.makeTabularConverter(OpenConverter.java:377) > at > > com.sun.jmx.mbeanserver.OpenConverter.makeParameterizedConverter(OpenConverter.java:417) > at > com.sun.jmx.mbeanserver.OpenConverter.makeConverter(OpenConverter.java:312) > at > com.sun.jmx.mbeanserver.OpenConverter.toConverter(OpenConverter.java:277) > at > com.sun.jmx.mbeanserver.ConvertingMethod.<init>(ConvertingMethod.java:197) > at > com.sun.jmx.mbeanserver.ConvertingMethod.from(ConvertingMethod.java:40) > ... 19 more > Caused by: java.lang.ClassNotFoundException: [Lbyte; > at java.lang.Class.forName0(Native Method) > at java.lang.Class.forName(Class.java:186) > at > > com.sun.jmx.mbeanserver.OpenConverter.makeArrayOrCollectionConverter(OpenConverter.java:344) > ... 34 more > > ====================================== > > Yes, I know about > https://issues.apache.org/jira/browse/HBASE-5718 > and about > https://issues.apache.org/jira/browse/HBASE-5971 > > Also looked at: > > http://stackoverflow.com/questions/10020702/jmx-exception-caused-by-java-lang-classnotfoundexception-lbyte > > I didn't config JMX beans in hbase-site.xml (should I do this?). The only > config is ( hbase-site.xml): > ====================== > <configuration> > <property> > <name>hbase.rootdir</name> > <value>file:///data/hbase</value> > </property> > <property> > <name>hbase.zookeeper.property.dataDir</name> > <value>/data/zookeeper</value> > </property> > </configuration> > ====================== > > It seems that hbase developers do not consider this JMX issue as a > noticeable problem. Am I right? > > -- > Best regards, > Ivan P. Ryndin, >
