Comment réparer Connection reset by peer message de apache spark?
Je reçois les suivantes exception très souvent et je me demande pourquoi ce qui se passe? Après des recherches j'ai trouvé que je pouvais faire .set("spark.submit.deployMode", "nio");
mais cela ne fonctionne pas non plus et je suis en utilisant étincelle 2.0.0
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)
La connexion a été réinitialisée par les pairs. Il n'y a rien que vous pouvez faire à ce sujet à cette fin, sauf si vous êtes à l'origine, par exemple par l'envoi de données à une connexion a déjà été fermé par les pairs.
OriginalL'auteur user1870400 | 2016-09-06
Vous devez vous connecter pour publier un commentaire.
J'avais la même erreur, même si j'ai essayé beaucoup de choses.Mon travail collait lancer cette erreur après l'exécution d'un temps très long. J'ai essayé quelques travaux autour de ce qui m'a aidé à résoudre. Bien que, je reçois toujours le même message d'erreur d'au moins mon travail se passe bien.
l'une des raisons pourrait être les exécuteurs testamentaires tue eux-mêmes en pensant qu'ils ont perdu la connexion à partir de le maître. J'ai ajouté ci-dessous les configurations dans l'étincelle de paramètres par défaut.fichier conf.
étincelle.réseau.délai d'attente 10000000
spark.exécuteur testamentaire.heartbeatInterval 10000000
en gros,j'ai augmenté le délai d'attente réseau et de l'intervalle d'interrogation
L'étape qui collait, j'ai juste mis en cache le dataframe qui est utilisé pour le traitement (dans l'étape qui collait)
Remarque:- ce sont des solutions, je ne vois toujours la même erreur dans les journaux d'erreur mais mon travail n'est pas interrompu.
si vous obtenez toujours le même message d'erreur, veuillez vérifier le nombre de partitions et également de vérifier l'exécuteur de la mémoire et du nombre d'exécuteurs ensemble dans cofiguration. Si non, elle devrait être la valeur par défaut.
Le conseiller que le phoque annelé une cloche pour moi. Merci!!!! À côté de la mise en cache régulièrement, j'ai aussi sauvé l'essentiel des trames de données sur le disque à intervalles réguliers afin de le reprendre plus tard.
Si vous avez un besoin pour la mise en cache, je vous recommande de vous l'écrire en Parquet dans HDFS. De cette façon, vous pourrez effacer la lignée de transformations, vous avez enchaîné.
OriginalL'auteur braj