基于Docker以KRaft模式快速部署Kafka

embedded/2025/2/4 10:09:45/

参考文献 

https://kafka.apache.org/37/documentation.html#uses

https://spring.io/projects/spring-kafka#overview


 

获取Docker镜像

docker pull apache/kafka:3.7.1

创建一个目录来存储Kafka的配置文件

mkdir -p /home/user/kafka_config

启动Kafka容器

docker run -d \--name kira-kafka \-v /home/user/kafka_config:/opt/kafka/config \-p 9092:9092 \--user root \apache/kafka:3.7.1

cd /var/lib/docker/volumes/kafka_data/_data

创建Kafka的主题

进入Kafka容器

docker exec -u root -it kira-kafka bash

找到kafka-topics.sh:在容器中查找脚本路径

find / -name kafka-topics.sh

创建主题:根据实际的路径,运行命令

/opt/kafka/bin/kafka-topics.sh --create --topic quickstart-events --bootstrap-server localhost:9092

查看主题

/opt/kafka/bin/kafka-topics.sh --describe --topic quickstart-events --bootstrap-server localhost:9092

然后用kafka-King可视化工具进行连接

进入容器内部改成正确的IP(如果内部IP不正确时)

docker exec -u root -it kira-kafka bash

编辑文件

vi /opt/kafka/config/server.properties

删除localhost

esc

:wq保存

删除这个

保留这一行,改成我们的虚拟机本机地址而不是localhost

listeners=PLAINTEXT://0.0.0.0:9092
advertised.listeners=PLAINTEXT://192.168.88.130:9092

退出容器

重启kafka容器

检查本地挂载目录权限保证它可写

ls -ld /home/user/kafka_config

如果目录权限修改不正确,可以使用以下命令修改权限

sudo chown -R 1000:1000 /home/user/kafka_config
sudo chmod -R 755 /home/user/kafka_config

修改容器内权限

docker exec -u root -it kira-kafka bash
chmod -R 777 /opt/kafka/config

重启容器

docker restart kira-kafka

如何验证挂载

进入容器内部

docker exec -it kira-kafka bash

检查挂载目录

ls /opt/kafka/config


http://www.ppmy.cn/embedded/159436.html

相关文章

OpenAI发布最新推理模型o3-mini

OpenAI于周五推出了新的AI"推理"模型o3-mini,这是该公司o系列推理模型家族的最新成员。 OpenAI此前在12月份就预告过这个模型,同时还展示了一个能力更强的系统o3。此次发布恰逢OpenAI面临诸多机遇与挑战的关键时刻。 目前,OpenAI…

爱普生L3153打印机无线连接配置流程

家里使用的是移动宽带中兴路由器,有WPS功能,进入192.168.1.1管理员页面,用户名user,密码在路由器背面(可以登录后修改密码)。在网络-WLAN网络配置-WPS中,点击push button,激活路由器…

java 字符串日期字段格式化前端显示

在 Java 应用程序中,如果你有一个字符串类型的日期字段,并希望将其格式化后显示在前端,可以通过多种方式实现。这通常涉及到在后端将字符串转换为 Date 或 LocalDateTime 等对象,然后使用适当的注解或配置来确保它们以正确的格式序…

搜索与图论复习2最短路

单源最短路---所有边权是正数(Dijkstra算法O(n^2)--稠密图(邻接矩阵)和堆优化的Dijkstra算法O(mlogn)--稀疏图(邻接表)) 或存在负边权(Bellman-ford贝尔曼福特算法O(nm)和SPFA一般O(m) 最坏O(nm) ) 多源最短路---Floyd算法O(n^3) 一、迪杰斯特拉算法(Dijkstra):1…

Dijkstra算法解析

Dijkstra算法,用于求解图中从一个起点到其他所有节点的最短路径。解决单源最短路径问题的有效方法。 条件 有向 带权路径 时间复杂度 O(n平方) 方法步骤 1 把图上的点分为两个集合 要求的起点 和除了起点之外的点 。能直达的写上权值 不…

登录认证(5):过滤器:Filter

统一拦截 上文我们提到(登录认证(4):令牌技术),现在大部分项目都使用JWT令牌来进行会话跟踪,来完成登录功能。有了JWT令牌可以标识用户的登录状态,但是完整的登录逻辑如图所示&…

Chromium132 编译指南 - Android 篇(五):获取源码

1. 引言 在前面的章节中,我们详细介绍了编译 Chromium 132 for Android 所需的系统和硬件要求,以及如何配置基础开发环境和 depot_tools。完成这些准备工作后,下一步就是获取 Chromium 的源代码。获取源代码是编译 Chromium 的关键步骤&…

设计模式 - 行为模式_Template Method Pattern模板方法模式在数据处理中的应用

文章目录 概述1. 核心思想2. 结构3. 示例代码4. 优点5. 缺点6. 适用场景7. 案例:模板方法模式在数据处理中的应用案例背景UML搭建抽象基类 - 数据处理的 “总指挥”子类定制 - 适配不同供应商供应商 A 的数据处理器供应商 B 的数据处理器 在业务代码中整合运用 8. 总…