Salut J'ai essayé d'apprendre KAFKA et d'avoir des problèmes avec mon sondeur/consommateur à distance.KAFKA REMOTE AWS consumer.poll
J'ai mis en place KAFKA dans l'instance AWS EC2 avec ip privée et publique. mon server.properties ressemble à ceci.
auditeurs = texte brut: //172.31.31.58: 9092 #AWS Private IP
advertised.listeners = texte brut: // 35 ?? ?? ??:... 9092 #AWS IP publique Masked
Mon groupe de sécurité AWS EC2 est configuré pour autoriser le trafic sur n'importe quelle adresse IP sur n'importe quel port à des fins de test.
Quand je produis/consommer localement les messages dans mon instance EC2 à l'aide des scripts suivants, il fonctionne parfaitement
bin/kafka-console-producer.sh --broker liste localhost: 9092 Test --topic
bin/kafka-console-consumer.sh --bootstrap-server localhost: 9092 --topic test --de-début
Mais quand j'essaie de me connecter à la même instance de kafka depuis mon ordinateur portable distant Code Eclipse exécutant mon Java API, mon code se bloque pour toujours dans consumer.poll (100). Est-ce que je fais quelque chose de mal ici?
Properties props = new Properties();
props.put("bootstrap.servers", "35.??.??.??:9092");//my aws public ip configured in advertised.listeners
props.put("group.id", "test123");
props.put("enable.auto.commit", "false");
props.put("auto.commit.interval.ms", "1000");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
KafkaConsumer<String, String> consumer = new KafkaConsumer<>(props);
consumer.subscribe(Arrays.asList("test"));
while (true) {
ConsumerRecords<String, String> records = consumer.poll(100);
for (ConsumerRecord<String, String> record : records)
System.out.printf("offset = %d, key = %s, value = %s", record.offset(), record.key(), record.value());
} }
Pouvez-vous poster le fichier journal pour votre consommation? Il serait utile de voir les messages de débogage. – PragmaticProgrammer