【发布时间】:2015-02-21 05:51:44
【问题描述】:
是否每个人都尝试使用https://console.developers.google.com/project/_/mc/template/hadoop 部署 Spark?
Spark 为我正确安装,我可以通过 SSH 连接到 hadoop worker 或 master,spark 安装在 /home/hadoop/spark-install/
我可以使用 spark python shell 读取云存储中的文件
lines = sc.textFile("hello.txt")
lines.count()
line.first()
但是当我运行时,我无法成功地将 python 示例提交到 spark 集群
bin/spark-submit --master spark://hadoop-m-XXX:7077 examples/src/main/python/pi.py 10
我总是有
Traceback(最近一次调用最后一次):文件 "/Users/yuanwang/programming/spark-1.1.0-bin-hadoop2.4/examples/src/main/python/pi.py", 第 38 行,在 count = sc.parallelize(xrange(1, n+1), slices).map(f).reduce(add) 文件 "/Users/yuanwang/programming/spark-1.1.0-bin-hadoop2.4/python/pyspark/rdd.py", 第 759 行,在减少 vals = self.mapPartitions(func).collect() 文件 "/Users/yuanwang/programming/spark-1.1.0-bin-hadoop2.4/python/pyspark/rdd.py", 第 723 行,收集中 bytesInJava = self._jrdd.collect().iterator() 文件“/Users/yuanwang/programming/spark-1.1.0-bin-hadoop2.4/python/lib/py4j-0.8.2.1-src.zip/py4j/ java_gateway.py", 第 538 行,在 call 文件中 “/Users/yuanwang/programming/spark-1.1.0-bin-hadoop2.4/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py”,第 300 行,在 get_return_value py4j.protocol 中。 Py4JJavaError:一个错误 调用 o26.collect 时发生。 : org.apache.spark.SparkException: 由于阶段失败而中止作业:所有主控都没有响应!给予 向上。在 org.apache.spark.scheduler.DAGScheduler.org$apache$spark$scheduler$DAGScheduler$$failJobAndIndependentStages(DAGScheduler.scala:1185) 在 org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1174) 在 org.apache.spark.scheduler.DAGScheduler$$anonfun$abortStage$1.apply(DAGScheduler.scala:1173) 在 scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:59) 在 scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:47) 在 org.apache.spark.scheduler.DAGScheduler.abortStage(DAGScheduler.scala:1173) 在 org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:688) 在 org.apache.spark.scheduler.DAGScheduler$$anonfun$handleTaskSetFailed$1.apply(DAGScheduler.scala:688) 在 scala.Option.foreach(Option.scala:236) 在 org.apache.spark.scheduler.DAGScheduler.handleTaskSetFailed(DAGScheduler.scala:688) 在 org.apache.spark.scheduler.DAGSchedulerEventProcessActor$$anonfun$receive$2.applyOrElse(DAGScheduler.scala:1391) 在 akka.actor.ActorCell.receiveMessage(ActorCell.scala:498) 在 akka.actor.ActorCell.invoke(ActorCell.scala:456) 在 akka.dispatch.Mailbox.processMailbox(Mailbox.scala:237) 在 akka.dispatch.Mailbox.run(Mailbox.scala:219) 在 akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:386) 在 scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 在 scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 在 scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 在 scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
我很确定我没有正确连接到 Spark 集群,有人在云引擎上成功连接过 Spark 集群吗?
【问题讨论】:
-
你能在 GCE 集群上的 Spark shell 上运行简单的程序吗?
-
我可以从谷歌云存储加载,并计算行数。
-
Spark 是否在 YARN 上运行?
-
我正在使用console.developers.google.com/project/_/mc/template/hadoop,它在hadoop集群上运行
-
不确定这样启动的集群是如何配置的,所以我无法判断这是否是配置问题。作为替代方案,你可以试试这个Spark-GCE launch script,看看你是否得到了一个可行的集群。
标签: apache-spark google-compute-engine