spark-submit / spark on yarn分布式集群
flask项目中用到了pyspark和es数据库
项目api中使用subprocess python自置模块来调用shell执行./spark-submit命令执行pyspark脚本启动spark查询es数据库然后把查询的数据注册成临时表再使用sparksql再筛选数据。
spark on yarn基础配置
http://spark.apache.org/docs/latest/running-on-yarn.html
HADOOP_CONF_DIR 和YARN_CONF_DIR两个变量
然后spark-submit参数加上 --master yarn --deploy-mode cluster
hadoop-conf和yarn-conf:hadoop和yarn的配置文件,下载解压
elasticsearch-spark-13_2.11-5.6.9.jar和spark-2.32-bin-hadoop2.7来搭桥梁。需要在spark-2.3.2-bin-hadoop2.7中的conf文件夹中copy spark-env.sh.template文件并改名spark-env.sh
- cd spark-2.3.2-bin-hadoop2.7/conf/
cp spark-env.sh.template spark-env.sh
vi spark-env.sh
export HADOOP_CONF_DIR=/home/python/hadoop-conf
export YARN_CONF_DIR=/home/python/yarn-conf
添加完毕然后再启动hadoop参数上加上
./bin/spark-submit --master yarn --deploy-mode cluster --conf spark.yarn.submit.waitAppCompletion=True
如果报错