–更新–我们发现遇到以下情况时“ com.amazonaws.services.kinesis.clientlibrary.exceptions.ShutdownException:无法更新检查点-实例不持有该分片的租约”https://github.com/awslabs/amazon-kinesis-client/issues/108我们使用s3目录(和dynamodb)来存储检查点,但是如果发生这种情况,块应该不会卡住,而应该继续从内存中逐出,显然kinesis库竞争条件本身就是一个问题...遇到一个问题(也在下面的主题上提交了spark jira任务),其中“块流”(某些不是全部)持续存在导致了OOM应用程序是用Java编写的标准运动/火花流式应用程序(火花版本为2.0.2)运行最初启动良好,自动化SparkCleaner很好地完成了流媒体作业的回收工作(通过查看admin中的Storage选项卡进行了验证)然后一段时间后,某些块卡在内存中,例如执行程序节点之一上的该块input-0-1485362233945 1 ip-:34245序列化的内存1442.5 KB在更多的时间后,更多的块被卡住,再也没有释放据我了解,SparkContext清理程序将以给定的间隔(默认为30分钟)触发删除或较旧的块以及触发System.gc感谢对此的任何反馈,因为此问题在此处阻止了应用程序的100%正常运行时间如果这很有价值,我们可以使用StorageLevel.MEMORY_AND_DISK_SER()Spark Jira (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 您可以尝试手动执行驱逐:获取KinesisInputDStream.generationRDDs(使用反射)对于每个生成的RDD(应包含BlockRDD)执行类似DStream.clearMetadata的操作。我已经对mapWithState和其他不使用内存的Spark东西使用了类似的技巧。 (adsbygoogle = window.adsbygoogle || []).push({});
10-01 21:45