当前位置: 首页 > news >正文

容器化部署Kafka的最佳实践:基于KRaft模式的无ZooKeeper方案

一、docker 部署kafka单节点

1.1安装docker

可以参考这篇CentOS 7安装docker并配置镜像加速

1.3 运行kafka(注意修改zookeeper,kafka地址)

docker run -d --name kafka -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://172.16.10.180:9092 -p 9092:9092 -v /home/application/Middleware/kafka/data:/var/lib/kafka/data --restart=always docker.cnb.cool/srebro/docker-images/kafka-kraft:3.7.2

1.4 登录kafka容器,创建topic

docker exec -it kafka bash
cd /opt/kafka/bin./kafka-topics.sh --create --topic my_topic_srebro.cn --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

1.5 登录kafka容器,启动一个生产者

docker exec -it kafka bash
cd /opt/kafka/bin./kafka-console-producer.sh --topic my_topic_srebro.cn --bootstrap-server localhost:9092

1.6 新开一个终端窗口,登录kafka容器,启动一个消费者

docker exec -it kafka bash
cd /opt/kafka/bin./kafka-console-consumer.sh --topic my_topic_srebro.cn --bootstrap-server localhost:9092 --from-beginning

1.7 模拟在生产者上,测试几条数据,观察消费者上有没有收到数据

image-20250217172759068

1.8 kafka map 管理工具

A beautiful, concise and powerful kafka web management tool. 一个美观简洁且强大的kafka web管理工具。

  • 官方帮助手册: https://github.com/dushixiang/kafka-map/blob/master/README-zh_CN.md
docker run -d \-p 8080:8080 \-v /opt/kafka-map/data:/usr/local/kafka-map/data \-e DEFAULT_USERNAME=admin \-e DEFAULT_PASSWORD=admin \--name kafka-map \--restart always dushixiang/kafka-map:latest

image-20231115122024832

image-20231115122106331

image-20231115122220324

二、docker-compose 部署kafka单节点

2.1 安装docker-compose

可以参考这篇Cenotos7 安装docker-compose

2.2 编排docker-compose文件

注意先要创建docker 单独的网络

创建自定义网络 : docker network create -d bridge --subnet “192.168.10.0/24” --gateway “192.168.10.1” srebro.cn

version: '3'services:kafka:image: docker.cnb.cool/srebro/docker-images/kafka-kraft:3.7.2container_name: kafkanetworks:- srebro.cnenvironment:#KAFKA_LISTENERS: PLAINTEXT://:9092 # Kafka 监听端口配置KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://172.16.10.180:9092 # Kafka 对外公布的地址#KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT # 监听器与安全协议的映射#KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT # Broker 间通信使用的监听器ports:- "9092:9092"volumes:- /home/application/Middleware/kafka/data:/var/lib/kafka/datarestart: alwayskafka-map: #image: dushixiang/kafka-map:latestimage: docker.cnb.cool/srebro/docker-images/dushixiang-kafka-map:latest  #加速地址container_name: kafka-mapnetworks:- srebro.cnvolumes:- "/home/application/Middleware/kafka/kafka-map/data:/usr/local/kafka-map/data"  ports:- 19006:8080environment:DEFAULT_USERNAME: adminDEFAULT_PASSWORD: 123456depends_on:- kafkarestart: 'unless-stopped'networks:srebro.cn:external: true
http://www.lryc.cn/news/538697.html

相关文章:

  • DeepSeek核心算法解析:如何打造比肩ChatGPT的国产大模型
  • LeetCode-633. 平方数之和
  • 前端面试技巧与实践
  • windows Redis Insight 如何查看宝塔docker里的redis数据
  • sql数据执行失败,三个命令依次执行
  • BGP配置华为——RR反射器配置
  • 基于Flask的艺恩影片票房分析系统的设计与实现
  • 架构设计系列(三):架构模式
  • 零基础学QT、C++(一)安装QT
  • SQL注入(SQL Injection)详解与实战
  • 【Prometheus】prometheus结合domain_exporter实现域名监控
  • Java 设计模式之命令模式
  • BT401双模音频蓝牙模块如何开启ble的透传,有什么注意事项
  • 利用二分法+布尔盲注、时间盲注进行sql注入
  • Vue 项目登录的基本流程
  • kubernetes源码分析 kubelet
  • Web3 开发者周刊 36 | 构建自主未来:Agent、可扩展性与赏金
  • 零基础入门机器学习 -- 第十一章机器学习模型的评估与优化
  • 菜鸟之路Day15一一IO流(一)
  • 动手学Agent——Day2
  • JSONObject,TreeUtil,EagelMap,BeanUtil使用
  • Unity嵌入到Winform
  • TCP/UDP协议与OSI七层模型的关系解析| HTTPS与HTTP安全性深度思考》
  • 《Zookeeper 分布式过程协同技术详解》读书笔记-2
  • 缺陷检测之图片标注工具--labme
  • 机器学习_13 决策树知识总结
  • 请解释一下Standford Alpaca格式、sharegpt数据格式-------deepseek问答记录
  • ubuntu 安装管理多版本python3 相关问题解决
  • 滑动窗口算法篇:连续子区间与子串问题
  • Python爬虫实战:股票分时数据抓取与存储 (1)