docker 部署 Kafka 单机和集群

一、准备工作

  1. 安装 Docker
    确保本机已安装 Docker。可以通过以下命令检查 Docker 是否已安装:
    docker --version
    

如果未安装,可以访问 Docker 官网下载并安装 Docker Desktop(Windows 和 Mac)或使用包管理器安装(Linux)。

  1. 拉取 Kafka 镜像
    打开终端,执行以下命令拉取 Kafka 镜像:
    docker pull bitnami/kafka:latest
    
    此命令会从 Docker Hub 下载最新版本的 Kafka 镜像,由 Bitnami 提供,该镜像已预配置好 Kafka 的环境和依赖。

单机

Kafka 4.0 将移除zookeeper,仅支持KRaft
所以我们使用KRaft模式,这也是kafka的默认模式.

1.创建数据目录
在本机上创建一个目录用于存放 Kafka 的数据,例如 /data/kafka_data。可以使用以下命令创建:

mkdir -p /data/kafka_data

由于这是一个非 root 的容器,挂载的文件和目录必须具有 UID 1001 的适当权限

sudo chown -R 1001:1001 /data/kafka_data

2.docker-run启动 Kafka 容器
在终端中执行以下命令启动 Kafka 容器:

docker run -d --name kafka \
  -p 9092:9092 -p 9093:9093 \
  -e KAFKA_ENABLE_KRAFT=yes \
  -e KAFKA_CFG_PROCESS_ROLES=broker,controller \
  -e KAFKA_CFG_CONTROLLER_LISTENER_NAMES=CONTROLLER \
  -e KAFKA_CFG_INTER_BROKER_LISTENER_NAME=PLAINTEXT \
  -e KAFKA_CFG_LISTENERS=PLAINTEXT://0.0.0.0:9092,CONTROLLER://0.0.0.0:9093 \
  -e KAFKA_CFG_LISTENER_SECURITY_PROTOCOL_MAP=CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT