在 Docker kafka 集群中设置 SASL 回调处理程序

Setting SASL callback handler in Docker kafka cluster

我正在尝试在我的 Docker 化 Kafka 集群中实现自定义服务器登录回调处理程序。 properties文件中的属性通过Docker:

设置比较简单

KAFKA_SASL_SERVER_CALLBACK_HANDLER_CLASS=[full_class_name]

此外,我还设置了类路径:

CLASSPATH=/etc/kafka/jars/*

最后将卷映射到 .jar 文件所在的位置:

-v /my/local/location:/etc/kafka

但是根据文档和 oAuth 示例,为了设置这样的 属性,属性 名称必须以侦听器名称和 SASL 机制作为前缀:

listener.name.listener_name.sasl_mechanism.sasl.callback.handler.class=

对于我的 OUTSIDE 监听器和 PLAIN sasl 机制,它应该是:

listener.name.outside.plain.sasl.callback.handler.class=

如何在 docker 运行 / compose 中设置这个?我不知道如何创建一个环境变量来完成这项工作,因为基本 sasl.callback.handler.class 不起作用。

疯狂的环境变量

KAFKA_LISTENER_NAME_OUTSIDE_PLAIN_SASL_CALLBACK_HANDLER_CLASS= 实际有效,它按预期出现在 server.properties 中:

listener.name.outside.plain.sasl.callback.handler.class=