#!/bin/sh
# Docker workaround: Remove check for KAFKA_ZOOKEEPER_CONNECT parameter
sed -i '/KAFKA_ZOOKEEPER_CONNECT/d' /etc/confluent/docker/configure
# Docker workaround: Ignore cub zk-ready
sed -i 's/cub zk-ready/echo ignore zk-ready/' /etc/confluent/docker/ensure
# KRaft required step: Format the storage directory with a new cluster ID
echo "kafka-storage format --ignore-formatted -t $(kafka-storage random-uuid) -c /etc/kafka/kafka.properties" >> /etc/confluent/docker/ensure
5条答案
按热度按时间w3nuxt5m1#
下面是一个Kafka Docker 的形象,不需要Zookeeper(如上所述):
https://hub.docker.com/r/bashj79/kafka-kraft
免责声明:我是作者。
balp4ylt2#
Confluent在他们的存储库cp-all-in-one中发布了一个没有zookeeper的工作 docker-compose.yaml。
有一个脚本可用作解决方法
在docker-compose-setup的 * 命令 * 中调用
guykilcj3#
我读到Kafka不再需要Zookeeper
您可能已经读到 * 在未来 * Apache Kafka将不需要Zookeeper -这在KIP-500中有详细说明
然而,这还没有实现,所以暂时(2021年1月)你仍然需要一个Zookeeper在你的 Docker 组成合奏。
tkclm6bt4#
您可以使用此图像为无Zookeeper。
https://hub.docker.com/r/bitnami/kafka
下面是一个例子yaml。
bq9c1y665#
根据“Apache Kafka 3.3中的新增功能”文档和“KIP-833:“Kafka可以在没有Zookeeper的情况下工作(但是有一些功能只能在Apache Zookeeper(ZK)模式下工作)。
示例(* 停靠-组合.yml*):
您可以尝试localhost:8080,您将看到它工作得非常完美。