Apache Flink - PartitionNotFoundException - PullRequest
       1

Apache Flink - PartitionNotFoundException

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

Мы работаем с 5-узловым кластером Flink по Kubernetes и Azure (8 ГБ оперативной памяти каждый и всего 40 слотов). Мы выполняем четыре задания, все из которых потребляют данные от Кафки (каждая из другой группы потребителей). Несколько дней назад, когда наша нагрузка на данные увеличилась, мы заставили нашего производителя производить данные с 5 разделов kafka и параллелизмом заданий к 5. С тех пор мы время от времени (каждый час в среднем) получаем следующее исключение для одного из наших менеджеров задач:

NFO|N||-|||Flink-4jc| 2019-01-22 16:00:32,032 Task:917 - org=[] - Map (2/5) (949a8349e7bdcf3fe3b8f992f52d249c) switched from RUNNING to FAILED.
org.apache.flink.runtime.io.network.partition.PartitionNotFoundException: Partition 86656e59799eb529f24bac704ea06790@b1955e1a072e3b2f9e1f969fea509841 not found.
        at org.apache.flink.runtime.io.network.partition.consumer.RemoteInputChannel.failPartitionRequest(RemoteInputChannel.java:273)
        at org.apache.flink.runtime.io.network.partition.consumer.RemoteInputChannel.retriggerSubpartitionRequest(RemoteInputChannel.java:182)
        at org.apache.flink.runtime.io.network.partition.consumer.SingleInputGate.retriggerPartitionRequest(SingleInputGate.java:400)
        at org.apache.flink.runtime.taskmanager.Task.onPartitionStateUpdate(Task.java:1293)
        at org.apache.flink.runtime.taskmanager.Task.lambda$triggerPartitionProducerStateCheck$1(Task.java:1150)
        at java.util.concurrent.CompletableFuture.uniWhenComplete(CompletableFuture.java:760)
        at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(CompletableFuture.java:736)
        at java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)
        at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:39)
        at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:415)
        at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
        at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
        at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
        at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)

Исключение происходит для разных задач и для разных работ. Я прочитал следующую ветку: http://apache -flink-user-mailing-list-archive.2336050.n4.nabble.com / PartitionNotFoundException-когда-обкатка-пряжа-сеансовый td16081.html Что дает мне некоторые подсказки о том, что может вызвать исключение, но я все еще не могу понять, что вызывает его в моем случае (увеличение таймаутов и размера сетевого буфера не помогло, и я не мог понять, почему размер файла JAR имеет значение )

Кто-нибудь может подсказать мне, как расследовать, что происходит, какие журналы я должен открыть, какую конфигурацию изменить и т. Д.? Если понадобятся какие-либо другие детали, я буду рад предоставить их.

Спасибо!

...