1

Linux Ubuntu サーバーに kafka をインストールし、バッチ ファイル ( kafka-console-producer.shおよびkafka-console-consumer.sh)を使用して通信をテストしたところ、メッセージを発行および受信できることがわかりました。

同じネットワーク上で実行されているWindows マシン上。コードが示されているJavaプロデューサークライアントを作成しました

Properties properties = new Properties();
properties.put("metadata.broker.list","192.168.7.1:9092");
properties.put("serializer.class","kafka.serializer.StringEncoder");
ProducerConfig producerConfig = new ProducerConfig(properties);
kafka.javaapi.producer.Producer<String,String> producer = new kafka.javaapi.producer.Producer<String, String>(producerConfig);
KeyedMessage<String, String> message =new KeyedMessage<String, String>("Calamp2","Test message from java program ");
producer.send(message);
producer.close();

クライアントを実行すると、次のエラーが発生します

log4j:WARN ロガー (kafka.utils.VerifiableProperties) のアペンダーが見つかりませんでした。log4j:WARN log4j システムを適切に初期化してください。log4j:WARN 詳細については 、http: //logging.apache.org/log4j/1.2/faq.html#noconfigを参照してください。3 回試行してもメッセージを送信できませんでした。

次のことを試しました

  1. Windowsマシンからubuntuマシンにpingを実行したところ、正常に動作しているようです
  2. Apache Kafka example error: Failed to send message after 3 attempts の解決策を試しましたが、うまくいきませんでした

サーバー上で次のコマンドを実行したときに観察した奇妙なことの 1 つ - bin/kafka-topics.sh --list --zookeeper localhost:2181 、トピックが Java コードから作成されたことがわかりましたが、メッセージは発行されませんでした

どんな助けでも大歓迎です

4

1 に答える 1