2016-03-21 6 views
0

私は、ScalaでKafka Consumerを作成してApache FlinkにApache Kafkaを接続しようとしています。logger(org.apache.kafka.clients.consumer.ConsumerConfig)のアペンダーが見つかりません

val properties = new Properties() 
properties.setProperty("bootstrap.servers", "localhost:9092") 
properties.setProperty("zookeeper.connect", "localhost:2181") 
properties.setProperty("group.id", "test") 

val env = StreamExecutionEnvironment.getExecutionEnvironment 
val stream = env 
      .addSource(new FlinkKafkaConsumer09[String]("test", new SimpleStringSchema(), properties)) 
      .print 
env.enableCheckpointing(5000) 

私はlog4jのからいくつかの警告を取得し、このプログラムを実行するとプログラムが終了すると、何も出力が示されていない:これは私の消費者のコードです。私のカフカプロデューサーが立ち上がっています。

log4j:WARN No appenders could be found for logger (org.apache.kafka.clients.consumer.ConsumerConfig). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 
+0

これは、IDEまたは外部のFlinkインストールで実行していますか?外部インストールの場合、ジョブマネージャとタスクマネージャのログファイルをチェックしましたか? Flinkストリームプログラムは、タスクマネージャの '。/ log/* out'ファイルに出力します。 –

+0

@FabianHueskeログファイルが作成されていません。私はEclipseからこれを実行しています。 –

答えて

3

私はlog4j WARNがプログラム終了の理由ではないと思います。 これらの問題は通常、log4jがクラスパスで使用できない場合に発生します。

出力が生成されない理由は、env.execute()コールが欠落しているためにジョブが開始されないためです。

+0

Worked!クラスパスにlog4jを追加する方法を教えてください。 –

+1

私の答えは実際には不正確です:log4jの問題は、クラスパスに設定ファイルがない可能性が高いことです。 これを修正するには、resourcesフォルダを追加し、 'log4j.properties'ファイルをそれらのフォルダに入れます(IDEがフォルダを正しく認識し、クラスパスに追加するようにしてください)。このファイルを参照として使用することができます:https://github.com/apache/flink/blob/master/flink-streaming-connectors/flink-connector-kafka-0.8/src/test/resources/log4j-test.properties –

関連する問題