Как ускорить потоковую передачу журналов Nifi в Кафку - PullRequest
0 голосов
/ 22 ноября 2018

Я новичок в nifi, пытаюсь прочитать файлы и нажать kafka.Из некоторого базового чтения я могу сделать это с помощью следующего: enter image description here

С этим потоком я могу достичь 0,5 миллиона записей в секунду, размером 100 КБ каждый,Я хотел бы наверстать упущенное на скорости 2 миллиона в секунду.Данные с процессоров ListFile и FetchFile через процессоры slitText великолепны.Но, соглашаясь на PublishKafka.

Итак, узкое место у PublishKafka.Как мне улучшить эту производительность?Должен ли я что-то настраивать в конце Kafka или в конце Nifi-PublishKafka.

Может кто-нибудь помочь мне с этим.Спасибо

1 Ответ

0 голосов
/ 22 ноября 2018

Вы можете попробовать использовать Record Oriented процессоры, т.е. PublishKafkaRecord_1.0 процессор.

Так что ваш поток будет:

1.ListFile
2.FetchFile
3.PublishKafkaRecord_1.0 //Configure with more than one concurrent task

Используя этот поток, мы не собираемся использовать процессоры SplitText и определить службы контроллеров RecordReader/Writer в* Процессор 1014 *.

In addition Вы также можете распределить нагрузку, используя Remote Process Groups

Поток:

1.ListFile
2.RemoteProcessGroup
3.FetchFile
4.PublishKafkaRecord_1.0 //In scheduling tab keep more than one concurrent task

См. эту ссылку для получения более подробной информации о проектировании / настройке вышеуказанного потока.

Начиная с версии NiFi-1.8нам не нужно использовать RemoteProcessGroup (для распределения нагрузки), поскольку мы можем настроить соединения (взаимосвязи) для распределения балансировки нагрузки.

См. эти и NiFi-5516 ссылки для более подробной информации об этих new additions в версии NiFi-1.8.

...