基于 Docker 搭建单节点 Kafka 2.x(使用 Zookeeper)
环境
- OS:Ubuntu 20.04.3 LTS
- Docker:24.0.7
- Image:
- Zookeeper:
docker pull bitnami/zookeeper:3.5.9- 国内镜像源:
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/zookeeper:3.5.9
- 国内镜像源:
- Kafka:
docker pull wurstmeister/kafka:2.13-2.8.1- 国内镜像源:
docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/wurstmeister/kafka:2.13-2.8.1
- 国内镜像源:
- Zookeeper:
【帮助】如何确定与 Kafka对应的 Zookeeper 版本?
对于 Kafka 和 Zookeeper 版本对应关系,我参考了这篇文章
可通过如下方式检查容器所需的 Zookeeper 版本
1
2
3
4
5
6
7
8
9 1. 进入容器(退出时自动删除容器)
docker run --rm -it --entrypoint=/bin/bash wurstmeister/kafka:2.13-2.8.1
2. 执行如下命令,查看zookeeper版本(或者 ls -alh /opt/kafka/libs/zookeeper-*)
root@Ubuntu2004:~# docker run --rm -it --entrypoint=/bin/bash wurstmeister/kafka:2.13-2.8.1
root@04fc241d3724:/# kafka-run-class.sh org.apache.zookeeper.Version
3.5.9-83df9301aa5c2a5d284a9940177808c01bc35cef, built on 01/06/2021 20:03 GMT
很明显,该版本kafka需要的zookeeper版本是:3.5.9
部署
值得注意的是:KAFKA_CFG_ADVERTISED_LISTENERS 对应的 IP 一定要换成你客户机的 IP 地址!!!
【帮助】如果 KAFKA_CFG_ADVERTISED_LISTENERS 配置错误会怎样?
如上图 kafka 日志,很明显告诉你,通过你配置的 KAFKA_CFG_ADVERTISED_LISTENERS 无法找到对应的 broker 实例
1 | networks: |
启动成功的标志

