Created 01-03-2017 10:37 PM
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)
Created 01-05-2017 09:51 PM
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.
Created 01-03-2017 10:52 PM
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
Created 01-03-2017 10:55 PM
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
Created 01-03-2017 11:12 PM
@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
Created 01-03-2017 11:35 PM
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.
Created 01-03-2017 11:48 PM
Created 01-03-2017 11:55 PM
bq. OpenTSDB only has Netty 3.2.4 jar
But the list below showed netty-3.9.4.Final.jar
Created 01-04-2017 12:03 AM
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 ?
Created 01-04-2017 12:49 AM
@Ted Yu - pls see my comments above.
Created 01-04-2017 11:32 AM
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)