Kafka Connect: Как улучшить производительность коннектора hdfs? - PullRequest
0 голосов
/ 12 января 2019

У нас работают 5 рабочих на разных узлах, и мы запускаем соединитель со следующими конфигами:

tasks.max=60
topics=test-topic
flush.size=2000000
rotate.interval.ms=30000

У нас есть 50 разделов в теме ввода, и каждый раздел получает около 100 тыс. Записей каждую минуту. Мы заметили, что соединитель не может справиться с этим и отстает от данных на 2 часа. Вероятно, он не читает достаточно быстро. Какие настройки мы можем изменить, чтобы улучшить производительность?

1 Ответ

0 голосов
/ 12 января 2019

Confluent Engineers сказали мне, что rotate.interval.ms допускает только одну запись файла одновременно.

Скорее, вы должны использовать rotate.schedule.interval.ms для очистки файла в этом интервале (если не достигнут размер сброса) и установить rotate.interval.ms=-1 (отключить его)

Кроме того, вы не можете иметь более 50 задач для темы с 50 разделами. Возможно, вам потребуется добавить больше рабочих, но я использую кластер из 3 узлов и более 100 задач на заданном соединителе (с кучей 10 ГБ) и, похоже, все в порядке

На самой стороне разъема больше ничего нельзя изменить. Вам потребуется изменить свойства consumer.* работника, используя любую из Consumer config

Кроме этого, вам придется отслеживать использование кучи, ЦП и пропускную способность сети извне из среды Connect, чтобы узнать, где на самом деле находится узкое место.

...