Привет Я новичок в kafka, и у меня есть быстрый вопрос.kafka потребитель не получает сообщение по удаленному
Я реализовал продюсер Кафки и потребительский зоопарк и продюсер работает на другом сервере (192.168.10.233) Потребителя работает на другом сервере (192.168.10.234) Оба локально связного
Проблема Потребителя подключиться к сети производителя, но не слушать любое сообщение, но если я перейду эту часть прослушивания на одном сервере (192.168.10.233), он получает сообщения
это мой код для потребителя
def listen(): Unit = {
val props = new Properties();
props.put("bootstrap.servers", "192.168.10.233:9092");
props.put("group.id", "groupId");
props.put("enable.auto.commit", "true");
props.put("auto.commit.interval.ms", "1000");
props.put("session.timeout.ms", "30000");
props.put("key.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
props.put("value.deserializer", "org.apache.kafka.common.serialization.StringDeserializer");
val consumer = new KafkaConsumer(props);
println("calling ---- but yet to receive the message")
consumer.subscribe(List("test"));
while (true) {
val records = consumer.poll(100);
for (record <- records)
println("offset = %d, key = %s, value = %s", record.offset(), record.key(), record.value());
}
}
Я также проверил 192.168.10.233:9092 снаружи, погода порт не заблокирован ничем.
Я считаю, что может быть проблема смещения. Вы можете попытаться установить смещение как: props.put («auto.offset.reset», «самое раннее»); Если это работает, вы можете настроить это значение – NangSaigon
Да, я добавил смещение, но все же не повезло – Muhunthan
, какую версию Apache Kafka вы используете? 0,9 или 0,10? У вас должна быть такая же версия для вашего клиентского API. – NangSaigon