簡體   English   中英

python confluent kafka:組授權失敗

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM