Checkpoint RDD ReliableCheckpointRDD 与原始 RDD 的分区数不同
Checkpoint RDD ReliableCheckpointRDD has different number of partitions from original RDD
我有一个由两台机器组成的 spark 集群,当我 运行 一个 spark 流应用程序时,我收到以下错误:
Exception in thread "main" org.apache.spark.SparkException: Checkpoint RDD ReliableCheckpointRDD[11] at print at StatefulNetworkWordCount.scala:78(1) has different number of partitions from original RDD MapPartitionsRDD[10] at updateStateByKey at StatefulNetworkWordCount.scala:76(2)
at org.apache.spark.rdd.ReliableRDDCheckpointData.doCheckpoint(ReliableRDDCheckpointData.scala:73)
at org.apache.spark.rdd.RDDCheckpointData.checkpoint(RDDCheckpointData.scala:74)
如何在不是 HDFS/Cassandra/any 其他数据存储的文件系统上提供检查点目录?
我想到了两种可能的解决方案,但我不知道如何编码:
有一个远程目录,对两个工人都是本地的
为两个工作人员指定一个远程目录
有什么建议吗?
好的,所以我可以继续第一个选项。
我在所有 worker 上安装了一个远程目录作为检查点,它运行良好。
How to mount the remote checkpoint directory on the workers:
sudo apt-get install sshfs
Load it to kernel
sudo modprobe fuse
sudo adduser username fuse
mkdir ~/checkpoint
sshfs ubuntu@xx.xx.x.xx:/home/ubuntu/checkpoint ~/checkpoint
我有一个由两台机器组成的 spark 集群,当我 运行 一个 spark 流应用程序时,我收到以下错误:
Exception in thread "main" org.apache.spark.SparkException: Checkpoint RDD ReliableCheckpointRDD[11] at print at StatefulNetworkWordCount.scala:78(1) has different number of partitions from original RDD MapPartitionsRDD[10] at updateStateByKey at StatefulNetworkWordCount.scala:76(2)
at org.apache.spark.rdd.ReliableRDDCheckpointData.doCheckpoint(ReliableRDDCheckpointData.scala:73)
at org.apache.spark.rdd.RDDCheckpointData.checkpoint(RDDCheckpointData.scala:74)
如何在不是 HDFS/Cassandra/any 其他数据存储的文件系统上提供检查点目录?
我想到了两种可能的解决方案,但我不知道如何编码:
有一个远程目录,对两个工人都是本地的
为两个工作人员指定一个远程目录
有什么建议吗?
好的,所以我可以继续第一个选项。
我在所有 worker 上安装了一个远程目录作为检查点,它运行良好。
How to mount the remote checkpoint directory on the workers:
sudo apt-get install sshfs
Load it to kernel
sudo modprobe fuse
sudo adduser username fuse
mkdir ~/checkpoint
sshfs ubuntu@xx.xx.x.xx:/home/ubuntu/checkpoint ~/checkpoint