Accept timed out 異常堆棧
18/07/13 23:14:35 ERROR PythonRDD: Error while sending iterator
java.net.SocketTimeoutException: Accept timed out
at java.net.PlainSocketImpl.socketAccept(Native Method)
at java.net.AbstractPlainSocketImpl.accept(AbstractPlainSocketImpl.java:409)
at java.net.ServerSocket.implAccept(ServerSocket.java:545)
at java.net.ServerSocket.accept(ServerSocket.java:513)
at org.apache.spark.api.python.PythonRDD$$anon$1.run(PythonRDD.scala:397)
18/07/13 23:22:46 INFO ContextCleaner: Cleaned accumulator 1265984
18/07/13 23:22:46 INFO ContextCleaner: Cleaned accumulator 1261984
18/07/13 23:22:46 INFO ContextCleaner: Cleaned accumulator 1291349
18/07/13 23:22:46 INFO ContextCleaner: Cleaned accumulator 1261975
原因
是spark對(duì)相同的IP不同的host別名識(shí)別為不同的主機(jī),如:spark-streaming節(jié)點(diǎn)上配置 127.0.0.1 localhost.localdomain localhost4 localhost4.localdomain4 會(huì)導(dǎo)致executor偶現(xiàn)的Accept timed out的問題。
解決
hosts文件中將 127.0.0.1 localhost.localdomain localhost4 localhost4.localdomain4改為127.0.0.1 localhost 搞定。