Производить / потреблять на удаленной кафке не работает - PullRequest
1 голос
/ 11 мая 2019

Я установил экземпляр AWS EC2, работающий под управлением Apache Kafka 0.8 через образ Bitnami AMI.Свойства сервера в значительной степени заданы по умолчанию (Kafka находится по адресу localhost: 9092, а zookeeper - по адресу localhost: 2181).

Когда я подключаюсь по SSH к компьютеру, я могу производить / использовать данные, используя скрипты, предоставленные Kafka, расположенные по адресуу кафки / бин.Для производства я запускаю следующую команду:

./kafka-console-producer.sh --broker-list localhost:9092 --topic test

To Consume:

./kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

Это работает правильно, поэтому я определил, что Кафка работает правильно.Затем я попытался произвести / потребить с моей машины, используя библиотеку python pykafka:

client = KafkaClient(hosts = KAFKA_HOST)
topic = client.topics[sys.argv[1]]

try:
    with topic.get_producer(max_queued_messages=1, auto_start=True) as producer:
        while True:
            for i in range(10):
                message = "Test message sent on: " + str(datetime.datetime.now().strftime("%I:%M%p on %B %d, %Y"))
                encoded_message = message.encode("utf-8")
                mess = producer.produce(encoded_message)
except Exception as error:
    print('Something went wrong; printing exception:')
    print(error)

И я потребляю следующее:

client = KafkaClient(hosts = KAFKA_HOST)
topic = client.topics[sys.argv[1]]

try:    
    while True:
        consumer = topic.get_simple_consumer(auto_start=True)
        for message in consumer:
            if message is not None:
                print (message.offset, message.value)
except Exception as error:
    print('Something went wrong; printing exception:')
    print(error)

Эти фрагменты работают без ошибок или исключений, ноникакие сообщения не производятся и не потребляются, даже те, которые создаются с помощью локальных сценариев.

Я подтвердил, что оба порта 9092 и 2181 открыты через telnet.У меня следующие вопросы:

  • Есть ли способ отладить такие проблемы и найти основную причину?Я ожидаю, что библиотека выдаст исключение, если возникнут проблемы с подключением.
  • Что происходит?
...