一文搞懂在Linux下使用Docker快速部署Kafka服务

1. 安装zookeeper

由于Kafka依赖Zookeeper实现高可用性和一致性,Zookeeper为Kafka提供了关键的分布式协调服务,因此部署Kafka必须先部署Zookeeper集群作为基础,以下是部署Zookeeper的过程

在命令行搜索zookeeper镜像

docker search zookeeper

在这里插入图片描述

输入以下命令,docker会自动拉取对应镜像:

docker run -d \
--name zookeeper \
-p 2181: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容器已启动

docker ps -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 \
-p 8049:8080 \
-e DEFAULT_USERNAME=admin \
-e DEFAULT_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的整个过程中, 遵循以下部署顺序流程:

  1. 首先检查Docker安装是否正常, 确保Docker安装无任何异常。
  2. 其次安装Kafka的依赖服务Zookeeper, 只需一句命令可实现自动镜像拉取。
  3. 接着安装Kafka组件,也是一句命令即可搞定, 自动拉取对应的镜像。
  4. 在整个部署过程中,遇到任何错误或问题都可以通过Docker日志进行问题排查。
  • 17
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值