Hi,

I tried to use kafka-python 1.4.7 to connect to a bitnami kafka cluster using private ip the brokers.

This works great from another Compute Instance.

When i try the same code from django on app-engine (that is setup to be able to use stuff on Compute, f,ex some locally installed Redis), I get an error:

...
2020-02-07 10:38:30 api[20200207t095208]  WARNING:kafka.conn:DNS lookup failed for kafka-cluster-1-kafka-2:9092, exception was [Errno -2] Name or service not known. Is your advertised.listeners (called advertised.host.name before Kafka 9) correct and resolvable? 2020-02-07 10:38:30 api[20200207t095208]  ERROR:kafka.conn:DNS lookup failed for kafka-cluster-1-kafka-2:9092 (AddressFamily.AF_UNSPEC) 2020-02-07 10:38:30 api[20200207t095208]  WARNING:kafka.conn:DNS lookup failed for kafka-cluster-1-kafka-2:9092, exception was [Errno -2] Name or service not known. Is your advertised.listeners (called advertised.host.name before Kafka 9) correct and resolvable? 2020-02-07 10:38:30 api[20200207t095208]  ERROR:kafka.conn:DNS lookup failed for kafka-cluster-1-kafka-2:9092 (AddressFamily.AF_UNSPEC)
...

Code run is very simple:

// conf only has sasl params and brokers in the form of "ip:9092,ip2:9092,ip3:9092"
cls.producer = KafkaProducer(**conf)

future =cls.producer.send(topic=topic,
                           value=bytes(value,encoding='utf8'),
                           key=bytes(key,encoding='utf8'),
                           headers=None,
                           partition=None,
                           timestamp_ms=None)
future.get(timeout=10)  # <- in a try/catch

Where does client side even get to hear about kafka-cluster-1-kafka-2? I thought client connects to any of the brokers and the will take it from there? Compute Engine DNS resolves kafka-cluster-1-kafka-2 magnificently, but not in app-engine. Should connecting side know more about Kafka rig than the brokers?
Best regards, Marcus

Reply via email to