Docker部署Kafka 2.8.1(保姆级图文教程)

系列文章目录
Docker部署Nginx 1.21.5(保姆级图文教程)
Docker部署MySQL 8.3.0(保姆级图文教程)
Docker部署ETCD 3.5.14(保姆级图文教程)
Docker部署Kafka 3.5.14(保姆级图文教程)


文章目录

  • 一、环境
  • 二、安装并启动zookeeper
    • [2.1 查找 Docker Hub 上的 zookeeper 镜像](#2.1 查找 Docker Hub 上的 zookeeper 镜像)
    • [2.2 拉取zookeeper镜像](#2.2 拉取zookeeper镜像)
    • [2.3 启动zookeeper镜像](#2.3 启动zookeeper镜像)
    • [2.4 查看zookeeper容器是否运行](#2.4 查看zookeeper容器是否运行)
  • 三、安装并启动Kafka
    • [3.1 查找 Docker Hub 上的 Kafka 镜像](#3.1 查找 Docker Hub 上的 Kafka 镜像)
    • [3.2 拉取Kafka镜像](#3.2 拉取Kafka镜像)
    • [3.3 创建挂载目录](#3.3 创建挂载目录)
    • [3.4 启动Kafka镜像](#3.4 启动Kafka镜像)
    • [3.5 查看Kafka容器是否运行](#3.5 查看Kafka容器是否运行)
  • 四、测试
    • [4.1 通过exec命令进入容器内部](#4.1 通过exec命令进入容器内部)
    • [4.2 进入Kafka的bin目录下](#4.2 进入Kafka的bin目录下)
    • [4.2 创建主题,显示主题](#4.2 创建主题,显示主题)
  • 五、更多

一、环境

名称 备注
操作命令对象 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 镜像

shell 复制代码
docker search wurstmeister/zookeeper

2.2 拉取zookeeper镜像

没写tag默认安装最新版本

shell 复制代码
docker pull wurstmeister/zookeeper

2.3 启动zookeeper镜像

shell 复制代码
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 镜像

shell 复制代码
docker search wurstmeister/kafka

3.2 拉取Kafka镜像

没写tag默认安装最新版本

shell 复制代码
docker pull wurstmeister/kafka

3.3 创建挂载目录

shell 复制代码
mkdir -p /home/kafka/{data,config}

3.4 启动Kafka镜像

shell 复制代码
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 :分配一个伪终端

shell 复制代码
 docker exec -it kafka /bin/bash

4.2 进入Kafka的bin目录下

shell 复制代码
cd /opt/kafka_2.13-2.8.1/bin

4.2 创建主题,显示主题

shell 复制代码
./kafka-topics.sh --create --topic test-kafka --bootstrap-server localhost:9092
kafka-topics.sh --describe --topic test-kafka --bootstrap-server localhost:9092

五、更多

Kafaka基础入门


测试成功

完成ヾ(◍°∇°◍)ノ゙

相关推荐
是一个Bug8 分钟前
Docker 与 Kubernetes:从“集装箱”到“远洋舰队”
docker·容器·kubernetes
java_cj11 分钟前
阅读 k8s 源码的准备工作
云原生·容器·kubernetes
枫叶林FYL1 小时前
项目十一:Saga模式分布式旅行预订系统 核心服务实现与Saga编排器
数据库·python·docker
取名好樊1 小时前
Windows Docker PostgreSQL 端口绑定失败问题记录
windows·docker·postgresql
ai产品老杨1 小时前
深度解析:基于Docker构建的安防视频AI平台——如何通过GB28181/RTSP协议栈统一接入与全套源码交付,破局异构边缘计算芯片内卷
人工智能·docker·音视频
AI服务老曹1 小时前
基于Docker与边缘计算的企业级AI视频平台架构演进:GB28181/RTSP多协议接入与源码交付深度解析
人工智能·docker·边缘计算
蜀道山老天师1 小时前
OpenClaw 从零部署 + 飞书机器人完整接入(实操篇)
运维·docker·容器·飞书
robinLi09131 小时前
docker mac 下载不同系统架构镜像
macos·docker·容器
IT利刃出鞘1 小时前
Docker Compose--安装harbor--方法/实例
docker
AI服务老曹1 小时前
源码交付与低代码布控:基于Docker与边缘计算的GB28181/RTSP视频AI管理平台架构二次开发实战
人工智能·低代码·docker