当前位置: 首页 > article >正文

Docker安装Kafka(不依赖ZooKeeper)

创建docker-compose.yaml

version: "3.9" #版本号
services:
  kafka:
    image: apache/kafka:3.9.0
    container_name: kafka
    hostname: kafka
    ports:
      - 9092:9092  # 容器内部之间使用的监听端口
      - 9094:9094  # 容器外部访问监听端口
    environment:
      KAFKA_NODE_ID: 1
      KAFKA_PROCESS_ROLES: broker,controller
      # 外部访问监听端口为 9092,容器内部使用不同的端口 9094
      KAFKA_LISTENERS: PLAINTEXT://0.0.0.0:9094,CONTROLLER://localhost:9093,PLAINTEXT_CONTAINER://kafka:9092
      KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://localhost:9094,PLAINTEXT_CONTAINER://kafka:9092
      KAFKA_CONTROLLER_LISTENER_NAMES: CONTROLLER
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: CONTROLLER:PLAINTEXT,PLAINTEXT:PLAINTEXT,PLAINTEXT_CONTAINER:PLAINTEXT
      KAFKA_CONTROLLER_QUORUM_VOTERS: 1@localhost:9093
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_NUM_PARTITIONS: 3
      KAFKA_LOG_DIRS: /var/lib/kafka/data
    volumes:
      - ./data/kafka/data:/var/lib/kafka/data

运行docker-compose.yaml

docker compose -f ./docker-compose.yaml up -d

测试kafka

  • 进入容器
docker exec -it kafka bash 
  • 创建topic
/opt/kafka/bin/kafka-topics.sh --bootstrap-server kafka:9092 --create --topic topic-test

  • 打开生产者,在终端发送消息
/opt/kafka/bin/kafka-console-producer.sh --bootstrap-server kafka:9092 --topic topic-test
  • 另外打开一个终端,进入容器
docker exec -it kafka bash 
  • 打开消费者,接收消息
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic test-topic --from-beginning


http://www.kler.cn/a/549284.html

相关文章:

  • 【Linux】Ubuntu Linux 系统 ——PHP开发环境
  • Netty的基本架构详解
  • 【第12章:深度学习与伦理、隐私—12.1 AI伦理原则与偏见检测的方法与实践】
  • 第437场周赛:找出长度为 K 的特殊子字符串、吃披萨、选择 K 个互不重叠的特殊子字符串、最长 V 形对角线段的长度
  • 应用分层、三层架构和MVC架构
  • 微信小程序的请求函数封装(ts版本,uniapp开发)
  • Deep seek学习日记1
  • 8. Docker 常规安装简介(安装 Tomcat ,安装 MySQL,安装Redis 同时指定安装的版本)
  • WebMvcConfigurer 介绍
  • 有关计算机的英语单词、短语、句子
  • Python 文本探秘:正则表达式的易错迷宫穿越 -- 7. 正则表达式
  • Redis初阶笔记
  • Qt的QListWidget样式设置
  • Unity中如何判断URL是否为RTSP或RTMP流
  • C语言----共用体
  • Linux基础21-C语言篇之流程控制Ⅱ【入门级】
  • 基于SSM+uniapp的鲜花销售小程序+LW示例参考
  • Qt笔记31-69
  • 使用 GPT-SoVITS 克隆声音,很详细
  • 计算机视觉-尺度不变区域