Filebeat не передает события нескольким брокерам Kafka в одном кластере Kafka - PullRequest
0 голосов
/ 10 января 2019

Filebeat в моей настройке передает события в кластер Kafka с двумя брокерами. Я добавил только один узел в список хостов, но оба брокера в кластере были обнаружены. Я понял это из журналов Filebeat.

Но, несмотря на то, что оба брокера были обнаружены, события публикуются только для брокера.

Ниже приведен конфиг filebeat для вывода

 output.kafka:
  hosts: ["host1:port"]
  topic: '%{[fields.document_type]}'
  worker: 4
  partition.round_robin:
    reachable_only: true
  required_acks: 1
  compression: gzip
  compression_level: 3

Даже в журналах указано, что он подключен только к одному брокеру, как зарегистрированный.

2019-01-07T06:12:38.789-0800    INFO    kafka/log.go:53 client/metadata fetching metadata for all topics from broker host1:port

2019-01-07T06:12:38.799-0800    INFO    kafka/log.go:53 Connected to broker at host1:port (unregistered)

2019-01-07T06:12:38.806-0800    INFO    kafka/log.go:53 client/brokers registered new broker #1 at host1:port
2019-01-07T06:12:38.806-0800    INFO    kafka/log.go:53 client/brokers registered new broker #0 at host2:port
2019-01-07T06:12:38.806-0800    INFO    kafka/log.go:53 kafka message: Successfully initialized new client
2019-01-07T06:12:38.806-0800    INFO    pipeline/output.go:105  Connection to kafka(host1:port,host2:port) established
2019-01-07T06:12:38.807-0800    INFO    kafka/log.go:53 kafka message: Producer.MaxMessageBytes must be smaller than MaxRequestSize; it will be ignored.
2019-01-07T06:12:38.808-0800    INFO    kafka/log.go:53 producer/broker/0 starting up

2019-01-07T06:12:38.814-0800    INFO    kafka/log.go:53 Connected to broker at host2:port (registered as #0)

В консоли zookeeper перечислены оба брокера в кластере, поэтому с кластером Kafka тоже все в порядке.

Я не могу понять ошибку, из-за которой Filebeat отправляется только одному брокеру Kafka.

Спасибо

1 Ответ

0 голосов
/ 15 февраля 2019

Я думаю, что нашел причину для этого. Мой кластер Kafka был по умолчанию, который был установлен на один раздел. Также я создал кластер Kafka с одним узлом при создании темы. Следовательно, весь раздел темы был выделен одному узлу. Когда был добавлен второй узел, Kafka не перебалансировал разделы между узлами, в результате чего все разделы находились в одном месте. Поэтому Filebeat отправлял данные только на один узел.

...