首先spark有四种运行方式:
- 本地模式:spark单机运行
- Standalone模式:构建一个由Master+Slave构成的Spark集群,Spark运行在集群上
- Spark on Yarn 模式: spark直接连接Yarn,不需要额外构建Spark集群
- Spark on Mesos模式:spark直接连接Mesos,不需要额外构建Spark集群
Spark程序在运行Yarn上:
在YARN相关模式中,运行库和程序运行所以来的其他文件首先通过HDFS客户端API上传到作业的.sparkStaing目录下,然后将对应的文件和URL映射关系通知YARN,YARN的Node Manager在启动Container的时候会从指定URL处下载相关文件作为运行环境的一部分。
调优部分是指:我们spark运行所需的jar包事先上传到HDFS上,然后在spark-default.conf 中配置
spark.yarn.jar=hdfs:///jar/spark-assembly-1.6.3-hadoop2.6.0.jar
这样就避免了每次都在重复上传这个jar包