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

Reply via email to