有什么方法可以通过环境变量在 kafka broker 上设置 sasl.enabled.mechanisms 吗?

Is there any way to set sasl.enabled.mechanisms via environment variable on kafka broker?

我正在启动一个 kafka 代理,我需要在启动时通过环境变量(或其他方法)设置 属性 sasl.enabled.mechanisms,而不是通过启动时使用的配置文件-向上。

我尝试了环境变量KAFKA_SASL_ENABLED_MECHANISMS,但没有捕获到。 我也尝试通过 KAFKA_OPTS= -Dsasl.enabled.mechanisms=PLAIN 但它也没有被捕获。

我知道两次尝试都没有成功,因为我在连接到代理时一直收到此错误:org.apache.kafka.common.errors.IllegalSaslStateException: Unexpected handshake request with client mechanism PLAIN, enabled mechanisms are []

有什么方法可以满足我的需求吗?

JVM 标志未传递到代理配置

如果你想使用环境变量,你必须在启动代理之前注入一些模板过程,类似于有多少 Kafka Docker 容器工作

您可以修改或包装 kafka-server-start 以读取环境并重新编写配置文件