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

docker 安装kafaka常用版本

推荐方法:使用 Docker Compose(最简单)

这是最推荐的方法,通过一个 YAML 文件定义并启动所有相关服务(ZooKeeper + Kafka)。

1. 确保系统已安装 Docker 和 Docker Compose

# 检查 Docker 是否安装
docker --version# 检查 Docker Compose 是否安装
docker-compose --version

如果未安装,请先安装:

# 安装 Docker
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker# 安装 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/v2.23.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose

2. 创建 docker-compose.yml 文件

创建一个专门目录并编辑 compose 文件:

mkdir kafka-docker && cd kafka-docker
vi docker-compose.yml

将以下内容复制到文件中(这里使用 Kafka 3.4.0,这是一个稳定且常用的版本):

version: '3.8'services:zookeeper:image: bitnami/zookeeper:3.8container_name: zookeeperports:- "2181:2181"environment:- ALLOW_ANONYMOUS_LOGIN=yesnetworks:- kafka-netkafka:image: bitnami/kafka:3.4.0container_name: kafkaports:- "9092:9092"- "9093:9093" # 可选,用于外部监控或其他协议environment:- KAFKA_CFG_ZOOKEEPER_CONNECT=zookeeper:2181- KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CLIENT:PLAINTEXT,EXTERNAL:PLAINTEXT- KAFKA_CFG_LISTENERS=CLIENT://:9092,EXTERNAL://:9093- KAFKA_CFG_ADVERTISED_LISTENERS=CLIENT://kafka:9092,EXTERNAL://localhost:9093- ALLOW_PLAINTEXT_LISTENER=yesdepends_on:- zookeepernetworks:- kafka-netvolumes:- kafka_data:/bitnami/kafkanetworks:kafka-net:driver: bridgevolumes:kafka_data:driver: local

3. 启动 Kafka 集群

docker-compose.yml 文件所在目录运行:

# 后台启动
docker-compose up -d# 查看启动状态
docker-compose ps# 查看实时日志
docker-compose logs -f kafka

4. 验证安装

进入 Kafka 容器执行测试命令:

# 进入 Kafka 容器
docker exec -it kafka /bin/bash# 创建一个测试主题
kafka-topics.sh --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1# 列出所有主题
kafka-topics.sh --list --bootstrap-server localhost:9092# 启动一个控制台生产者
kafka-console-producer.sh --topic test-topic --bootstrap-server localhost:9092# 另开一个终端,启动一个控制台消费者
docker exec -it kafka kafka-console-consumer.sh --topic test-topic --from-beginning --bootstrap-server localhost:9092

其他常用版本配置

如果您需要其他版本,只需修改 image 标签即可。以下是几个常用的版本组合:

Kafka 2.13-3.3.1 (另一个稳定版本)

services:zookeeper:image: bitnami/zookeeper:3.8# ...其他配置不变kafka:image: bitnami/kafka:3.3.1# ...其他配置不变

Kafka 2.8.1 (较旧的稳定版本)

services:zookeeper:image: wurstmeister/zookeeper:latest# ...其他配置不变kafka:image: wurstmeister/kafka:2.8.1environment:- KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181- KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092- KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092

重要配置说明

网络配置

  • localhost:9093:用于宿主机外部连接
  • kafka:9092:用于Docker容器内部通信

环境变量说明

变量名说明示例值
KAFKA_CFG_ZOOKEEPER_CONNECTZooKeeper 连接地址zookeeper:2181
KAFKA_CFG_ADVERTISED_LISTENERS对外发布的服务地址CLIENT://kafka:9092,EXTERNAL://localhost:9093
ALLOW_PLAINTEXT_LISTENER允许明文传输yes

客户端连接方式

从 Docker 内部连接

bootstrap-server: kafka:9092

从宿主机外部连接

bootstrap-server: localhost:9093

从其他服务器连接

bootstrap-server: <服务器IP>:9093

常用管理命令

