Support Questions

Find answers, ask questions, and share your expertise

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

avatar
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

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

View solution in original post

10 REPLIES 10

avatar
Master 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

avatar
Master 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

avatar
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

avatar
Master 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.

avatar
Expert Contributor

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

OpenTSDB only has Netty 3.2.4 jar.

Pls. confirm.

avatar
Master Collaborator

bq. OpenTSDB only has Netty 3.2.4 jar

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

avatar
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 ?

avatar
Expert Contributor

@Ted Yu - pls see my comments above.

avatar
Master 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)