Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Kafka docker configuration failing with error : No security protocol defined for listener PLAINTEXT

This is how my docker file looks like,

version: "3.9"

services:
  zookeeper:
    image: 'bitnami/zookeeper:latest'
    ports:
      - '2181:2181'
    environment:
      - ALLOW_ANONYMOUS_LOGIN=yes
  kafka:
    image: 'bitnami/kafka:latest'
    ports:
      - '9092:9092'
      - '9093:9093'
    environment:
      - KAFKA_BROKER_ID=1
      - KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT
      - KAFKA_CFG_LISTENERS=PLAINTEXT://:9092,EXTERNAL://:9093
      - KAFKA_CFG_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092,EXTERNAL://localhost:9093
      - KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181
      - ALLOW_PLAINTEXT_LISTENER=yes
      - KAFKA_CFG_INTER_BROKER_LISTENER_NAME=CLIENT
      - KAFKA_ZOOKEEPER_PROTOCOL=PLAINTEXT
    depends_on:
      - zookeeper

When I run the docker file below is the error I am getting

kafka_1      | [2022-09-05 18:51:52,189] INFO Registered kafka:type=kafka.Log4jController MBean (kafka.utils.Log4jControllerRegistration$)
kafka_1      | [2022-09-05 18:51:54,618] INFO Setting -D jdk.tls.rejectClientInitiatedRenegotiation=true to disable client-initiated TLS renegotiation (org.apache.zookeeper.common.X509Util)
kafka_1      | [2022-09-05 18:51:54,810] ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
kafka_1      | java.lang.IllegalArgumentException: Error creating broker listeners from 'PLAINTEXT://127.0.0.1:9092,EXTERNAL://localhost:9093': No security protocol defined for listener PLAINTEXT
kafka_1      |  at kafka.utils.CoreUtils$.listenerListToEndPoints(CoreUtils.scala:273)
kafka_1      |  at kafka.server.KafkaConfig.effectiveAdvertisedListeners(KafkaConfig.scala:1924)
kafka_1      |  at kafka.server.KafkaConfig.validateValues(KafkaConfig.scala:2033)
kafka_1      |  at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:1997)
kafka_1      |  at kafka.server.KafkaConfig.<init>(KafkaConfig.scala:1471)
kafka_1      |  at kafka.server.KafkaConfig$.fromProps(KafkaConfig.scala:1394)
kafka_1      |  at kafka.Kafka$.buildServer(Kafka.scala:67)
kafka_1      |  at kafka.Kafka$.main(Kafka.scala:87)
kafka_1      |  at kafka.Kafka.main(Kafka.scala)

I have followed the instructions mentioned at below docker help,

https://hub.docker.com/r/bitnami/kafka/

Please advise how can I fix it?


1 Answers

Your error is most likely coming from KAFKA_CFG_INTER_BROKER_LISTENER_NAME=CLIENT or KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT

You've not defined CLIENT as a listener.

Also, both of your advertised listeners are localhost. Using an IP address doesn't change that... The bitnami Kafka container readme has instructions how to separate internal and external listener addresses

like image 142
OneCricketeer Avatar answered Nov 30 '25 22:11

OneCricketeer



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!