# 停止服务
docker-compose down# 停止并删除数据卷
docker-compose down -v# 重启服务
docker-compose restart# 查看服务状态
docker-compose ps# 查看Kafka日志
docker-compose logs kafka

总结

  1. 推荐版本:Kafka 3.4.0 + ZooKeeper 3.8(稳定且功能完善)
  2. 推荐方式:使用 Docker Compose,一键部署
  3. 镜像选择bitnami/kafka 镜像维护良好,文档齐全
  4. 数据持久化:通过 volumes 配置确保数据不会随容器删除而丢失

这种安装方式适合开发、测试环境,甚至小规模生产环境,简单高效且易于管理。


文章转载自:

http://HWkI0XSs.rbrhp.cn
http://WWYquDSu.rbrhp.cn
http://66L1XQF4.rbrhp.cn
http://e72sc8mE.rbrhp.cn
http://k0gcUB9F.rbrhp.cn
http://PEGFCJ88.rbrhp.cn
http://oxZiajnd.rbrhp.cn
http://eaUPllQa.rbrhp.cn
http://3puI2w7p.rbrhp.cn
http://8CCCLUiD.rbrhp.cn
http://KpEccA1r.rbrhp.cn
http://sBOKZjjj.rbrhp.cn
http://WmFD4Wo8.rbrhp.cn
http://RxKaLFFk.rbrhp.cn
http://axm15o8V.rbrhp.cn
http://IDmT3xzQ.rbrhp.cn
http://tKGs6slm.rbrhp.cn
http://awmWVSen.rbrhp.cn
http://rwVz5Vla.rbrhp.cn
http://328ORM1a.rbrhp.cn
http://elOTovIF.rbrhp.cn
http://MwhzkFLe.rbrhp.cn
http://ENkIpz2H.rbrhp.cn
http://iqXmmFqY.rbrhp.cn
http://LnRkzvYW.rbrhp.cn
http://S344nZo9.rbrhp.cn
http://Y33pNBax.rbrhp.cn
http://h8btukgw.rbrhp.cn
http://5ASINgMQ.rbrhp.cn
http://zaZcrvTy.rbrhp.cn
http://www.dtcms.com/a/368177.html

相关文章:

  • Pytorch Yolov11 OBB 旋转框检测+window部署+推理封装 留贴记录
  • PyTorch 中.backward() 详解使用
  • conda配置pytorch虚拟环境
  • Conda环境隔离和PyCharm配置,完美同时运行PaddlePaddle和PyTorch
  • PyTorch训练循环详解:深入理解forward()、backward()和optimizer.step()
  • PyTorch 训练显存越跑越涨:隐式保留计算图导致 OOM
  • PyTorch图像数据转换为张量(Tensor)并进行归一化的标准操作
  • 图像去雾:从暗通道先验到可学习融合——一份可跑的 PyTorch 教程
  • EN-DC和CA的联系与区别
  • python + Flask模块学习 1 基础用法
  • 【Flask】测试平台中,记一次在vue2中集成编辑器组件tinymce
  • 【分享】基于百度脑图,并使用Vue二次开发的用例脑图编辑器组件
  • 【Python】QT(PySide2、PyQt5):点击不同按钮显示不同页面
  • flask的使用
  • Qt添加图标资源
  • 配置WSL2的Ubuntu接受外部设备访问
  • 产线相机问题分析思路
  • VisionPro联合编程相机拍照 九点标定实战
  • c++工程如何提供http服务接口
  • Linux查看相机支持帧率和格式
  • 必知!机器人的分类与应用:RPA、人形与工业机器人
  • 相机刮除拜尔阵列
  • 关于Homebrew:Mac快速安装Homebrew
  • 微信小程序一个页面同时存在input和textarea,bindkeyboardheightchange相互影响
  • mac怎么安装uv工具
  • python库 Py2app 的详细使用(将 Python 脚本变为 MacOS 独立软件包)
  • AmbiSSL
  • 【高分论文密码】大尺度空间模拟与不确定性分析及数字制图技术应用
  • MacOS 通过Homebrew 安装nvm
  • 【NotePad++设置自定义宏】