gpt4 book ai didi

java - JMX异常 "Caused by: java.lang.ClassNotFoundException: [Lbyte;"

转载 作者:行者123 更新时间:2023-12-03 04:17:32 28 4
gpt4 key购买 nike

运行一些 HBase 代码时遇到以下问题。看起来它起源于 MXBean 位。我对此完全一无所知,但看起来水平很低。

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:1646)
at org.apache.hadoop.hbase.master.HMaster.finishInitialization(HMaster.java:527)
at org.apache.hadoop.hbase.master.HMaster.run(HMaster.java:336)
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)
... 14 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)
... 18 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)
... 33 more

最佳答案

看起来 HBase JIRA 上已报告了此情况

https://issues.apache.org/jira/browse/HBASE-5718

他们认为这是一个 JMX 问题,在查看 source code 后我倾向于同意这一点。以下。请注意有关永远不会看到原始数组的评论。不知何故,一个原始数组进入了这里,并且被视为一个对象类。

  323       /* Make the converter for an array type, or a collection such as
324 * List<String> or Set<Integer>. We never see one-dimensional
325 * primitive arrays (e.g. int[]) here because they use the identity
326 * converter and are registered as such in the static initializer.
327 */
328 private static OpenConverter
329 makeArrayOrCollectionConverter(Type collectionType, Type elementType)
330 throws OpenDataException {
331
332 final OpenConverter elementConverter = toConverter(elementType);
333 final OpenType<?> elementOpenType = elementConverter.getOpenType();
334 final ArrayType<?> openType = ArrayType.getArrayType(elementOpenType);
335 final Class<?> elementOpenClass = elementConverter.getOpenClass();
336
337 final Class<?> openArrayClass;
338 final String openArrayClassName;
339 if (elementOpenClass.isArray())
340 openArrayClassName = "[" + elementOpenClass.getName();
341 else
342 openArrayClassName = "[L" + elementOpenClass.getName() + ";";
343 try {
344 openArrayClass = Class.forName(openArrayClassName);

关于java - JMX异常 "Caused by: java.lang.ClassNotFoundException: [Lbyte;",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10020702/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com