Spark文档 - 集群模型预览

2018-12-29  本文已影响0人  sakersun

组件

Spark应用程序运行在集群上的独立进程中,由驱动程序中的SparkContext对象调度。

SparkContext可以连接到几种集群管理器(例如Standalone,Mesos和YARN),这些集群管理器可以为应用程序分配资源。连接完成后,Spark从集群节点上申请executor,它负责执行计算过程并存储数据。接着Spark将应用程序代码发送到各个executor中。最后,SparkContext将task发送给executor执行。

image

有几点需要注意:

  1. 每个应用程序都有自己的executor进程,这些executor会一直存在直到应用程序终结,并以多线程方式执行task。这样的好处是可以从调度层面(驱动程序调度任务)和executor层面(不同应用程序的task运行在不同的JVM中)上彼此隔离。同时也意味着数据无法跨应用程序共享,除非将数据写入外部存储系统。
  2. Spark对底层的集群管理器一无所知。只要它能够申请executor进程,让executor彼此间通信,就可以运行在各种集群管理器上。
  3. 驱动程序必须能够监听并接收来自executor的连接请求。
  4. 因为驱动程序在集群上调度task,所以它最好离工作节点足够近,最好是同一局域网。

术语

下面列出了Spark常用定义:

上一篇 下一篇

猜你喜欢

热点阅读