当前位置: 首页 > 知识库问答 >
问题:

向谷歌云平台提交Spark作业

孙修贤
2023-03-14

每个人都试着用https://console.developers.google.com/project/_/mc/template/hadoop?

Spark对我来说安装正确,我可以SSH进入hadoop worker或master,Spark安装在/home/hadoop/Spark install/

我可以使用spark python shell在云存储中读取文件

lines=sc.textFile(“hello.txt”)

线计数()

线第一()

但在运行时,我无法成功地将python示例提交给spark cluster

bin/src/main/python/pi.py10

我总是得到

Traceback(最近一次调用):File"/用户/远望/编程/Spark-1.1.0-bin-hadoop2.4/示例/src/main/python/pi.py",第38行,计数=sc.parallelize(xrange(1,n 1),切片)。map(f)。减少(添加)File"/用户/远望/编程/Spark-1.1.0-bin hadoop2.4/python/pyspark/rdd.py",第759行,减少流量=self.map分区(func)。收集()文件"/用户/远望/编程/Spark-1.1.0-bin hadoop2.4/python/pyspark/rdd.py",第723行,_jrdd.collect()。迭代器()文件"/用户/元王/编程/火花-1.1.0-bin hadoop2.4/python/lib/py4j-0.8.2.1-src.zip/py4j/java_gateway.py",第538行,在调用文件"/用户/元王/编程/火花-1.1.0-bin hadoop2.4/python/lib/py4j-0.8.2.1-src.zip/py4j/protocol.py",第300行,get_return_valuepy4j.protocol.Py4JJavaError:在调用o26.collect.时发生错误:org.apache.spark.SparkExc0019:由于阶段故障而中止的作业:所有的主人都没有响应!放弃。在org.apache.spark.scheduler.DAGScheduler.org$apache$火花$调度器$DAGScheduler$$失败工作和独立阶段(DAGScheduler.scala:1185)在org.apache.spark.scheduler.DAGScheduler$$anonfun$中止阶段$1.apply(DAGScheduler.scala:1174)在org.apache.spark.scheduler.DAGScheduler$$anonfund$中止阶段$1.apply(DAGScheduler.scala:1173)在scala.集合. mutable。ResizableArray$class. Foreach(ResizableArray. scala: 59)在scala.集合. mutable。ArrayBuffer. Foreach(ArrayBuffer. scala: 47)在org. apache. Spark.调度器。DAGScheduler。中止阶段(DAGScheduler. scala: 1173)在org. apache. Spark.调度器。DAGScheduler$$anonfund$handleTaskSetFailed1美元。应用(DAGScheduler. scala: 688)在org. apache. Spark.调度器。DAGScheduler$$anonfund$handleTaskSetFailed1美元。应用(DAGScheduler. scala: 688)在scala。选项. Foreach(选项. scala: 236)在org.DAGScheduler. handleTaskSetFail(DAGScheduler. scala: 688)在org. apache. Spark.调度器。DAGSchedulerEventProcessActor$$anonfun$接收2美元。在akka. actor。在akka. actor。ActorCell。接收消息(ActorCell。scala: 498)在akka. actor。ActorCell. invoke(ActorCell。scala: 456)在akka。调度。邮箱。邮箱。scala: 237)在akka。调度。邮箱。运行(邮件箱。scala: 219)在akka。调度。ForkJoinExecutorConfigurator$AkkaForkJoinTask. exec(AbstractDispatcher. scala: 386)在scar.并发。ForkJoinTask. doExecForkJoinWorkerThread. run(ForkJoinWorkerThread. java: 107)

我很确定我没有正确连接到Spark cluster,有人在云引擎上成功连接了Spark cluster吗?

共有1个答案

云捷
2023-03-14

您可以从主服务器运行作业:

SSH到主节点:

gcloud compute ssh --zone <zone> hadoop-m-<hash>

然后:

$ cd /home/hadoop/spark-install
$ spark-submit examples/src/main/python/pi.py 10

在输出的某个地方,你应该看到:

圆周率大约是3.140100

看起来您正在尝试远程提交作业。我不知道您是如何工作的,但是您可以从主机上提交作业。

顺便说一句,作为常规操作,您可以通过以下方式验证spark安装:

cd /usr/local/share/google/bdutil-0.35.2/extensions/spark
sudo chmod 755 spark-validate-setup.sh
./spark-validate-setup.sh
 类似资料:
  • 上面写着“Google Cloud Messaging(GCM)是一个免费服务”,但是为了使它能够运行,我需要在Google Cloud平台中创建一个项目,这需要花钱…那怎么免费呢?还是我错过了什么?

  • null 我的用户应该能够创建只有计算迫害管理和计算网络管理角色的项目吗?

  • 有没有可能重新命名一个谷歌云平台项目?如果是,怎么做? 我不需要更改项目ID或编号。但我确实想更改项目名称(人类用来标识云平台项目的名称)。 谢谢你的提示!

  • 我将为同一个客户端主持多个应用程序。我的想法是每个应用程序的项目,这是一个好主意吗? 还是把所有应用程序分在前端和后端这样的两个项目中更好?

  • 对于这个问题,这里可能是错误的地方,所以如果有必要,请重新指示我。 我使用Google Cloud函数部署了几个简单的函数,它们可以实现以下功能: 从AWS读取文件并写入云SQL 我将这些函数作为单独的函数,因为(1)通常需要比云函数最大超时更长的时间。正因为如此,我正在考虑将这一切作为一项服务转移到App Engine。关于应用程序引擎标准,我的问题是: 请求超时是什么意思?如果我运行这个服务,

  • 刚刚在谷歌云平台上使用点击部署安装了mongodb。我有另一个项目,我为其创建了mongodb数据库,我的web应用程序在其中运行。我必须打开一些端口或配置一些东西吗?