2015-10-20 19 views
4

我有兩臺機器的火花集羣,我當我運行的火花流應用我收到以下錯誤不同的分區數:檢查點RDD ReliableCheckpointRDD已經從原來的RDD

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 /任何其他數據存儲的目錄?

我想到了兩個可能的解決方案,但我不知道如何把它們的代碼:

  1. 有一個遠程目錄這是本地的兩個工人

  2. 上指定遠程目錄給兩名工人

有什麼建議嗎?

回答

2

好的,所以我能夠繼續第一個選項。

我安裝了一個遠程目錄作爲檢查點的所有工人,它的工作完美。

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 [email protected]:/home/ubuntu/checkpoint ~/checkpoint