У нас есть кластер Nifi с тремя узлами, который находится во внутреннем интерфейсе и haproxy (LB) во внешнем интерфейсе с определенным портом для клиента, чтобы отправить запрос в LB, который ударит кластер Nifi во внутреннем интерфейсе методом циклического перебора.
У нас есть встроенный конвейер, который имеет «HandleHTTPRequest» -> промежуточную обработку с использованием нескольких процессоров |"HandleHTTPResponse".Клиентское приложение может отправлять полезные данные, состоящие из нескольких частей, с другим расширением файла, и в рамках конвейера мы анализируем и обрабатываем их в соответствии с бизнес-логикой и переносим их на сетевой / центральный диск.
Когда клиентское приложение отправляет параллельные полезные данные, мы сталкиваемся сошибка ниже на процессоре «HandleHTTPRequest».
-Я пытался увеличить число одновременных задач для «HandleHTTPRequest» с «1 до 10», и все узлы в нашем кластере могут справиться с увеличением задач, поскольку у нас достаточно ЦП.-Мы увеличили размер очереди контейнера с "50 до 80" -Пробовал изменить время ожидания до 2 мин в службе контроллера.
Сообщение об ошибке в журнале Nifi:
Failed to receive content from HTTP Request from due to org.eclipse.jetty.io.EofException: Early EOF: org.eclipse.jetty.io.EofException: Early EOF
org.eclipse.jetty.io.EofException: Early EOF
at org.eclipse.jetty.server.HttpInput$3.getError(HttpInput.java:1138)
at org.eclipse.jetty.server.HttpInput$3.noContent(HttpInput.java:1126)
at org.eclipse.jetty.server.HttpInput.read(HttpInput.java:313)
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246)
at java.io.BufferedInputStream.read(BufferedInputStream.java:265)
at org.eclipse.jetty.util.ReadLineInputStream.read(ReadLineInputStream.java:131)
at org.eclipse.jetty.util.MultiPartInputStreamParser.parse(MultiPartInputStreamParser.java:769)
at org.eclipse.jetty.util.MultiPartInputStreamParser.getParts(MultiPartInputStreamParser.java:493)
at org.eclipse.jetty.server.MultiParts$MultiPartsUtilParser.<init>(MultiParts.java:121)
at org.eclipse.jetty.server.Request.newMultiParts(Request.java:2410)
at org.eclipse.jetty.server.Request.getParts(Request.java:2333)
at org.eclipse.jetty.server.Request.getParts(Request.java:2319)
at org.apache.nifi.processors.standard.HandleHttpRequest.onTrigger(HandleHttpRequest.java:575)
at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1165)
at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:203)
at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
ПохожеЧерез несколько минут на каждом узле происходит сбой сервера Jetty, и клиентское приложение начнет получать ошибки 503.
Любая помощь в указании любых изменений конфигурации будет полезна.Tx, Vish