Как настроить время жизни сообщения в топике kafka в докер-конфигурации?

У меня в докере есть вот такая кофигурация для кафки.

    version: '3'
services:
  zookeeper1:
    image: confluentinc/cp-zookeeper:latest
    container_name: zookeeper1
    hostname: zookeeper1
    ports:
      - "2181:2181"
    environment:
      - ZOOKEEPER_CLIENT_PORT=2181
      - ZOOKEEPER_TICK_TIME=2000

  kafka1:
    image: confluentinc/cp-kafka:latest
    container_name: kafka1
    hostname: kafka1
    ports:
      - "9092:9092"
    depends_on:
      - zookeeper1
    environment:
      - KAFKA_ZOOKEEPER_CONNECT=zookeeper1:2181
      - KAFKA_LISTENER_SECURITY_PROTOCOL_MAP=PLAINTEXT:PLAINTEXT
      - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092
      - KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092
      - KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1
      - KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS=0

Я бы хотела как-то отрегулировать время жизни сообщений в топиках. Подскажите пожалуйста, как это можно сделать, если кафка поднята через докер?


Ответы (1 шт):

Автор решения: Анастасия Иванова

Для решения этой задачи достаточно добавить KAFKA_LOG_RETENTION_MS: 600000 KAFKA_LOG_RETENTION_CHECK_INTERVAL_MS: 5000

kafka:
image: confluentinc/cp-kafka:latest
depends_on:
  - zookeeper
ports:
  - 29092:29092
environment:
  KAFKA_BROKER_ID: 1
  KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
  KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092
  KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT
  KAFKA_INTER_BROKER_LISTENER_NAME: PLAINTEXT
  KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1
  KAFKA_LOG_RETENTION_MS: 600000
  KAFKA_LOG_RETENTION_CHECK_INTERVAL_MS: 5000
→ Ссылка