0


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

文章目录

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的整个过程中, 遵循以下部署顺序流程:

  1. 首先检查Docker安装是否正常, 确保Docker安装无任何异常。
  2. 其次安装Kafka的依赖服务Zookeeper, 只需一句命令可实现自动镜像拉取。
  3. 接着安装Kafka组件,也是一句命令即可搞定, 自动拉取对应的镜像。
  4. 在整个部署过程中,遇到任何错误或问题都可以通过Docker日志进行问题排查。
标签: linux docker kafka

本文转载自: https://blog.csdn.net/weixin_44772566/article/details/136078090
版权归原作者 澡澡洗澡澡 所有, 如有侵权,请联系我们删除。

“一文搞懂在Linux下使用Docker快速部署Kafka服务”的评论:

还没有评论