Docker部署Kafka 2.8.1(保姆级图文教程)
创作时间:
作者:
@小白创作中心
Docker部署Kafka 2.8.1(保姆级图文教程)
引用
CSDN
1.
https://blog.csdn.net/donkor_/article/details/140362446
本文将详细介绍如何使用Docker部署Kafka 2.8.1。内容包括环境准备、Zookeeper的安装与启动、Kafka的安装与启动以及测试步骤。每一步都配有具体的命令和解释,适合初学者学习。
一、环境
名称 | 备注 |
|---|---|
操作命令对象 | Docker 版本26.1.3 |
远程操作系统 | CentOS 7.9 64位 |
远程管理工具 | FinalShell 版本4.3.11 |
安装软件名称 | zookeeper 版本3.4.13 |
安装软件名称 | Kafka 版本2.8.1 |
二、安装并启动zookeeper
在安装Kafka之前需要先安装zookeeper,因为Kafka启动会将元数据保存在zookeeper中,zookeeper是一种分布式协调服务,可以在分布式系统中共享配置,协调锁资源,提供命名服务。如果已经安装了zookeeper,直接跳过此步骤。
2.1 查找 Docker Hub 上的 zookeeper 镜像
docker search wurstmeister/zookeeper
2.2 拉取zookeeper镜像
没写tag默认安装最新版本
docker pull wurstmeister/zookeeper
2.3 启动zookeeper镜像
docker run --restart=always \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name zookeeper -p 2181:2181 \
-v /etc/localtime:/etc/localtime \
-d wurstmeister/zookeeper
命令 注释
- --restart=always 表示容器退出时总是重启
- --log-driver json-file 表示使用 JSON 文件作为日志驱动
- --log-opt max-size=100m 表示设置日志的最大大小为100MB
- --log-opt max-file=2 表示设置日志文件的最大数量
- --name 表示容器命名
- -p 表示端口映射
- -v /etc/localtime:/etc/localtime 表示将本地时间映射到容器中
- -d 表示后台运行
2.4 查看zookeeper容器是否运行
三、安装并启动Kafka
3.1 查找 Docker Hub 上的 Kafka 镜像
docker search wurstmeister/kafka
3.2 拉取Kafka镜像
没写tag默认安装最新版本
docker pull wurstmeister/kafka
3.3 创建挂载目录
mkdir -p /home/kafka/{data,config}
3.4 启动Kafka镜像
docker run --privileged=true \
--log-driver json-file \
--log-opt max-size=100m \
--log-opt max-file=2 \
--name kafka -p 9092:9092 \
-e KAFKA_BROKER_ID=0 \
-e KAFKA_ZOOKEEPER_CONNECT=IP:2181/kafka \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://IP:9092 \
-e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
-e ALLOW_PLAINTEXT_LISTENER=yes \
-e KAFKA_HEAP_OPTS='-Xms512M -Xmx4G' \
-v /home/kafka/data:/wurstmeister/kafka/data \
-v /home/kafka/config:/wurstmeister/kafka/config \
-v /etc/localtime:/etc/localtime \
-d wurstmeister/kafka
命令 注释
- --privileged=true 表示容器内的root拥有真正的root权限
- --log-driver json-file 表示使用 JSON 文件作为日志驱动
- --log-opt max-size=100m 表示设置日志的最大大小为100MB
- --log-opt max-file=2 表示设置日志文件的最大数量
- --name 表示容器命名
- -p 表示端口映射
- -e KAFKA_BROKER_ID=0 表示这个ID是集群的标识,不能重复
- -e KAFKA_ZOOKEEPER_CONNECT=IP:2181/kafka 表示zookeeper的连接地址
- -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://IP:9092 表示kafka发布到zookeeper供客户端使用的服务地址
- -e ALLOW_PLAINTEXT_LISTENER=yes 表示允许使用PLAINTEXT侦听器
- -e KAFKA_HEAP_OPTS='-Xms512M -Xmx4G 表示行内存参数
- -v /home/kafka/data:/wurstmeister/kafka/data 表示挂载配置数据目录
- -v /home/kafka/config:/wurstmeister/kafka/config 表示配置文件目录
- -v /etc/localtime:/etc/localtime 表示将本地时间映射到容器中
- -d 表示后台运行
配置目录,数据目录挂载我还没试过,谨慎使用!
3.5 查看Kafka容器是否运行
四、测试
4.1 通过exec命令进入容器内部
i :即使没有附加也保持STDIN 打开
t :分配一个伪终端
docker exec -it kafka /bin/bash
4.2 进入Kafka的bin目录下
cd /opt/kafka_2.13-2.8.1/bin
4.2 创建主题,显示主题
./kafka-topics.sh --create --topic test-kafka --bootstrap-server localhost:9092
kafka-topics.sh --describe --topic test-kafka --bootstrap-server localhost:9092
五、更多
Kafaka基础入门
测试成功
完成ヾ(◍°∇°◍)ノ゙
热门推荐
桂格燕麦片含糖量爆表?教你如何选购健康燕麦片
糖尿病患者必看:如何挑选高β-葡聚糖燕麦?
糖尿病患者的控糖秘籍:燕麦片怎么选?
高考复读政策的改革,复读一年还值得吗
小班化教学真的能提高学生成绩吗?
教育部新规:幼小衔接从幼儿园小班开始
孔子私塾的小班制探秘:教育理念与现代意义
如何为孩子选择合适的幼儿园?以漳州市芗城区实验幼儿园为例
让你我抓狂的量子力学,包括你我在内的宇宙万物都是波?
乌帕替尼副作用大揭秘:你中招了吗?
江西紫云英花海:赏花也要环保,让美景长存
南昌凤凰沟&萍乡武功山:春日赏花打卡地推荐!
春天来了!婺源赏花全攻略
事业单位职工2026年退休,2025年提升高级职称,养老金能高多少?
视同缴费指数1.2平均缴费指数1.5的机事退人员,养老金能过万吗?
冬美人的养殖技巧——爆盆的秘密
琴叶榕配土方法与比例详解(打造适合琴叶榕生长的优质土壤,提升养殖效果)
琴叶榕适合晒太阳吗?最佳养护方法一一解析
红塔山经典二代香烟的市场价格解析
秋冬晒太阳,北医三院专家教你如何做?
秋冬晒太阳,补充维生素D正当时!
秋冬晒太阳,补足维生素D!
日光研究奖得主Anna Wirz-Justice:光照如何影响情绪与健康
新桥医院专家:秋冬季节这样晒太阳能有效预防骨质疏松
沈其荣院士团队最新研究:微生物菌剂显著改善作物根系健康
探索泰语智能处理新大陆:thai.opentech.asia
人工智能技术应用就业方向及前景:大专毕业能去干什么
网络安全真的值得学吗?就业方向与前景全解析
成为数据分析师需要的学历和背景
《英国医学期刊》揭秘:患癌前半年身体会发出哪些信号?