Spark Streaming目录填充磁盘

时间:2016-11-03 13:41:10

标签: apache-spark spark-streaming

我有一个流作业,打算使用mapWithState一步连续运行,因此需要配置检查点。我使用本地目录进行设置,因为此阶段仅在单个节点上运行。

我观察到检查点目录快速且持续地增长。在几天的过程中,它会增长到超过一百万个文件并耗尽磁盘上的inode。

问题:

  1. 这是预期的行为吗?
  2. 假设没有,我如何找出可能导致快照不被修剪的原因?

1 个答案:

答案 0 :(得分:0)

错误是sparkContext.checkpoint(checkpointDir)而不是sparkStreamingContext.checkpoint(checkpointDir)启用了检查点。

前者足以使Spark运行有状态流,而不是抱怨未启用检查点,但由于sparkStreamingContext.checkpointDir为空,因此未调用流检查点的相应逻辑。