Узел Ignite не работает из-за ошибки "Слишком много открытых файлов" - PullRequest
0 голосов
/ 18 июня 2020

Хотя я установил предел дескриптора системного файла как «300000», а предел дескриптора файла процесса как 32768, один из узлов Ignite не работает с ошибкой ниже. Что вызвало проблему и как ее решить навсегда.

class org.apache.ignite.IgniteCheckedException: Failed to accept connection: GridWorker [name=nio-acceptor-client-listener, igniteInstanceName=null, finished=false, heartbeatTs=1592476701201, hashCode=1172182555, interrupted=false, runner=nio-acceptor-client-listener-#34]
        at org.apache.ignite.internal.util.nio.GridNioServer$GridNioAcceptWorker.accept(GridNioServer.java:2948)
        at org.apache.ignite.internal.util.nio.GridNioServer$GridNioAcceptWorker.body(GridNioServer.java:2874)
        at org.apache.ignite.internal.util.worker.GridWorker.run(GridWorker.java:120)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.io.IOException: Too many open files
        at java.base/sun.nio.ch.ServerSocketChannelImpl.accept0(Native Method)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:533)
        at java.base/sun.nio.ch.ServerSocketChannelImpl.accept(ServerSocketChannelImpl.java:285)
        at org.apache.ignite.internal.util.nio.GridNioServer$GridNioAcceptWorker.processSelectedKeys(GridNioServer.java:2998)
        at org.apache.ignite.internal.util.nio.GridNioServer$GridNioAcceptWorker.accept(GridNioServer.java:2928)
        ... 3 more

1 Ответ

0 голосов
/ 19 июня 2020

Apache Ignite with persistence очень голоден для файловых дескрипторов: кеш может иметь 1024 раздела по умолчанию, так что 1024 файла открываются в кластере из одного узла.

Вы можете уменьшить количество кешей, число раздела в функции сродства, иметь больше узлов :) или еще больше увеличить предел.

...