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基础入门
测试成功
完成ヾ(◍°∇°◍)ノ゙
热门推荐
油车购置税怎么算
电脑没有声音不用愁:五步全面排查指南,助你轻松恢复音频输出
上海教育以高质量赋能 促全方位发展
"卷不动"的加班文化,真的退潮了?
网页UI设计两大关键:响应式和可访问性的秘籍全揭秘
丙肝如何调理饮食
如何正确操作汽车天窗以避免损坏?天窗的使用和维护有哪些注意事项?
相机镜头光圈知识详解:从基础概念到实际应用
COMSOL结构力学分析:从入门到精通的完整教程
公司注销、吊销、撤销傻傻分不清?这些你要弄明白!
靶向药不良反应大,ALK三代药洛拉替尼剂量调整降低不适且不影响生存期!
FDA加速批准首个小细胞肺癌T细胞接合剂疗法塔拉妥单抗
岳阳四大夜市全攻略:烧烤、小龙虾与城市夜生活的完美融合
揭秘历史上真正的夜明珠:神秘而璀璨的珍宝
果树环剥的最佳时间和技术方法(掌握环剥技巧)
儿童用药安全指南:家长必读的用药知识
如何正確清洗菇類?8種菇類清洗法+3大誤區要避開
中国古代“术数”预测文化的来龙去脉
购房时楼层选择有哪些考虑因素?
头孢噻肟和头孢曲松有何不同?6张表格说清楚
西南交通大学全景解析:实力、专业与未来前景
制作短视频搞笑配音的创意方法
《寻道大千》最强击晕流搭配攻略
开车戴什么颜色的墨镜最安全?
37周孕妇D-二聚体偏高怎么办?
新生兒奶量需要多少?新生兒奶量計算公式+嬰兒奶量表一次看!
养生文化研究会:探索传统智慧与现代生活的和谐之道
调查:仙桃市春节档电影票价过高?
新能源汽车中HEV与PHEV分别代表什么车型,它们与传统燃油车都有什么区别?
HEV 还有 PHEV 都是混合动力、它们有什么差别?