2016-06-30 2 views
3

나는 flink와 kafka로 작업하고 있는데, 나는이 오류가있다.

asm-4.0.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,curator-test-3.2.0.jar,disruptor-2.10.1.jar,flink-annotations-1.0.3.jar,flink-clients_2.10-1.0.3.jar,flink-clients_2.10-1.0.3-tests.jar,flink-core-1.0.3.jar,flink-dist_2.10-1.0.3.jar,flink-java-1.0.3.jar,flink-optimizer_2.10-1.0.3.jar,flink-python_2.10-1.0.3.jar,flink-runtime_2.10-1.0.3.jar,flink-test-utils_2.10-1.0.3.jar,guava-11.0.2.jar,hadoop-client-2.6.0.jar,hadoop-mapreduce-client-core-2.6.0.jar,hamcrest-all-1.3.jar,jetty-6.1.26.jar,jetty-util-6.1.26.jar,json-simple-1.1.1.jar,junit-4.11.jar,log4j-1.2.17.jar,logback-classic-1.0.13.jar,logback-core-1.0.13.jar,slf4j-api-1.7.7.jar,slf4j-log4j12-1.7.7.jar,zkclient-0.3.jar,zookeeper-3.4.6.jar,flink-connector-kafka-0.10.2.jar,flink-streaming-java-0.10.2.jar,kafka-clients-0.8.2.1.jar,kafka_2.11-0.8.2.1-test.jar,kafka_2.11-0.8.2.1-sources.jar,kafka_2.11-0.8.2.1-scaladoc.jar,kafka_2.11-0.8.2.1-javadoc.jar,kafka_2.11-0.8.2.1.jar,scala-xml_2.11-1.0.2.jar,scala-parser-combinators_2.11-1.0.2.jar,scala-library-2.11.5.jar,metrics-core-2.2.0.jar 
: - 1.0.3 버전 및 Kafka-의 kafka_2.11-0.8.2.1 및 스칼라 - 내가 FLINK 사용하고

java.lang.NoSuchMethodError: scala.Predef$.ArrowAssoc(Ljava/lang/Object;)Ljava/lang/Object; 
    at kafka.consumer.FetchRequestAndResponseMetrics.<init>(FetchRequestAndResponseStats.scala:32) 
    at kafka.consumer.FetchRequestAndResponseStats.<init>(FetchRequestAndResponseStats.scala:46) 
    at kafka.consumer.FetchRequestAndResponseStatsRegistry$$anonfun$2.apply(FetchRequestAndResponseStats.scala:59) 
    at kafka.consumer.FetchRequestAndResponseStatsRegistry$$anonfun$2.apply(FetchRequestAndResponseStats.scala:59) 
    at kafka.utils.Pool.getAndMaybePut(Pool.scala:61) 
    at kafka.consumer.FetchRequestAndResponseStatsRegistry$.getFetchRequestAndResponseStats(FetchRequestAndResponseStats.scala:63) 
    at kafka.consumer.SimpleConsumer.<init>(SimpleConsumer.scala:39) 
    at kafka.javaapi.consumer.SimpleConsumer.<init>(SimpleConsumer.scala:34) 
    at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.getPartitionsForTopic(FlinkKafkaConsumer.java:695) 
    at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer.<init>(FlinkKafkaConsumer.java:281) 
    at org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer082.<init>(FlinkKafkaConsumer082.java:49) 
    at com.inndata.flinkkafka.ReadFromKafka.main(ReadFromKafka.java:19) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
    at java.lang.reflect.Method.invoke(Method.java:498) 
    at org.apache.flink.client.program.PackagedProgram.callMainMethod(PackagedProgram.java:505) 
    at org.apache.flink.client.program.PackagedProgram.invokeInteractiveModeForExecution(PackagedProgram.java:403) 
    at org.apache.flink.client.program.Client.runBlocking(Client.java:248) 
    at org.apache.flink.client.CliFrontend.executeProgramBlocking(CliFrontend.java:866) 
    at org.apache.flink.client.CliFrontend.run(CliFrontend.java:333) 
    at org.apache.flink.client.CliFrontend.parseParameters(CliFrontend.java:1192) 
    at org.apache.flink.client.CliFrontend.main(CliFrontend.java:1243) 

2.11.5,이 내가 내 buildpath에서 사용하고있는 항아리입니다

이 문제에 대한 검색을 시도했지만 관련 jar을 찾을 수 없습니다.이 문제를 해결할 수 있도록 도와주세요.

+2

대부분의 NoSuchMethodErrors는 jar와 런타임 버전 중 하나를 사용하여 개발/컴파일 할 때 다른 버전의 jar (찾고있는 정확한 구문을 포함하지 않는 메소드)를 사용하고 있기 때문에 발생합니다. . jar 버전을 컴파일 시간과 런타임 사이에서 확인하십시오. – kosa

+0

http://stackoverflow.com/questions/25089852/what-is-the-reason-for-java-lang-nosuchmethoderror-scala-predef-arrowassoc-upo – meucaa

+0

'_2.10'과'_2.11'이 있습니다. 클래스 패스에있는 스칼라 라이브러리는 호환되지 않습니다. – knutwalker

답변

2

문제의 원인이 될만한 항아리가 있습니다. scala-library-2.11.5.jar은 Scala 2.11을 사용하고 있음을 시사하며, 이는 kafka_2.11-0.8.2.1.jar과 일치하는 것으로 보입니다.

CP에서도 다른 사람들과 마찬가지로 flink-clients_2.10-1.0.3.jarflink-runtime_2.10-1.0.3.jar이 표시됩니다. 이들은 Scala 2.10에 대해 컴파일 된 스칼라 라이브러리입니다. 그것이 문제이다.

스칼라의 바이너리는 주요 버전에서 호환되지 않습니다. 이 jar가있는 경우 2.11 버전을 찾거나 자신을 2.11로 컴파일해야합니다.