在纱线群集模式下运行python spark作业

时间:2015-05-21 01:09:37

标签: python apache-spark yarn

当我在spark python的例子中使用spark run pi.py脚本时出现问题,当我使用yarn-client模式时,一切正常。但是当我使用yarn-cluster模式时,作业无法启动,容器会返回如下语法错误:

日志类型:标准输出

日志上传时间:2015年5月21日星期四08:48:16 +0800

LogLength:111

日志内容:

文件" pi.py",第40行

return 1 if x ** 2 + y ** 2 < 1 else 0

我确定脚本是对的,任何人都可以帮助我。

2 个答案:

答案 0 :(得分:3)

注意到语法错误是新版python中包含的功能,所以我意识到这可能是关于python版本的spark使用的问题。

我在/etc/spark/conf.cloudera.spark_on_yarn/spark-defaults.conf中添加了一个属性:

spark.yarn.appMasterEnv.PYSPARK_PYTHON

指定python二进制路径。

然后问题解决了。

答案 1 :(得分:1)

spark目前不支持在集群模式下运行python脚本(将驱动程序部署到集群)

  

或者,如果您的应用程序是从远程机器提交的   从工作机器(例如,在您的笔记本电脑上本地),这是常见的   使用群集模式来最小化驱动程序之间的网络延迟   和遗嘱执行人。请注意,目前不支持群集模式   对于Mesos集群或Python应用程序。

https://spark.apache.org/docs/1.3.1/submitting-applications.html