文章目录
1. 安装zookeeper
由于Kafka依赖Zookeeper实现高可用性和一致性,Zookeeper为Kafka提供了关键的分布式协调服务,因此部署Kafka必须先部署Zookeeper集群作为基础,以下是部署Zookeeper的过程
在命令行搜索zookeeper镜像
docker search zookeeper
输入以下命令,docker会自动拉取对应镜像:
docker run -d\--name zookeeper \-p2181:2181 \-v /etc/localtime:/etc/localtime \
wurstmeister/zookeeper
命令解析:
- docker run -d:以分离模式启动新的 Docker 容器,在后台运行。
- –name zookeeper:为容器分配名称“zookeeper”。
- -p 2181:2181:将容器的端口 2181(默认 ZooKeeper 端口)映射到主机机器的端口 2181。
- -v /etc/localtime:/etc/localtime:将主机的系统时区信息 (/etc/localtime) 挂载到容器中的 /etc/localtime。这确保容器使用与主机相同的时区。
- wurstmeister/zookeeper:指定要使用的 Docker 镜像。它是来自 wurstmeister 的官方 ZooKeeper 镜像。
查看zookeeper容器已启动
dockerps-a
2. 安装Kafka
Zookeeper安装成功后, 接着安装Kafka组件, 在命令行直接输入以下命令,docker会自动拉取对应镜像:
docker run -d
–name kafka
-p 9092:9092
-e KAFKA_BROKER_ID=0
-e KAFKA_ZOOKEEPER_CONNECT=[你的IP地址]:2181
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://[你的IP地址]:9092
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka
注意:上面的IP要根据自己的实际情况进行变更
命令解析:
- docker run -d:以分离模式启动一个新的 Docker 容器,容器在后台运行,不会连接到终端。
- –name kafka:给容器取名为 kafka。
- -p 9092:9092:将容器内部的 9092 端口映射到宿主机的 9092 端口。9092 是 Kafka 的默认端口。
- -e KAFKA_BROKER_ID=0:设置 Kafka 代理的 ID 为 0。
- -e KAFKA_ZOOKEEPER_CONNECT=[你的IP地址]:2181:设置 Kafka 的 ZooKeeper 连接地址为 [你的IP地址]:2181。
- -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://[你的IP地址]:9092:设置 Kafka 的对外监听地址为 PLAINTEXT://[你的IP地址]:9092。
- -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092:设置 Kafka 的监听地址为 PLAINTEXT://0.0.0.0:9092。
- -t wurstmeister/kafka:指定使用的 Docker 镜像,这是一个由 wurstmeister 维护的官方 Kafka 镜像。
环境变量解析:
- KAFKA_BROKER_ID:设置 Kafka 代理的 ID,该 ID 在 Kafka 集群中必须唯一。
- KAFKA_ZOOKEEPER_CONNECT:设置 Kafka 的 ZooKeeper 连接地址,ZooKeeper 用于存储 Kafka 集群的元数据。
- KAFKA_ADVERTISED_LISTENERS:设置 Kafka 的对外监听地址,该地址用于对外提供服务。
- KAFKA_LISTENERS:设置 Kafka 的监听地址,该地址用于监听来自客户端的连接请求。
3. 可视化工具kafka-map
docker run -d\--name kafka-map \-p8049:8080 \-eDEFAULT_USERNAME=admin \-eDEFAULT_PASSWORD=admin \
dushixiang/kafka-map:latest
命令解析:
- docker run -d: 以分离模式启动一个新的 Docker 容器,容器会后台运行。
- –name kafka-map: 给容器取名为 kafka-map。
- -p 8049:8080: 将容器内部的 8080 端口映射到宿主机的 8049 端口。
- -e DEFAULT_USERNAME=admin: 设置 Kafka 管理工具的默认用户名为 admin。
- -e DEFAULT_PASSWORD=admin: 设置 Kafka 管理工具的默认密码为 admin。
- dushixiang/kafka-map:latest: 指定使用的 Docker 镜像,来自 dushixiang Docker Hub 仓库,版本为 latest。
web端访问:
指定端口号,登录用户名,密码。
http://[自己服务器IP]:8049/#/login
4. 故障排查
如果在使用Docker过程中遇到任何错误, 可以命令:
docker logs 容器ID
通过查看容器日志进行故障排查,过程如图:
5. 总结
在部署Kafka的整个过程中, 遵循以下部署顺序流程:
- 首先检查Docker安装是否正常, 确保Docker安装无任何异常。
- 其次安装Kafka的依赖服务Zookeeper, 只需一句命令可实现自动镜像拉取。
- 接着安装Kafka组件,也是一句命令即可搞定, 自动拉取对应的镜像。
- 在整个部署过程中,遇到任何错误或问题都可以通过Docker日志进行问题排查。
版权归原作者 澡澡洗澡澡 所有, 如有侵权,请联系我们删除。