我正在尝试将SASL_PLAINTEXT身份验证配置为kafka代理,以下是我的配置。
advertised.listeners=SASL_PLAINTEXT://127.0.0.1:9092
listeners=SASL_PLAINTEXT://127.0.0.1:9092
security.inter.broker.protocol=SASL_PLAINTEXT
sasl.mechanism.inter.broker.protocol=PLAIN
sasl.enabled.mechanisms=PLAIN
sasl.jaas.config=/var/lib/kafka/config/kafka_jaas.conf
启动zookeeper和kafka之后,我遇到了异常
java.lang.IllegalArgumentException:要求失败: inter.broker.listener.name必须是在中定义的侦听器名称 广告。有效选项基于当前配置 侦听器是PLAINTEXT java.lang.IllegalArgumentException: 要求失败:inter.broker.listener.name必须是侦听器名称 在advertised.listeners中定义。有效选项基于当前 配置的监听器是PLAINTEXT 在scala.Predef $ .require(Predef.scala:233)在kafka.server.KafkaConfig.validateValues(KafkaConfig.scala:1089)在 kafka.server.KafkaConfig。(KafkaConfig.scala:1065)在 kafka.server.KafkaConfig $ .fromProps(KafkaConfig.scala:795)在 kafka.server.KafkaConfig $ .fromProps(KafkaConfig.scala:792)在 kafka.server.KafkaServerStartable $ .fromProps(KafkaServerStartable.scala:28) 在kafka.Kafka $ .main(Kafka.scala:58)在 kafka.Kafka.main(Kafka.scala)
答案 0 :(得分:0)
我在 kubernetes 上设置 kafka_listener 时遇到了类似的问题。以下是一个有效的 kafka 配置 yaml 片段:
env:
...
- name: ALLOW_PLAINTEXT_LISTENER
value: “yes”
- name: KAFKA_LISTENER_SECURITY_PROTOCOL_MAP
value: INSIDE:PLAINTEXT
- name: KAFKA_LISTENERS
value: INSIDE://0.0.0.0:9092
- name: KAFKA_ADVERTISED_LISTENERS
value: INSIDE://localhost:9092
- name: KAFKA_INTER_BROKER_LISTENER_NAME
value: INSIDE
此处讨论的类似问题与 ssl 配置:cant figure out setting for inter broker listener name in kafka with ssl
还有 this confluence 页面会很有帮助。