Hi! Storm uses it own thrift library (org.apache.thrift:libthrift:pom:0.9.2). When you submit on the cluster you'll have two different versions of Thrift (0.9.3 yours and 0.9.2 from storm) loaded in the classloader. Solution: 1. Exclude the the thrift version 0.9.3 from the maven dependency (see what library refers to it and use <exclusions><exclusion> maven) . 2. set the the storm-core library as "compile" scope dependency for maven (see <scope> element fro dependency). I hope that it helps. Regards, Florin
On Mon, Jun 27, 2016 at 9:22 AM, Venkatesh Bodapati < venkatesh.bodap...@inndata.in> wrote: > Hi Florin, Thanks for your reply. > > These are the jars i used in mylib : > antlr4-4.5.1-1.jar > antlr4-runtime-4.5.1-1.jar > asm-4.0.jar > carbonite-1.4.0.jar > chill-java-0.3.5.jar > clj-stacktrace-0.2.2.jar > clj-time-0.4.1.jar > clojure-1.5.1.jar > clout-1.0.1.jar > commons-codec-1.6.jar > commons-exec-1.1.jar > commons-fileupload-1.2.1.jar > commons-io-2.4.jar > commons-lang-2.5.jar > commons-logging-1.1.3.jar > commons-logging-api-1.1.jar > compojure-1.1.3.jar > core.incubator-0.1.0.jar > curator-client-2.6.0.jar > curator-framework-2.6.0.jar > derby-10.12.1.1.jar > disruptor-2.10.1.jar > guava-11.0.2.jar > hadoop-client-2.6.0.jar > hadoop-mapreduce-client-core-2.6.0.jar > hiccup-0.3.6.jar > hive-exec-0.8.0.jar > jetty-util-6.1.26.jar > jgrapht-core-0.9.0.jar > jline-2.11.jar > joda-time-2.0.jar > json-simple-1.1.1.jar > junit-4.3.jar > kafka_2.11-0.8.2.1.jar > kafka_2.11-0.8.2.1-javadoc.jar > kafka_2.11-0.8.2.1-scaladoc.jar > kafka_2.11-0.8.2.1-sources.jar > kafka_2.11-0.8.2.1-test.jar > kafka-clients-0.8.2.1.jar > kryo-2.21.jar > logback-classic-1.0.13.jar > logback-core-1.0.13.jar > math.numeric-tower-0.0.1.jar > metrics-core-2.2.0.jar > minlog-1.2.jar > objenesis-1.2.jar > reflectasm-1.07-shaded.jar > ring-core-1.1.5.jar > ring-devel-0.3.11.jar > ring-jetty-adapter-0.3.11.jar > ring-servlet-0.3.11.jar > scala-library-2.11.5.jar > servlet-api-2.5.jar > slf4j-api-1.7.5.jar > snakeyaml-1.11.jar > snappy-java-1.1.1.6.jar > storm-core-0.9.5.jar > tools.cli-0.2.4.jar > tools.logging-0.2.3.jar > tools.macro-0.1.0.jar > zkclient-0.3.jar > zookeeper-3.4.6.jar > gson-2.2.4.jar > java-json.jar > activation-1.1.jar > storm-core-0.9.1-incubating.jar > log4j-1.2.17.jar > mockito-all-1.8.5.jar > org.apache.commons.collections.jar > org.apache.commons.httpclient.jar > org.apache.commons.logging-1.1.1.jar > org.json-20120521.jar > protobuf-java-2.5.0.jar > kafka_2.11-0.8.2.1/libs/jopt-simple-3.2.jar > kafka_2.11-0.8.2.1/libs/scala-parser-combinators_2.11-1.0.2.jar > kafka_2.11-0.8.2.1/libs/scala-xml_2.11-1.0.2.jar > httpcore-4.4.jar > hadoop-auth-2.7.2.jar > hadoop-streaming-2.7.2.jar > htrace-core-3.1.0-incubating.jar > hadoop-nfs-2.7.2.jar > hive-cli-1.2.1.jar > hive-common-1.2.1.jar > hive-contrib-1.2.1.jar > hive-exec-1.2.1.jar > hive-jdbc-1.2.1.jar > hive-metastore-1.2.1.jar > hive-serde-1.2.1.jar > hive-service-1.2.1.jar > hive-testutils-1.2.1.jar > mysql-connector-java-5.1.35-bin.jar > hadoop-common-2.7.1.jar > httpclient-4.5.jar > commons-beanutils-core-1.8.0.jar > commons-collections-3.2.1.jar > commons-configuration-1.6.jar > commons-httpclient-3.0.1.jar > libthrift-0.9.3.jar > > i am using only one libthrift jar that is libthrift-0.9.3 jar now but i > got the same error, like this " java.lang.NoSuchMethodError: > org.apache.thrift.protocol.TProtocol.getScheme()Ljava/lang/Class". > > Thanks & Regards, > venkatesh > > On Thu, Jun 23, 2016 at 2:55 PM, Spico Florin <spicoflo...@gmail.com> > wrote: > >> Hi! >> Please check out your classpath (maven or gradle dependencies). It >> seems that you are using two versions of Thrift library protocol. >> Regards, >> Florin >> >> On Wed, Jun 22, 2016 at 10:40 AM, Venkatesh Bodapati < >> venkatesh.bodap...@inndata.in> wrote: >> >>> I am working on storm with hive,sql,kafka. i will read data from >>> kafkatopic and hive table, and send data to mysql and another kafkatopic.i >>> willn't able to connect with hive from storm. i got error like this >>> >>> java.lang.NoSuchMethodError: >>> org.apache.thrift.protocol.TProtocol.getScheme()Ljava/lang/Class; >>> at >>> org.apache.hive.service.cli.thrift.TCLIService$OpenSession_args.write(TCLIService.java:1854) >>> ~[hive-service-1.2.1.jar:1.2.1] >>> at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:63) >>> ~[hive-exec-0.8.0.jar:0.8.0] >>> at >>> org.apache.hive.service.cli.thrift.TCLIService$Client.send_OpenSession(TCLIService.java:150) >>> ~[hive-service-1.2.1.jar:1.2.1] >>> at >>> org.apache.hive.service.cli.thrift.TCLIService$Client.OpenSession(TCLIService.java:142) >>> ~[hive-service-1.2.1.jar:1.2.1] >>> at >>> org.apache.hive.jdbc.HiveConnection.openSession(HiveConnection.java:583) >>> ~[hive-jdbc-1.2.1.jar:1.2.1] >>> at org.apache.hive.jdbc.HiveConnection.<init>(HiveConnection.java:192) >>> ~[hive-jdbc-1.2.1.jar:1.2.1] >>> at org.apache.hive.jdbc.HiveDriver.connect(HiveDriver.java:105) >>> ~[hive-jdbc-1.2.1.jar:1.2.1] >>> at java.sql.DriverManager.getConnection(DriverManager.java:664) >>> ~[na:1.8.0_91] >>> at java.sql.DriverManager.getConnection(DriverManager.java:247) >>> ~[na:1.8.0_91] >>> at com.inndata.wirecard.kafkaspout.nextTuple(kafkaspout.java:88) >>> ~[MysqlKafkaStream.jar:na] >>> at >>> backtype.storm.daemon.executor$fn__6579$fn__6594$fn__6623.invoke(executor.clj:565) >>> ~[storm-core-0.9.5.jar:0.9.5] >>> at backtype.storm.util$async_loop$fn__459.invoke(util.clj:463) >>> ~[storm-core-0.9.5.jar:0.9.5] >>> at clojure.lang.AFn.run(AFn.java:24) [clojure-1.5.1.jar:na] >>> at java.lang.Thread.run(Thread.java:745) [na:1.8.0_91] >>> 25802 [Thread-17-kafkaspout] ERROR backtype.storm.daemon.executor - >>> >>> i am using hive-1.2.1 version, storm :0.9.5 . using libthrift jar : >>> libthrift-0.9.2.jar.I tried searching for this issue, but i can't find >>> relevent jar.Please help me to fix this. >>> >> >> >