linux环境下,使用docker安装apache kafka (docker-compose)

使用docker 创建kafka,达到项目中连接linux服务器创建的kafka,进行开发使用。 1.在linux中,在指定位置路径,创建docker-compose.yml文件,然后进行添加内容,我用的docker版本是26.1.1:

yaml 复制代码
version: '3'
services:
  zookeeper:
    image: confluentinc/cp-zookeeper:7.6.0
    hostname: zookeeper
    container_name: zookeeper
    ports:
      - "2181:2181"
    environment:
      ZOOKEEPER_CLIENT_PORT: 2181
      ZOOKEEPER_TICK_TIME: 2000

  kafka:
    image: confluentinc/cp-kafka:7.6.0
    hostname: kafka
    container_name: kafka
    depends_on:
      - zookeeper
    ports:
      - "9092:9092"
      - "29092:29092"
    environment:
      KAFKA_BROKER_ID: 1
      KAFKA_ZOOKEEPER_CONNECT: 'zookeeper:2181'
      KAFKA_LISTENERS: INTERNAL://0.0.0.0:29092,EXTERNAL://0.0.0.0:9092
      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INTERNAL:PLAINTEXT,EXTERNAL:PLAINTEXT
      KAFKA_ADVERTISED_LISTENERS: INTERNAL://kafka:29092,EXTERNAL://{服务器IP}:9092
      KAFKA_INTER_BROKER_LISTENER_NAME: INTERNAL
      KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
      KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0
      KAFKA_TRANSACTION_STATE_LOG_MIN_ISR: 1
      KAFKA_TRANSACTION_STATE_LOG_REPLICATION_FACTOR: 1

2.保存好docker-compose.yml

3.在docker-compose.yml文件目录下执行:docker-compose up -d

4.观察启动成功后,使用命令在linux服务器进行测试,

创建 topic (topic名字=test-topic)

docker exec kafka kafka-topics --create --topic test-topic --bootstrap-server localhost:9092 --partitions 1 --replication-factor 1

生产消息(交互式)

docker exec -it kafka kafka-console-producer --topic test-topic --bootstrap-server localhost:9092

-交互模式下输入kafka value,然后回车

消费消息(另开终端)

docker exec -it kafka kafka-console-consumer --topic test-topic --bootstrap-server localhost:9092 --from-beginning

-输入消费信息命令后,在控制台观察输出,在生产者回车value后,消费者控制台会同步出现value

5.springBoot项目中配置kafka,供参考:

yaml 复制代码
kafka:
  topic: kafka_topic_outputMessage

spring:
  kafka:
    bootstrap-servers: {kafka所在linux机器IP}:9092
    producer:
      key-serializer: org.apache.kafka.common.serialization.StringSerializer
      value-serializer: org.apache.kafka.common.serialization.StringSerializer
    consumer:
      properties:
        group:
          id: {消费者消费的组ID}
      key-deserializer: org.apache.kafka.common.serialization.StringDeserializer
      value-deserializer: org.apache.kafka.common.serialization.StringDeserializer
相关推荐
亚空间仓鼠6 小时前
Docker容器化高可用架构部署方案(六)
docker·容器·架构
RInk7oBjo6 小时前
从零设计生产级 Multi-Agent Harness:架构、评估、记忆、成本与 MCP 工具接入全拆解
架构
原来是猿7 小时前
网络计算器:理解序列化与反序列化(中)
linux·运维·服务器·网络·tcp/ip
张伯毅7 小时前
如何构建一个生产级 AI Agent CLI —— 以 Claude Code 架构探索
人工智能·架构
AOwhisky7 小时前
虚拟化技术学习笔记
linux·运维·笔记·学习·虚拟化技术
covco8 小时前
分布式架构实战:全平台矩阵管理系统的技术实现与性能优化
分布式·矩阵·架构
rabbit_pro8 小时前
Docker compose部署Ollama使用模型
linux·运维·docker
dhashdoia9 小时前
GPT-5.5 代码开发实战:Codex与Browser Use深度集成与星链4SAPI优化方案
java·数据库·人工智能·gpt·架构
AiTop10010 小时前
商汤发布SenseNova 6.7 Flash-Lite:原生多模态架构打破“视觉转文本“瓶颈,Token消耗直降 60%
人工智能·ai·架构
Irissgwe11 小时前
六、Ext系列文件系统(2.核心原理与应用)
linux·分区··inode·软硬连接·路径缓存·ext系列文件