Kafka Kubernetes: Количество активных брокеров ‘0’ не соответствует требуемому коэффициенту репликации ‘1’ для раздела смещений

#kubernetes #apache-kafka #apache-zookeeper #messagebroker

#kubernetes #apache-kafka #apache-zookeeper #messagebroker

Вопрос:

Я пытаюсь настроить модуль Kafka в Kubernetes, но я продолжаю получать эту ошибку:

 [2020-08-30 11:23:39,354] ERROR [KafkaApi-0] Number of alive brokers '0' does not meet the required replication factor '1' for the offsets topic (configured via 'offsets.topic.replication.factor'). This error can be ignored if the cluster is starting up and not all brokers are up yet. (kafka.server.KafkaApis)
  

Это мое развертывание Kafka:

 apiVersion: apps/v1
kind: Deployment
metadata:
  name: kafka
  namespace: instagnam
  labels:
    app: instagnam
    service: kafka
spec:
  replicas: 1
  selector:
    matchLabels:
      app: instagnam
  template:
    metadata:
      labels:
        app: instagnam
        service: kafka
        id: "0"
    spec:
      containers:
       - name: kafka
         image: wurstmeister/kafka
         imagePullPolicy: Always
         ports:
         - containerPort: 9092
           name: kafka
         env:
         - name: KAFKA_PORT
           value: "9092"
         - name: KAFKA_ADVERTISED_PORT
           value: "9092"
         - name: KAFKA_ADVERTISED_HOST_NAME
           value: kafka
         - name: KAFKA_ZOOKEEPER_CONNECT
           value: zookeeper:2181
         - name: KAFKA_CREATE_TOPICS
           value: connessioni:2:1,ricette:2:1
         - name: KAFKA_BROKER_ID
           value: "0"
  

Это мой сервис Kafka:

 apiVersion: v1
kind: Service
metadata:
  name: kafka
  namespace: instagnam
  labels:
    app: instagnam
    service: kafka
spec:
  selector:
    app: instagnam
    service: kafka
    id: "0"
  type: LoadBalancer
  ports:
  - name: kafka
    protocol: TCP
    port: 9092
  

Это мое развертывание Zookeeper:

 apiVersion: apps/v1
kind: Deployment
metadata:
  name: zookeeper
  namespace: instagnam
  labels:
    app: instagnam
    service: zookeeper
spec:
  replicas: 1
  selector:
    matchLabels:
      app: instagnam
      service: zookeeper
  template:
    metadata:
      labels:
        app: instagnam
        service: zookeeper
    spec:
      containers:
      - image: wurstmeister/zookeeper
        name: zookeeper
        imagePullPolicy: Always
        ports:
        - containerPort: 2181
        env:
        - name: ZOOKEEPER_ID
          value: "1"
        - name: ZOOKEEPER_SERVER_1
          value: zookeeper
  

И это мой сервис Zookeeper:
apiVersion: v1

 kind: Service
metadata:
  name: zookeeper
  namespace: instagnam
spec:
  selector:
    app: instagnam
    service: zookeeper
  ports:
  - name: client
    protocol: TCP
    port: 2181
  - name: follower
    protocol: TCP
    port: 2888
  - name: leader
    protocol: TCP
    port: 3888
  

Что я здесь делаю не так?

Если вам нужен полный журнал Kafka, вот он:https://pastebin.com/eBu8JB8A

И есть журналы Zookeper, если они вам тоже нужны:https://pastebin.com/gtnxSftW

РЕДАКТИРОВАТЬ: я запускаю это на minikube, если это может помочь.

Комментарии:

1. В качестве альтернативного способа развертывания Kafka в Kubernetes рассмотрите: strimzi.io/docs/operators/latest/overview.html , оператор Kubernetes для Kafka. strimzi справляется со значительной сложностью развертывания Kafka в Kubernetes.

Ответ №1:

Брокер Кафка.изменения идентификатора могут вызвать эту проблему. Очистите метаданные kafka в разделе zk, удалите все / brokers … примечание: данные kafka будут потеряны

Ответ №2:

Предполагая, что вы находитесь на одном и том же изображении Кафки. Решение, которое устранило проблему для меня, было:

Замена устаревших настроек KAFKA_ADVERTISED_PORT и KAFKA_ADVERTISED_HOST_NAME , как подробно описано в docker image README, см. Текущие документы (или закрепленный фиксатор README). С KAFKA_ADVERTISED_LISTENERS и KAFKA_LISTENERS , для которых мне пришлось добавить конфигурации «внутри» и «снаружи».

Обобщенный из https://github.com/wurstmeister/kafka-docker/issues/218#issuecomment-362327563