Support Questions
Find answers, ask questions, and share your expertise
Announcements
Alert: Welcome to the Unified Cloudera Community. Former HCC members be sure to read and learn how to activate your account here.

OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Solved Go to solution

OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Expert Contributor

Hi - i've OpenTSDB v2.2.1 installed on HDP 2.4 , and i'm getting the following error on start up :

I've tried unistalling & re-installing OpenTSDB, but the error persists.

Any ideas ?

Command :-

[root@sandbox src]# /root/opentsdb-2.2.1/build/tsdb tsd --zkbasedir=/hbase-unsecure --port=9999 --zkquorum=sandbox.hortonworks.com:2181 --cachedir=/tmp/tsd --staticroot=/root/opentsdb-2.2.1/build/staticroot --auto-metric

Error :-

SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/usr/hdp/2.4.0.0-169/hadoop/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/root/opentsdb-2.2.1/third_party/logback/logback-classic-1.0.13.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 2017-01-03 22:34:06,736 INFO [main] tools.TSDMain (TSDMain.java:main(62)) - Starting. 2017-01-03 22:34:06,745 INFO [main] tools.TSDMain (TSDMain.java:main(63)) - net.opentsdb.tools 2.2.1-SNAPSHOT built at revision 3091079 (MINT) 2017-01-03 22:34:06,745 INFO [main] tools.TSDMain (TSDMain.java:main(64)) - Built on 2016/10/08 18:55:20 +0000 by hobbes@clhbase:/home/hobbes/opentsdb_OFFICIAL/build 2017-01-03 22:34:06,778 INFO [main] utils.Config (Config.java:loadConfig(583)) - Successfully loaded configuration file: opentsdb.conf 2017-01-03 22:34:06,870 INFO [main] async.Config (Config.java:loadConfig(367)) - Successfully loaded configuration file: opentsdb.conf Exception in thread "main" java.lang.RuntimeException: Initialization failed at net.opentsdb.tools.TSDMain.main(TSDMain.java:196) Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.<init>(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V at org.hbase.async.HBaseClient.newTimer(HBaseClient.java:627) at org.hbase.async.HBaseClient.defaultChannelFactory(HBaseClient.java:656) at org.hbase.async.HBaseClient.<init>(HBaseClient.java:557) at net.opentsdb.core.TSDB.<init>(TSDB.java:150) at net.opentsdb.core.TSDB.<init>(TSDB.java:220) at net.opentsdb.tools.TSDMain.main(TSDMain.java:150)

1 ACCEPTED SOLUTION

Accepted Solutions

Re: OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Expert Contributor

The issue is fixed, there was a conflict since the map-reduce component (which was also added to the classpath) has a different netty jar from the one used by OpenTSDB.

I've removed the map-reduce jars from the CLASSPATH to fix the issue.

10 REPLIES 10

Re: OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Super Collaborator

The above seems to indicate version mismatch of netty between OpenTSDB and HDP 2.4

Can you get the version of netty for OpenTSDB 2.2.1 ?

Thanks

Re: OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Super Collaborator

Here is HDP 2.4's dependency:

[INFO] org.apache.hbase:hbase-it:jar:1.1.2

...

[INFO] +- org.jboss.netty:netty:jar:3.2.4.Final:compile

Re: OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Expert Contributor

@Ted Yu -

Here is the netty version bundles with opentsdb ->

Any ideas ?

[root@sandbox opentsdb-2.2.1]# cd third_party/netty/ [root@sandbox netty]# ls -lrt total 1288 -rw-rw-r-- 1 1000 1000 33 2016-05-02 19:02 netty-3.9.4.Final.jar.md5 -rw-rw-r-- 1 1000 1000 1908 2016-05-02 19:02 include.mk -rw-rw-r-- 1 1000 1000 1310154 2016-10-08 18:55 netty-3.9.4.Final.jar

Re: OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Super Collaborator

As you can see, there are two netty jars on the classpath with different version.

I am not aware of plan to support OpenTSDB.

See if you can build OpenTSDB with the netty version hbase uses.

Shading is another option but I am not expert there.

Re: OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Expert Contributor

@Ted Yu - which two jars are you talking about ?

OpenTSDB only has Netty 3.2.4 jar.

Pls. confirm.

Re: OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Super Collaborator

bq. OpenTSDB only has Netty 3.2.4 jar

But the list below showed netty-3.9.4.Final.jar

Re: OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Expert Contributor

Maybe i'm missing the point here ..

what i meant was, The netty jars in OpenTSDB (v2.2.1) is

-> netty-3.9.4.Final.jar

is there a different version for Netty required ?

Re: OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Expert Contributor

@Ted Yu - pls see my comments above.

Re: OpenTSDB startup error -> Caused by: java.lang.NoSuchMethodError: org.jboss.netty.util.HashedWheelTimer.(Ljava/util/concurrent/ThreadFactory;Lorg/jboss/netty/util/ThreadNameDeterminer;JLjava/util/concurrent/TimeUnit;I)V

Super Collaborator

bq. is there a different version for Netty required ?

As I said above, HDP 2.4 came with 3.2.4.Final which is different from 3.9.4.Final (opentsdb built with)