Spark standalone模式部署中的一些问题

浏览: 2399

最近准备把一些批量的应用转换到Spark Streaming上, 先部署到standalone模式上 ,  将碰到的一些问题记录下来供接下来参考.

具体使用Spark 2.2.1, 脚本使用Python3(使用pyenv的虚拟环境,按照https://ask.hellobi.com/blog/seng/3084 部署)

1. OutOfMemoryError

examples/src/main/python/pi.py   10000报错

java.lang.OutOfMemoryError: Java heap space

参考http://www.cnblogs.com/wrencai/p/4231934.html,不指定给driver分配内存时,默认分配的是512M。

需要配置环境spark-env.sh
# SPARK_EXECUTOR_MEMORY < SPARK_DRIVER_MEMORY< yarn集群中每个nodemanager内存大小
export SPARK_EXECUTOR_MEMORY=8g
export SPARK_DRIVER_MEMORY=16g

2.master和slave python版本不一致

Exception: Python in worker has different version 2.7 than that in driver 3.6, 
PySpark cannot run with different minor versions.
Please check environment variables PYSPARK_PYTHON and PYSPARK_DRIVER_PYTHON are correctly set.

解决方法,修改~/.bashrc 增加Python环境的激活

pyenv deactivate
pyenv activate env365

目前根据sumbbit指定具体python版本还没有搞定,virtualenv可以参考hortonworks文档

https://community.hortonworks.com/articles/104949/using-virtualenv-with-pyspark-1.html

3.stand-alone模式python不能使用cluster模式

错误信息:

Error: Cluster deploy mode is currently not supported for python applications on standalone clusters.

$SPARKBASE/spark-submit --deploy-mode cluster

参考:

http://spark.apache.org/docs/2.2.1/submitting-applications.html

推荐 0
本文由 seng 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册