Я получаю сообщение об ошибке на Кафке: [2020-05-04 12:46:59,477] ERROR [KafkaApi-1001] 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)
И ошибка, когда я пытаюсь создать сообщение: 2020-05-04 12:47:45.221 WARN 1 --- [ad | producer-1] org.apache.kafka.clients.NetworkClient : [Producer clientId=producer-1] Error while fetching metadata with correlation id 10 : {activate-user=LEADER_NOT_AVAILABLE}
С использованием docker -составить все работает нормально, но Я пытаюсь переместить это также к k8s. Я запустил этот процесс с помощью инструмента kompose convert
и изменил вывод.
Вот фрагмент docker -компса:
zookeeper:
container_name: zookeeper
image: wurstmeister/zookeeper:latest
environment:
ZOOKEEPER_CLIENT_PORT: 2181
ports:
- "2181:2181"
mail-sender-kafka:
container_name: mail-sender-kafka
image: wurstmeister/kafka:2.12-2.2.1
environment:
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
KAFKA_ADVERTISED_HOST_NAME: mail-sender-kafka
KAFKA_CREATE_TOPICS: "activate-user:1:1"
ports:
- 9092:9092
depends_on:
- zookeeper
account-service:
image: szastarek/food-delivery-account-service:${TAG}
container_name: account-service
environment:
- KAFKA_URI=mail-sender-kafka:9092
depends_on:
- config-server
- account-service-db
mail-sender:
image: szastarek/food-delivery-mail-sender:${TAG}
container_name: mail-sender
environment:
- KAFKA_URI=mail-sender-kafka:9092
depends_on:
- config-server
После преобразования его в k8s я получил zookeeper-deploy, zookeeper-service, mail-sender-deploy, mail-sender-kafka-deploy, mail-sender-kafka-service.
Я также пытался добавить некоторые переменные env и на данный момент, это выглядит так:
spec:
containers:
- env:
- name: KAFKA_ADVERTISED_HOST_NAME
value: mail-sender-kafka
- name: KAFKA_ADVERTISED_PORT
value: '9092'
- name: ADVERTISED_LISTENERS
value: PLAINTEXT://mail-sender-kafka:9092
- name: KAFKA_CREATE_TOPICS
value: activate-user:1:1
- name: KAFKA_ZOOKEEPER_CONNECT
value: zookeeper:2181
Я обнаружил одну вещь, которая, вероятно, связана с проблемой. Когда я запускаю ping mail-sender-kafka
на docker, я могу достичь себя. Но если я подключаюсь к kubernetes mail-sender-kafka pod, я не могу пропинговать себя.
После обновления файла hosts он работает. Было что-то вроде:
172.18.0.24 mail-sender-kafka-xxxxxxx
И я изменил его на
172.18.0.24 mail-sender-kafka
Любые советы о том, как это исправить?