kafka生产者如何工作?

7gcisfzg  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(414)

我建立了一个3节点的kafka集群,并使用python作为生产者,如下所示:

kafka_addr = "n0.xxx.com:9092,n1.xxx.com:9092,n2.xxx.com:9092"
producer = KafkaProducer(bootstrap_servers=kafka_addr)

当“n0”和“n1”可用但“n2”不可用时(代理崩溃或网络错误),生产者无法通过发送到“n0n1”正常工作,但抛出一个错误:

getaddrinfo failed for n2.xxx.com:9092, exception was [Errno 8] nodename nor servname provided, or not known. Is your advertised.host.name correct and resolvable?
du7egjpx

du7egjpx1#

我试图找到一个可用的经纪人并发送:

kafka_addr = ["n0.xxx.com:9092","n1.xxx.com:9092",n2.xxx.com:9092"]
producer = None
for broker in kafka_addr:
    try:
        producer = KafkaProducer(bootstrap_servers=broker)
        break
    except:
        pass
if producer is not None:
    #do something

相关问题