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

相关推荐
Devin~Y6 小时前
大厂Java面试实录:Spring Boot/Cloud、Kafka、Redis、K8s 与 Spring AI(RAG/Agent)三轮连环问
java·spring boot·redis·mysql·spring cloud·kafka·kubernetes
深色風信子7 小时前
Docker newapi
运维·docker·容器·newapi
就叫飞六吧9 小时前
Docker Hub 上主流的nginx发行
java·nginx·docker
GL_Rain10 小时前
快速搭建Halo博客 + 崩溃秒恢复方案(Docker极简部署)
运维·docker·容器
无巧不成书021811 小时前
2026最新Next-AI-Draw-io全攻略:AI驱动专业图表生成,Docker/Node.js本地部署零踩坑指南
人工智能·docker·node.js·next-ai-draw-io
jingyu飞鸟13 小时前
Linux系统发送邮件,解决信誉等级低问题 docker compose修改启动一键使用
linux·运维·docker
杨浦老苏13 小时前
数据库备份管理工具DBackup
数据库·docker·备份·群晖
郝开15 小时前
Docker Compose 本地环境搭建:redis
redis·docker·容器
爱莉希雅&&&16 小时前
Ansible+Docker案例(含ansible配置安装docker)
linux·运维·mysql·nginx·docker·容器·ansible
郝开18 小时前
Docker Compose 本地环境搭建:独立 Compose + 共享网络 + .env 统一管理(架构设计篇)
网络·docker·容器