Spark 作为一个数据处理框架和计算引擎,被设计在所有常见的集群环境中运行 , 在国
内工作中主流的环境为 Yarn ,不过逐渐容器式环境也慢慢流行起来。
spark提供了基于不同环境下的部署模式,本篇针对常用的部署和运行模式,简单做一下总结。
1. Local模式
所谓的 Local 模式,就是不需 要其他任何节点资源就可以在本地执行 Spark 代码的环境,一般用于教学,调试,演示等, 之前在 IDEA 中运行代码的环境我们称之为开发环境,不太一样;
2. Standalone模式
local 本地模式毕竟只是用来进行练习演示的,真实工作中还是要将应用提交到对应的集群中去执行,这里我们来看看只使用 Spark 自身节点运行的集群模式,也就是我们所谓的 独立部署(Standalone )模式。 Spark 的 Standalone 模式体现了经典的 master-slave 模式。
3. 高可用模式(HA)模式
所谓的高可用是因为当前集群中的 Master 节点只有一个,所以会存在单点故障问题。所以为了解决单点故障问题,需要在集群中配置多个 Master 节点,一旦处于活动状态的 Master发生故障时,由备用 Master 提供服务,保证作业可以继续执行。这里的高可用一般采用Zookeeper 设置;
4. Yarn模式
独立部署( Standalone )模式由 Spark 自身提供计算资源,无需其他框架提供资源。这种方式降低了和其他第三方资源框架的耦合性,独立性非常强。但是你也要记住,Spark 主 要是计算框架,而不是资源调度框架,所以本身提供的资源调度并不是它的强项,所以还是 和其他专业的资源调度框架集成会更靠谱一些;
5. Spark相关端口号
Spark 查看当前 Spark-shell 运行任务情况端口号: 4040 (计算) ;
Spark Master 内部通信服务端口号:7077;
Standalone 模式下,Spark Master Web 端口号:8080(资源);
Spark 历史服务器端口号:18080;
Hadoop YARN 任务运行情况查看端口号:8088;