MSK(カフカ)でトピックを作成しました。また、私はavroスキーマを登録しました。今、私はトピックへのメッセージを作成しようとしていますが、プロデューサーを実行するとエラーが発生します
Java.util.concurrent.ExecutionException: org.Apache.kafka.common.errors.TimeoutException: Topic AVRO-AUDIT_EVENT not present in metadata after 60000 ms.
ここに私のJava avroメッセージを生成するコードがあります
String topicName = "AVRO-AUDIT_EVENT";
Properties props = new Properties();
props.put("bootstrap.servers",
"b-3.*****:9092,b-4.****:9092,b-5.****:9092");
props.put("bootstrap.servers", "localhost:9092,localhost:9093");
props.put("key.serializer", "org.Apache.kafka.common.serialization.StringSerializer");
props.put("value.serializer", "io.confluent.kafka.serializers.KafkaAvroSerializer");
props.put("schema.registry.url", "http://localhost:8081/subjects/AVRO-AUDIT-EVENT/versions/");
JSONObject job = new JSONObject(json);
String bodyofJson = job.getString("body");
JSONObject bodyJsonObj = new JSONObject(bodyofJson);
System.out.println(bodyJsonObj.get("ID"));
Producer<String, String> producer = new KafkaProducer<>(props);
try {
producer.send(new ProducerRecord<String, String>(topicName, bodyJsonObj.get("ID").toString(), bodyofJson))
.get();
System.out.println("Complete");
} catch (Exception ex) {
ex.printStackTrace(System.out);
} finally {
producer.close();
}
トピックをリストしてトピック名も確認できます。また、トピックメッセージを読むこともできます。ただし、これを実行すると、このエラーが発生します。
よろしく
私の場合、週末にすべてのノードへの接続が失われました。自動的に接続が回復しないようです。
サービスを再起動した後、それはうまくいきました。