企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
1. 控制 batch size(批处理间隔内的数据量)。 Spark Streaming 会把批处理间隔内接收到的所有数据存放在 Spark 内部的可用内存区域中,因此必须确保当前节点 Spark 的可用内存中少能容纳这个批处理时间间隔内的所有数据,否则必须增加新的资源以提高集群的处理能力。 2. 及时清理不再使用的数据。 Spark Streaming 会将接受的数据全部存储到内部可用内存区域中,因此对于处理过的不再需要的数据应及时清理,以确保 Spark Streaming 有富余的可用内存空间。通过设置合理的 spark.cleaner.ttl 时长来及时清理超时的无用数据,这个参数需要小心设置以免后续操作中所需要的数据被超时错误处理。 3. 观察及适当调整 GC 策略。 GC 会影响 Job 的正常运行,可能延长 Job 的执行时间,引起一系列不可预料的问题。观察 GC 的运行情况,采用不同的 GC 策略以进一步减小内存回收对Job 运行的影响。