[英]python confluent kafka: Group authorization failed
如何修復:嘗試使用 python 客戶端從 Kafka 消費消息時出現Group authorization failed
錯誤?
相同的設置在 Kafka CLI 中運行良好。
通常這個錯誤應該指向無效的權限,但是,當 CLI 工作時,我懷疑它一定是別的東西。
我的 kafka 實例啟用了 SASL/SSL。 使用以下設置:
src_schema_registry_conf = {
'url': 'http://<<host>>:8081'
}
src_schema_registry_client = SchemaRegistryClient(src_schema_registry_conf)
string_deserializer = StringDeserializer('utf_8')
avro_deserializer = AvroDeserializer(src_schema_registry_client)#,
src_conf = {
"bootstrap.servers": '<<host>>:9093',
"ssl.ca.location": 'certs/catrust.pem',
"security.protocol":"SASL_SSL",
"sasl.mechanism":"PLAIN",
"sasl.username":"<<username>",
"sasl.password":'<<secret_pasword',
'key.deserializer': string_deserializer,
'value.deserializer': avro_deserializer,
'group.id': "test-consumer-group",
'auto.offset.reset': "earliest"
}
消息的消費從以下位置開始:
consumer = DeserializingConsumer(src_conf)
consumer.subscribe(['<<topic>>'])
while True:
try:
# SIGINT can't be handled when polling, limit timeout to 1 second.
msg = consumer.poll(1.0)
if msg is None:
continue
user = msg.value()
if user is not None:
print("record {}: value: {}\n"
.format(msg.key(), user))
except KeyboardInterrupt:
break
consumer.close()
我試圖在這里遵循示例: https://github.com/confluentinc/confluent-kafka-python/blob/master/examples/avro_consumer.py但無法讓它在我的環境中工作。
事實證明,答案比預期的要簡單:
用戶名必須用ALLCAPS
編寫。 然后它被接受。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.