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