Docker部署Kafka

目录

新版Kafka直接基于Kraft,无需再使用zookeeper。

通过Docker进行部署,ADVERTISED_LISTENERS必须设置外部连接Kafka broker的地址,

本机部署时设置为localhost,服务器部署时设置为服务器宿主机ip地址

注意

部署前需修改启动脚本中的KAFKA_ADVERTISED_LISTENERS的IP为实际部署主机的外网可访问IP:

bash 复制代码
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xx.xx.xx.xx:9092 \

启动Kafka容器

startup.sh

bash 复制代码
#! /bin/bash
# 创建网络
docker network create --driver bridge kafka_network

# 启动Kafka
docker run -it -d \
-p 9092:9092 \
--name kafka \
--network kafka_network \
--restart always \
-e KAFKA_NODE_ID=1 \
-e KAFKA_PROCESS_ROLES=broker,controller \
-e KAFKA_LISTENERS=PLAINTEXT://:9092,CONTROLLER://:9093 \
-e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://xx.xx.xx.xx:9092 \
-e KAFKA_CONTROLLER_LISTENER_NAMES=CONTROLLER \
-e KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT,CONTROLLER:PLAINTEXT \
-e KAFKA_CONTROLLER_QUORUM_VOTERS=1@localhost:9093 \
-e KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
-e KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR=1 \
-e KAFKA_TRANSACTION_STATE_LOG_MIN_ISR=1 \
-e KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0 \
-e KAFKA_NUM_PARTITIONS=3 \
apache/kafka:3.9.0

删除Kafka容器

bash 复制代码
docker rm -f kafka

参考:
https://blog.csdn.net/weixin_62799021/article/details/143242822

相关推荐
极客先躯10 小时前
高级java每日一道面试题-2025年12月07日-实战篇[Dockerj]-Docker daemon 的配置文件在哪里?常用的配置项有哪些?
java·docker·配置文件的实际位置·配置文件的格式规则·常用配置项全景与分类·配置如何生效·daemon 配置折射架构思维
颯沓如流星13 小时前
【 Docker Desktop】基于Windows + WSL2 的环境配置, 快速部署一套Kubernetes Cluster
windows·docker·kubernetes
showyoui15 小时前
一次 GKE Sidecar 场景下的连通性排查实录
docker·微服务·容器·kubernetes·service_mesh
香菜农民16 小时前
域名证书管理
运维·docker
江湖有缘16 小时前
从零开始:基于Docker Compose的Kener监控面板部署全记录
运维·docker·容器
月光技术杂谈16 小时前
国内环境下安装 docker-ce 的完整步骤
运维·docker·容器
leoZ23118 小时前
Linux 环境常用服务一键部署文档(Docker 版)
运维·docker·容器
追寻少年18 小时前
基于Kubeadm和Docker部署K8S高可用集群
docker·容器·kubernetes
GitCode官方18 小时前
投稿|Git + Docker 零基础入门攻略
git·docker·容器
bukeyiwanshui19 小时前
20260509 docker项目总结
运维·docker·容器