spark集群环境下提交jar包运行程序,对mysql数据库中五百万条数据进行读取,报如下错:
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.PooledByteBuf.setBytes(PooledByteBuf.java:253)
at io.netty.buffer.AbstractByteBuf.writeBytes(AbstractByteBuf.java:1133)
读取同数据库其他表几百条数据正常显示,这个就不行,初步感觉应该是需要对spark参数进行调优或者对集群参数修改,对这方面并不熟悉,这个报错很懵,希望给出建议
尝试修改过spark-env,添加了export SPARK_EXECUTOR_MEMORY=5g,export SPARK_DRIVER_MEMORY=10g,没有解决
硬件配置10核,128g内存,集群环境centos7,hadoop3.1.3,spark3.1.1,mysql5.7
集群规模是怎么样的?(10核,128g内存 几台机器?)
代码逻辑是怎么样的,单纯的读库的操作吗?还是有大量的shuffle操作
EXECUTOR_num EXECUTOR_core 参数分别设置的多少
是否有查看过spark的ui页面,查看是部分task失败,还是所有的task都失败
看看这个
https://blog.csdn.net/weixin_45631366/article/details/109543495
该现象之前有题友问过,现象一致,可以同步参考采纳,提供参考链接:https://blog.csdn.net/weixin_45631366/article/details/109543495