this problem is from git clone mahout master, not from mahout 0.10. maybe 
mahout master is updated recently? i will update and try again, thank you!

发自我的 iPhone

> 在 2015年5月22日,下午9:20,Pat Ferrel <[email protected]> 写道:
> 
> Mahout 0.10.0 runs on Spark 1.1.1 or below _only_
> 
> If you are only using spark-itemsimilarity you can try the unreleased master, 
> which is being moved to Spark 1.2.2, and is binary compatible with Spark 1.3. 
> Get the latest master branch from https://github.com/apache/mahout and build 
> from source. Leave the version at Spark 1.2.2. Changing to Spark 1.3 in the 
> pom will cause compile errors like the ones below.
> 
> I’ve run a few tests on Spark 1.3 but if you’d like to try also please report 
> back what you find.
> 
> BTW the use of guava has been removed so any source examples are still being 
> updated. If you are using the command line you should be fine,
> 
> 
> On May 21, 2015, at 11:50 PM, lastarsenal <[email protected]> wrote:
> 
> Hi, 
> 
> 
>  Recently I tried mahout spark, for example: 
> 
> 
> ./bin/mahout spark-itemsimilarity -i ${input} -o ${output} --master $MyMaster 
> --sparkExecutorMem 2g
> 
> 
> then I met a error like "Caused by: java.lang.ClassCastException: 
> org.apache.mahout.sparkbindings.io.MahoutKryoRegistrator cannot be cast to 
> org.apache.spark.serializer.KryoRegistrator", It seems that our spark version 
> is NOT compatible with mahout. 
> 
> 
> For the spark system is deployed by ops, so what I can do just follow them. 
> Then I do something as below:
> 1.  Modify  <spark.version>1.1.1</spark.version>  to  
> <spark.version>1.3.0</spark.version> , which is our spark version,   in 
> pom.xml in mahout.
> 2. Run mvn -DskipTests clean install
> 3. Get a error when build: 
> 
> 
> [ERROR] 
> spark/src/main/scala/org/apache/mahout/sparkbindings/drm/CheckpointedDrmSpark.scala:168:
>  error: value saveAsSequenceFile is not a member of 
> org.apache.mahout.sparkbindings.DrmRdd[K]
> [ERROR]     rdd.saveAsSequenceFile(path)
> [ERROR]         ^
> [ERROR]spark/src/main/scala/org/apache/mahout/sparkbindings/drm/package.scala:26:
>  error: object FilteredRDD is not a member of package org.apache.spark.rdd
> [ERROR] import org.apache.spark.rdd.{FilteredRDD, RDD}
> 
> 
> 4. Check 1.3.0 spark, FilteredRDD is dismissed
> 5. Check 1.1.1 spark, FilteredRDD is available.
> 
> 
> So, my question is how can I solve it?
> 
> 
> The error details is as below when I run ./bin/mahout spark-itemsimilarity -i 
> ${input} -o ${output} --master $MyMaster --sparkExecutorMem 2g
> 15/05/22 12:22:27 WARN TaskSetManager: Lost task 8.0 in stage 0.0 (TID 8, 
> 182.118.21.30): java.io.IOException: org.apache.spark.SparkException: Failed 
> to register classes with Kryo
>       at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1008)
>       at 
> org.apache.spark.broadcast.TorrentBroadcast.readBroadcastBlock(TorrentBroadcast.scala:164)
>       at 
> org.apache.spark.broadcast.TorrentBroadcast._value$lzycompute(TorrentBroadcast.scala:64)
>       at 
> org.apache.spark.broadcast.TorrentBroadcast._value(TorrentBroadcast.scala:64)
>       at 
> org.apache.spark.broadcast.TorrentBroadcast.getValue(TorrentBroadcast.scala:87)
>       at org.apache.spark.broadcast.Broadcast.value(Broadcast.scala:70)
>       at 
> org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:61)
>       at 
> org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:41)
>       at org.apache.spark.scheduler.Task.run(Task.scala:56)
>       at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:195)
>       at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>       at java.lang.Thread.run(Thread.java:722)
> Caused by: org.apache.spark.SparkException: Failed to register classes with 
> Kryo
>       at 
> org.apache.spark.serializer.KryoSerializer.newKryo(KryoSerializer.scala:105)
>       at 
> org.apache.spark.serializer.KryoSerializerInstance.<init>(KryoSerializer.scala:157)
>       at 
> org.apache.spark.serializer.KryoSerializer.newInstance(KryoSerializer.scala:119)
>       at 
> org.apache.spark.broadcast.TorrentBroadcast$.unBlockifyObject(TorrentBroadcast.scala:214)
>       at 
> org.apache.spark.broadcast.TorrentBroadcast$$anonfun$readBroadcastBlock$1.apply(TorrentBroadcast.scala:177)
>       at org.apache.spark.util.Utils$.tryOrIOException(Utils.scala:1005)
>       ... 12 more
> Caused by: java.lang.ClassCastException: 
> org.apache.mahout.sparkbindings.io.MahoutKryoRegistrator cannot be cast to 
> org.apache.spark.serializer.KryoRegistrator
>       at 
> org.apache.spark.serializer.KryoSerializer$$anonfun$newKryo$3.apply(KryoSerializer.scala:101)
>       at 
> org.apache.spark.serializer.KryoSerializer$$anonfun$newKryo$3.apply(KryoSerializer.scala:101)
>       at scala.Option.map(Option.scala:145)
>       at 
> org.apache.spark.serializer.KryoSerializer.newKryo(KryoSerializer.scala:101)
>       ... 17 more
> 
> 

Reply via email to