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基础入门
测试成功
完成ヾ(◍°∇°◍)ノ゙
热门推荐
黄芪养生新潮流:补气健脾就这么简单!
在河南商丘,怕踩疼了历史|十月行记
盐补骨脂的功效与作用 盐补骨脂现代应用方法有什么
重庆10大经典名菜,第3名出乎人们意料,你知道几种?吃过哪几种
腊肉的清洗方法有哪些?
狗狗能感知主人病情,这些互动方式助你感受温暖
武当山旅游新貌:前11个月游客增两成
泽玉8911:黄淮海玉米市场的黑马
安卓手机性能优化神器:SLP技术揭秘
高蛋白饮食助增肌:一周餐单与营养补充全攻略
肌肉锻炼助改善抑郁,但不能替代专业治疗
琥珀手串颗数不同的意义,你都了解吗?
规律饮食时间是关键,四招助力糖尿病患者管理血糖
东山岛梧龙村与古港村:闽南文化在海岛的六百年传承
西红柿炖牛腩:中西合璧的餐桌经典,从选材到出锅全解析
微信视频聊天录屏:职场人提升沟通效率的隐藏功能
微信视频聊天录屏全攻略:手机电脑多种方法详解
多平台录屏指南:手机电脑如何录制微信视频聊天
学生改编歌曲《桃李芳菲》献礼教师节,老师听后感动落泪
WTT冠军赛重庆站:32强角逐80万奖金,国乒主力全力冲奥
心脏支架手术费用全解析:集采后患者自付仅需数千元
心脏支架手术成功率高达90%,你信吗?
黑龙江:燃情冰雪季 气象护航游
上海金融科技再创佳绩,AI投资前景几何?
三级甲等!天津第一中心医院水西院区就医指南
专家警告:AI陪伴或影响孩子社交能力发展
华山医院专家解读:心脏支架手术的利弊与未来展望
冬季护肤指南:告别鼻子小白痘痘
冬季杂粮馒头养生指南:补肾养阳,制作方法详解
五谷杂粮馒头:养生新宠的营养功效与制作全攻略