Kafka Consumer не читает сообщения - PullRequest
0 голосов
/ 08 января 2019

У меня Kafka v1.0.1 работает на одном узле, и я могу отправить сообщения в тему, но каким-то образом не могу получить сообщение от другого узла, используя приведенный ниже код Python.

from kafka import KafkaConsumer
consumer = KafkaConsumer(
    'kotak-test',
    bootstrap_servers=['kmblhdpedge:9092'],
    auto offset reset='earliest',
    enable auto commit=True,
    group id=' test1',
    value_deserializer-lambda x: loads (x.decode('utf-8')))

for message in consumer:
    message = message.value
    print (message)

Я постоянно отправляю сообщения из консоли, используя следующую команду:

bin/kafka-console-producer --zookeeper <zookeeper-node>:<port> --topic <topic_name>

а также я могу читать через консоль

1 Ответ

0 голосов
/ 08 января 2019

Вы используете старый производитель на основе Zookeeper, но более новый потребитель на основе Kafka. Логика того, как они работают и смещаются при хранении, не одинакова.

Вам нужно использовать --broker-list на консоли производителя

Аналогично Console Consumer, используйте --bootstrap-server, а не --zookeeper


Кроме того, в этих свойствах не должно быть пробелов

auto offset reset='earliest',
enable auto commit=True,
group id=' test1',
...