Nifi handlehttprequest Не удалось получить содержимое из HTTP-запроса из-за раннего EOF: org.eclipse.jetty.io.EofException: Early EOF - PullRequest
0 голосов
/ 25 июня 2019

У нас есть кластер 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

...