2017-07-27 5 views
0

Ich versuche, ein einfaches Apache Flink-Skript mit Kafka-Integration auszuführen, aber ich habe weiterhin Probleme mit der Ausführung. Das Skript sollte Nachrichten lesen, die von einem Kafka-Produzenten kommen, sie ausarbeiten und dann das Ergebnis der Verarbeitung zu einem anderen Thema zurücksenden. Ich habe dieses Beispiel von hier: http://apache-flink-user-mailing-list-archive.2336050.n4.nabble.com/Simple-Flink-Kafka-Test-td4828.htmlkafka-apache flink Ausführung log4j Fehler

Der Fehler, den ich habe, ist:

Exception in thread "main" java.lang.NoSuchFieldError:ALL 
at org.apache.flink.streaming.api.graph.StreamingJobGraphGenera‌tor.createJobGraph(S‌​treamingJobGraphGene‌​rator.java:86) 
at org.apache.flink.streaming.api.graph.StreamGraph.getJobGraph‌​(StreamGraph.java:42‌​9) 
at org.apache.flink.streaming.api.environment.LocalStreamEnviro‌nment.execute(LocalS‌​treamEnvironment.jav‌​a:46) 

bei org.apache.flink.streaming.api.environment.LocalStreamEnvironment.execute (Locals treamEnvironment. jav a: 33)

Dies ist mein Code:

public class App { 
     public static void main(String[] args) throws Exception { 
      StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); 
      Properties properties = new Properties(); 
      properties.setProperty("bootstrap.servers", "localhost:9092"); 

      //properties.setProperty("zookeeper.connect", "localhost:2181"); 
      properties.setProperty("group.id", "javaflink"); 

      DataStream<String> messageStream = env.addSource(new FlinkKafkaConsumer010<String>("test", new SimpleStringSchema(), properties)); 
      System.out.println("Step D"); 
      messageStream.map(new MapFunction<String, String>(){ 

        public String map(String value) throws Exception { 
          // TODO Auto-generated method stub 
          return "Blablabla " + value; 
        } 
      }).addSink(new FlinkKafkaProducer010("localhost:9092", "demo2", new SimpleStringSchema())); 
      env.execute(); 
     } 
} 

Dies sind die pom.xml depen Fehler:

<dependency> 
    <groupId>org.apache.flink</groupId> 
    <artifactId>flink-core</artifactId> 
    <version>1.3.1</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.flink</groupId> 
    <artifactId>flink-java_2.11</artifactId> 
    <version>0.10.2</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.flink</groupId> 
    <artifactId>flink-clients_2.11</artifactId> 
    <version>1.3.1</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.flink</groupId> 
    <artifactId>flink-streaming-core</artifactId> 
    <version>0.9.1</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.flink</groupId> 
    <artifactId>flink-streaming-java_2.11</artifactId> 
    <version>1.3.1</version> 
    <scope>provided</scope> 
</dependency> 
<dependency> 
    <groupId>org.apache.flink</groupId> 
    <artifactId>flink-connector-kafka-0.10_2.11</artifactId> 
    <version>1.3.1</version> 
</dependency> 

Was könnte diese Art von Fehler verursachen?

Dank Luca

+0

Es ist kein Fehler. Es ist nur eine Warnung. Dein Job sollte trotzdem funktionieren. –

Antwort

0

Das Problem wird wahrscheinlich durch die Mischung verschiedener Flink Versionen verursacht Sie in Ihrem pom.xml definiert haben. Um dieses Programm auszuführen, sollte es genug sein, um die folgenden Abhängigkeiten zu enthalten:

<!-- Streaming API --> 
<dependency> 
    <groupId>org.apache.flink</groupId> 
    <artifactId>flink-streaming-java_2.11</artifactId> 
    <version>1.3.1</version> 
</dependency> 

<!-- In order to execute the program from within your IDE --> 
<dependency> 
    <groupId>org.apache.flink</groupId> 
    <artifactId>flink-clients_2.11</artifactId> 
    <version>1.3.1</version> 
</dependency> 

<!-- Kafka connector dependency --> 
<dependency> 
    <groupId>org.apache.flink</groupId> 
    <artifactId>flink-connector-kafka-0.10_2.11</artifactId> 
    <version>1.3.1</version> 
</dependency> 
+0

Danke. Das hat meine Probleme gelöst !!!! : D –

+0

Gut zu hören. Wenn meine Antwort Ihr Problem gelöst hat, können Sie es akzeptieren, damit andere sehen, dass dies das Problem löst. –

Verwandte Themen