I would like to deploy a kafka with docker-compose, so
I deployed Kafka (using bitnami docker image) and Kafka UI same network with Docker compose
I am facing same issue when use provectuslabs/kafka-ui:latest to connect to my kafka with SASL_SSL.
kafka-0:
container_name: kafka-0
image: bitnami/kafka:latest
#hostname: kafka0.abc.xyz.com
ports:
- 9092:9092
- 9093:9093
- 29092:29092
environment:
- ALLOW_PLAINTEXT_LISTENER=no
- KAFKA_CERTIFICATE_PASSWORD=secret
- KAFKA_CFG_SSL_ENDPOINT_IDENTIFICATION_ALGORITHM=
- KAFKA_CFG_LISTENERS=INTERNAL://kafka-0:29092,CLIENT://:9092,CONTROLLER://:9093
- KAFKA_CFG_ADVERTISED_LISTENERS=INTERNAL://kafka-0:29092,CLIENT://:9092
- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=INTERNAL:SASL_SSL,CLIENT:SASL_SSL,CONTROLLER:PLAINTEXT
- KAFKA_CFG_INTER_BROKER_LISTENER_NAME=INTERNAL
- KAFKA_CFG_SASL_ENABLED_MECHANISMS=PLAIN # SCRAM-SHA-256
- KAFKA_CFG_SASL_MECHANISM_INTER_BROKER_PROTOCOL=PLAIN # SCRAM-SHA-256
- KAFKA_SSL_CLIENT_AUTH=required
- KAFKA_INTER_BROKER_USER=kafka-client
- KAFKA_INTER_BROKER_PASSWORD=AS1ISO76cF6gtMBqTvjbYMnEfzkf9q8k
- KAFKA_HEAP_OPTS=-Xmx256m -Xms256m
- BITNAMI_DEBUG=true
volumes:
- './_config/kafka/certs/kafka.keystore.jks:/opt/bitnami/kafka/config/certs/kafka.keystore.jks:ro'
- './_config/kafka/certs/kafka.truststore.jks:/opt/bitnami/kafka/config/certs/kafka.truststore.jks:ro'
- kafka-0-data:/bitnami/kafka
networks:
- kafka-tools
kafka-ui:
container_name: kafka-ui
image: provectuslabs/kafka-ui:latest
ports:
- 8080:8080
depends_on:
- kafka-0
environment:
- KAFKA_CLUSTERS_0_NAME=local
- KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS=kafka-0:29092
- KAFKA_CLUSTERS_0_PROPERTIES_SECURITY_PROTOCOL=SASL_SSL
- KAFKA_CLUSTERS_0_PROPERTIES_SASL_MECHANISM=PLAIN
- KAFKA_CLUSTERS_0_PROPERTIES_CLIENT_DNS_LOOKUP=use_all_dns_ips
- KAFKA_CLUSTERS_0_PROPERTIES_SASL_JAAS_CONFIG='org.apache.kafka.common.security.plain.PlainLoginModule required username="kafka-client" password="AS1ISO76cF6gtMBqTvjbYMnEfzkf9q8k";'
networks:
- kafka-tools
The kafka-0 service is fine. I get the issue with kafka-ui service as below:
kafka-ui | 2023-05-29 10:17:12,204 INFO [parallel-1] o.a.k.c.m.Metrics: Metrics scheduler closed
kafka-ui | 2023-05-29 10:17:12,204 INFO [parallel-1] o.a.k.c.m.Metrics: Closing reporter org.apache.kafka.common.metrics.JmxReporter
kafka-ui | 2023-05-29 10:17:12,204 INFO [parallel-1] o.a.k.c.m.Metrics: Metrics reporters closed
kafka-ui | 2023-05-29 10:17:12,204 ERROR [parallel-1] c.p.k.u.s.StatisticsService: Failed to collect cluster local info
kafka-ui | java.lang.IllegalStateException: Error while creating AdminClient for Cluster local
kafka-ui | at com.provectus.kafka.ui.service.AdminClientServiceImpl.lambda$createAdminClient$5(AdminClientServiceImpl.java:56)
kafka-ui | at reactor.core.publisher.Mono.lambda$onErrorMap$28(Mono.java:3773)
kafka-ui | at reactor.core.publisher.FluxOnErrorResume$ResumeSubscriber.onError(FluxOnErrorResume.java:94)
kafka-ui | at reactor.core.publisher.Operators.error(Operators.java:198)
kafka-ui | at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:135)
kafka-ui | at reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53)
kafka-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4470)
kafka-ui | at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
kafka-ui | at reactor.core.publisher.Operators.complete(Operators.java:137)
kafka-ui | at reactor.core.publisher.MonoEmpty.subscribe(MonoEmpty.java:46)
kafka-ui | at reactor.core.publisher.Mono.subscribe(Mono.java:4485)
kafka-ui | at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:427)
kafka-ui | at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.runAsync(FluxPublishOn.java:440)
kafka-ui | at reactor.core.publisher.FluxPublishOn$PublishOnSubscriber.run(FluxPublishOn.java:527)
kafka-ui | at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:84)
kafka-ui | at reactor.core.scheduler.WorkerTask.call(WorkerTask.java:37)
kafka-ui | at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
kafka-ui | at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
kafka-ui | at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
kafka-ui | at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
kafka-ui | at java.base/java.lang.Thread.run(Thread.java:833)
kafka-ui | Caused by: org.apache.kafka.common.KafkaException: Failed to create new KafkaAdminClient
kafka-ui | at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:553)
kafka-ui | at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:485)
kafka-ui | at org.apache.kafka.clients.admin.Admin.create(Admin.java:134)
kafka-ui | at org.apache.kafka.clients.admin.AdminClient.create(AdminClient.java:39)
kafka-ui | at com.provectus.kafka.ui.service.AdminClientServiceImpl.lambda$createAdminClient$2(AdminClientServiceImpl.java:53)
kafka-ui | at reactor.core.publisher.MonoSupplier.call(MonoSupplier.java:67)
kafka-ui | at reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:127)
kafka-ui | ... 16 common frames omitted
kafka-ui | Caused by: java.lang.IllegalArgumentException: Login module control flag not specified in JAAS config
kafka-ui | at org.apache.kafka.common.security.JaasConfig.parseAppConfigurationEntry(JaasConfig.java:110)
kafka-ui | at org.apache.kafka.common.security.JaasConfig.<init>(JaasConfig.java:63)
kafka-ui | at org.apache.kafka.common.security.JaasContext.load(JaasContext.java:88)
kafka-ui | at org.apache.kafka.common.security.JaasContext.loadClientContext(JaasContext.java:82)
kafka-ui | at org.apache.kafka.common.network.ChannelBuilders.create(ChannelBuilders.java:167)
kafka-ui | at org.apache.kafka.common.network.ChannelBuilders.clientChannelBuilder(ChannelBuilders.java:81)
kafka-ui | at org.apache.kafka.clients.ClientUtils.createChannelBuilder(ClientUtils.java:105)
kafka-ui | at org.apache.kafka.clients.admin.KafkaAdminClient.createInternal(KafkaAdminClient.java:524)
kafka-ui | ... 22 common frames omitted
kafka-ui | 2023-05-29 10:17:12,205 DEBUG [parallel-1] c.p.k.u.s.ClustersStatisticsScheduler: Metrics updated for cluster: local
If you have any suggestions, please let me know.
Thanks all