Kafka 是一个分布式流处理平台,它依赖于 ZooKeeper 作为其协调服务。在 Kafka 集群中,ZooKeeper 负责管理和协调 Kafka 的各个节点。
因此,要在 Docker 容器中启动 Kafka,通常需要同时启动一个 ZooKeeper 服务作为其依赖。可以按照以下步骤来启动 Kafka 容器,并确保同时启动了 ZooKeeper 服务:
- 创建一个 Docker 网络:在终端中运行以下命令,创建一个 Docker 网络,用于容器之间的通信:
shell docker network create kafka-net
- 启动 ZooKeeper 容器:使用以下命令启动一个 ZooKeeper 容器,并将其连接到创建的网络:
shell docker run -d --name zookeeper --network kafka-net -p 2181:2181 -p 2888:2888 -p 3888:3888 zookeeper
- 启动 Kafka 容器:使用以下命令启动一个 Kafka 容器,并将其连接到创建的网络和 ZooKeeper 服务:
shell docker run -d --name kafka --network kafka-net -p 9092:9092 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 confluentinc/cp-kafka
在上述步骤中,我们使用了
--network
参数将容器连接到同一个网络中,使得 Kafka 容器可以与 ZooKeeper 容器进行通信。Kafka 容器的环境变量
KAFKA_ZOOKEEPER_CONNECT
设置了 ZooKeeper 的连接地址。
版权归原作者 洛必达师父 所有, 如有侵权,请联系我们删除。