2016-09-06 2 views
6

Я продолжаю получать следующее исключение очень часто, и мне интересно, почему это происходит? После исследования я обнаружил, что я мог сделать .set("spark.submit.deployMode", "nio");, но это не сработало, и я использую искру 2.0.0Как исправить соединение с помощью сообщения peer из apache-spark?

WARN TransportChannelHandler: Exception in connection from /172.31.3.245:46014 
    java.io.IOException: Connection reset by peer 
    at sun.nio.ch.FileDispatcherImpl.read0(Native Method) 
    at sun.nio.ch.SocketDispatcher.read(SocketDispatcher.java:39) 
    at sun.nio.ch.IOUtil.readIntoNativeBuffer(IOUtil.java:223) 
    at sun.nio.ch.IOUtil.read(IOUtil.java:192) 
    at sun.nio.ch.SocketChannelImpl.read(SocketChannelImpl.java:380) 
    at io.netty.buffer.PooledUnsafeDirectByteBuf.setBytes(PooledUnsafeDirectByteBuf.java:221) 
    at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:898) 
    at io.netty.channel.socket.nio.NioSocketChannel.doReadBytes(NioSocketChannel.java:242) 
    at io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:119) 
    at io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) 
    at io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) 
    at io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) 
    at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) 
    at io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:112) 
+0

Соединение было сброшено сверстником. С этой целью вы ничего не можете с этим поделать, если вы не вызываете это, например. путем отправки данных в соединение, которое уже было закрыто одноранговым узлом. – EJP

ответ

2

я получаю ту же ошибку, даже если бы я попробовал много things.My работы используется застрять бросать это после запуска очень долгое время. Я попробовал немного работы, которая помогла мне решить. Хотя, я по-прежнему получаю ту же ошибку, по крайней мере, моя работа работает нормально.

  1. Одна из причин, по которым исполнители могут убить себя, думая, что они потеряли соединение от мастера. Я добавил следующие конфигурации в файле spark-defaults.conf.

    spark.network.timeout 10000000 spark.executor.heartbeatInterval 10000000 в основном, я увеличил время ожидания сети и сердцебиения интервал

  2. Конкретный шаг, который используется, чтобы застрять, я просто кэшируются в dataframe, который используется для обработки (на этапе, который используется, чтобы застрять)

Примечание: - это работа обходные, я все еще вижу ту же ошибку в журналах ошибок, но моя работа не получает прекращается.

Смежные вопросы