请教:Python模块KafkaConsumer会被Kerberos的状态影响嘛?

发布于 2022-09-06 19:42:05 字数 1304 浏览 18 评论 0

请教大家一下Kafka队列和Kerberos票据的问题。

我在运行一段python代码的时候,

from kafka import KafkaConsumer, KafkaProducer
import ssl
...
context = ssl.create_default_context()
context.verify_mode = ssl.CERT_REQUIRED
context.load_verify_locations(self.ssl_cafile)
context.load_cert_chain(certfile=self.ssl_certfile, keyfile=self.ssl_keyfile)
context.options &= ssl.OP_NO_TLSv1
context.options &= ssl.OP_NO_TLSv1_1
return KafkaConsumer (self.inbound_topic, group_id=self.group_id, bootstrap_servers=json.loads(self.bootstrap_servers),
                                 auto_offset_reset=self.auto_offset_reset,
                                 security_protocol=self.security_protocol,
                                 sasl_mechanism=self.sasl_mechanism,
                                 ssl_context=context,
                                 api_version=(0,10))

当正常用kinit设定Kerberos时,以上代码运行良好。但是,一旦我指定了Kerberos的生存周期,比如kinit "-l 15s",那么15秒之后以上代码停滞在return KafkaConsumer那里不动。

这个问题对我的project非常重要,因为涉及到多久refresh一次Kerberos的问题。我本来的设想是:在0~14秒之间,所有return KafkaConsumer所需要的参数已经设置好了,print一下self.bootstrap_servers等等也都正常。那么即使第15秒Kerberos失效,所有return KafkaConsumer所需要的参数不该随之失效。但是,现在看来不是这样。可是我也说不清为什么……

请问Python模块KafkaConsumer会被Kerberos的状态影响嘛?谢谢了先!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文