0

当我将 master 设置为 localhost 时,此代码运行完美。当我在具有两个工作节点的集群上提交时会出现问题。

所有机器都有相同版本的python和包。我还设置了指向所需 python 版本的路径,即 3.5.1。当我在主 ssh 会话上提交我的 spark 作业时。我收到以下错误 -

py4j.protocol.Py4JJavaError: 调用 z:org.apache.spark.api.python.PythonRDD.runJob 时出错。:org.apache.spark.SparkException:作业因阶段失败而中止:阶段 2.0 中的任务 0 失败 4 次,最近一次失败:阶段 2.0 中丢失任务 0.3(TID 5,.c..internal):org.apache。 spark.api.python.PythonException:回溯(最近一次调用最后):文件“/hadoop/yarn/nm-local-dir/usercache//appcache/application_1469113139977_0011/container_1469113139977_0011_01_000004/pyspark.zip/pyspark/worker.py”,行98,在主命令=pickleSer._read_with_length(infile)文件“/hadoop/yarn/nm-local-dir/usercache//appcache/application_1469113139977_0011/container_1469113139977_0011_01_000004/pyspark.zip/pyspark/serializers.py”,第164行,在_readwithlength_返回 self.loads(obj) 文件“init .py",第 25 行,在 import numpy ImportError: No module named 'numpy'

我看到了人们无法访问他们的工作节点的其他帖子。我愿意。对于另一个工作节点,我得到了相同的消息。不确定我是否缺少一些环境设置。任何帮助都感激不尽。

4

1 回答 1

0

不确定这是否有资格作为解决方案。我在谷歌平台上使用 dataproc 提交了相同的作业,并且没有任何问题。我相信在 google 集群上运行作业的最佳方式是通过 google 平台上提供的实用程序。dataproc 实用程序似乎可以解决与环境相关的任何问题。

于 2016-07-25T16:26:02.690 回答