【问题标题】:Kafka's log directories should only contain Kafka topic dataKafka 的日志目录应该只包含 Kafka 主题数据
【发布时间】:2018-09-26 00:42:01
【问题描述】:

我正在尝试在 kubernetes 环境中运行融合的 kafka 图像并面对

FATAL [KafkaServer id=0] Fatal error during KafkaServer startup. Prepare to shutdown (kafka.server.KafkaServer)
kafka.common.KafkaException: Found directory /var/lib/kafka/data, 'data' is not in the form of topic-partition or topic-partition.uniqueId-delete (if marked for deletion).
Kafka's log directories (and children) should only contain Kafka topic data.

我的部署配置:

apiVersion: apps/v1beta2 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: kafka-confluent
  labels:
    app: kafka-confluent
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kafka-confluent
  template:
    metadata:
      labels:
        app: kafka-confluent
    spec:
      containers:
      - name: zookeeper-kafka
        image: zookeeper:3.5
        ports:
        - containerPort: 2181
      - name: kafka-confluent
        image: confluentinc/cp-kafka:4.0.0
        ports:
        - containerPort: 9092
        command:
        - sh
        - -c
        - "exec kafka-server-start /etc/kafka/server.properties \
          --override reserved.broker.max.id=2147483647 \
          --override zookeeper.connect=localhost:2181 \
          --override listeners=PLAINTEXT://:9092 \
          "

为了解决这个问题,我尝试安装一些像这样的临时卷。

volumes:
- name: kafka-data
  emptyDir: {}
...
volumeMounts:
- mountPath: /var/lib/kafka/data
  name: kafka-data

并使用 init 容器清除 data 目录:

containers:
- name: cleaner
  image: busybox
  command: ['rm', '-rf', '/var/lib/kafka/data/*']

两次尝试都失败,结果相同。

如果我运行图像并列出数据/var/lib/kafka/data/ 目录好像是空的。

docker run --rm -it confluentinc/cp-kafka:4.0.0 bash
root@35087653f43a:/# ls /var/lib/kafka/data/ -al
total 8
drwxrwxrwx 2 root root 4096 Apr 16 09:59 .
drwxr-xr-x 3 root root 4096 Jan  3 19:20 ..

【问题讨论】:

    标签: apache-kafka kubernetes confluent-platform


    【解决方案1】:

    在我的 Windows 系统中我添加了这个

    log.dirs=F:\softwares\kafka_2.12-2.5.1\data

    server.properties 在哪里

    F:\softwares\kafka_2.12-2.5.1
    我的kafka目录和问题解决了吗 这里我在kafka目录中创建了data文件夹,当我从7zip工具中提取kafka时它不存在。

    【讨论】:

      【解决方案2】:

      是你的错吗?

      修复添加这个:

      log.dirs=/var/lib/kafka/data
      

      在 server.properties 中

      【讨论】:

        【解决方案3】:

        我有这个工作配置:

        volumeMounts:
                - name: data
                  mountPath: /var/lib/kafka
        

        并在命令中覆盖log.dirs

        kafka-server-start /etc/kafka/server.properties \
            --override log.dirs=/var/lib/kafka
        

        【讨论】:

          猜你喜欢
          • 2020-02-29
          • 1970-01-01
          • 1970-01-01
          • 2017-01-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多