我目前正在Spark 1.3和Python 2.7上具有50个节点的集群上运行实时Spark Streaming作业。 Spark流上下文从HDFS中的目录读取,批处理间隔为180秒。以下是Spark Job的配置:
spark-submit --master yarn-client --executor-cores 5 --num-executors 10 --driver-memory 10g --conf spark.yarn.executor.memoryOverhead = 2048 --conf spark。 yarn.driver.memoryOverhead = 2048 --conf spark.network.timeout = 300 --executor-memory 10g
大部分工作都很顺利。但是,它在大约15个小时之后引发了Py4j异常,引用它无法获得通信渠道。
我尝试减少批处理间隔大小,但之后会产生处理时间大于批处理间隔的问题。
以下是错误的屏幕截图
我做了一些研究,发现这可能是套接字描述符泄漏的问题SPARK-12617
但是,我无法解决错误并解决它。有没有办法手动关闭可能阻止提供端口的打开连接。或者我必须在代码中进行任何特定更改才能解决此问题。
TIA