在独立Spark群集上部署我的Spark Streaming Job之后,我遇到了一些检查点问题。控制台日志会产生一个提示:
WARN ReliableCheckpointRDD: Error writing partitioner org.apache.spark.HashPartitioner@2 to hdfs://10.254.25.21:8020/path/1914a5db-96be-4634-b2ce-ee867119fd95/rdd-18129
我使用默认的HashPartitioner将数据划分为两个分区。我将我的HDFS检查点目录设置为我的Spark主控和HDFS端口,如下所示:
ssc.checkpoint("hdfs://10.254.25.21:8020/path")
在我的工作中,我从不在任何DStream上手动调用.checkpoint(duration)
。但是由于PairDStreams mapWithState()调用,我获得了许多有状态的Streams。捕获异常的代码可以在ReliableCheckpointRDD line 209ff中找到。不幸的是,我在网上找不到任何对此错误的引用。
在我的工作中,每当触发检查点时,每个有状态DStream都会抛出异常。
感谢任何帮助!
编辑#1
这不会影响结果的正确性。然而,我想知道在进行一些性能分析时性能是否会变差。