Spark的三种集群部署模式都有什么区别你知道吗?

Spark有三种集群部署模式,或者叫做集群管理模式。分别是standalone,YARN和Mesos。这三种模式其实都是master/slave模式。

那么在实际的项目中,我们该如何对比选择呢?下面是我的一些总结,主要参考了:

Which Apache Spark Cluster Managers Are The Right Fit? YARN, Mesos, or Standalone?

三种集群资源管理概述

Spark Standalone

作为Spark的一部分,Standalone是一个简单的集群管理器。它具有master的HA,弹性应对WorkerFailures,对每个应用程序的管理资源的能力,并且可以在现有的Hadoop一起运行和访问HDFS的数据。该发行版包括一些脚本,可以很容易地部署在本地或在AmazonEC2云计算。它可以在Linux,Windows或Mac OSX上运行。欢迎加入大数据学习交流分享群: 658558542   一起吹水交流学习

Apache Mesos

Apache Mesos ,分布式系统内核,具有HA的masters和slaves,可以管理每个应用程序的资源,并对Docker容器有很好的支持。它可以运行Spark工作, Hadoop的MapReduce的,或任何其他服务的应用程序。它有Java, Python和C ++ 的API。它可以在Linux或Mac OSX上运行。

Hadoop YARN

Hadoop YARN,作业调度和集群资源管理的分布式计算框架,具有HA为masters和slaves,在非安全模式下支持Docker容器,在安全模式下支持Linux和Windows container executors,和可插拔的调度器。它可以运行在Linux和Windows上运行。

模式资源调度能力比对SecurityHA

standalone只支持FIFO调度器,单用户串行,默认所有节点的所有资源对应用都可用,node节点的限制,cpu内存等限制可以通过SparkConf来控制shared secret ,SSL for data encryptionStandby Masters with ZooKeeper和本地文件系统的单点恢复

YARN支持资源调度器Scheduler,应用管理器ApplicationsManager。CapacityScheduler和FairScheduler在队列的范围内,资源共享。Kerberos。SSL for data encryption主备切换的HA方式,依赖于zookeeper,但不需要单独的zkfc进程。

Mesos看下方:插件式安全模块,默认Cyrus SASL,SSL for data encryption一主多备,基于zookeeper的leader选举。

Mesos的资源调度能力描述

粗粒度模式(Coarse-grained Mode):每个应用程序的运行环境由一个Dirver和若干个Executor组成,其中,每个Executor占用若干资源,内部可运行多个Task(对应多少个“slot”)。应用程序的各个任务正式运行之前,需要将运行环境中的资源全部申请好,且运行过程中要一直占用这些资源,即使不用,最后程序运行结束后,回收这些资源。举个例子,比如你提交应用程序时,指定使用5个executor运行你的应用程序,每个executor占用5GB内存和5个CPU,每个executor内部设置了5个slot,则Mesos需要先为executor分配资源并启动它们,之后开始调度任务。另外,在程序运行过程中,mesos的master和slave并不知道executor内部各个task的运行情况,executor直接将任务状态通过内部的通信机制汇报给Driver,从一定程度上可以认为,每个应用程序利用mesos搭建了一个虚拟集群自己使用。

细粒度模式(Fine-grained Mode):鉴于粗粒度模式会造成大量资源浪费,Spark On Mesos还提供了另外一种调度模式:细粒度模式,这种模式类似于现在的云计算,思想是按需分配。与粗粒度模式一样,应用程序启动时,先会启动executor,但每个executor占用资源仅仅是自己运行所需的资源,不需要考虑将来要运行的任务,之后,mesos会为每个executor动态分配资源,每分配一些,便可以运行一个新任务,单个Task运行完之后可以马上释放对应的资源。每个Task会汇报状态给Mesos slave和Mesos Master,便于更加细粒度管理和容错,这种调度模式类似于MapReduce调度模式,每个Task完全独立,优点是便于资源控制和隔离,但缺点也很明显,短作业运行延迟大。

从对比上看,mesos似乎是Spark更好的选择,也是被官方推荐的。欢迎加入大数据学习交流分享群: 658558542   一起吹水交流学习

但如果你同时运行hadoop和Spark,从兼容性上考虑,Yarn似乎是更好的选择,毕竟是亲生的。Spark on Yarn运行的也不错。

如果你不仅运行了hadoop,spark。还在资源管理上运行了docker,Mesos似乎更加通用。

standalone小规模计算集群,似乎更适合!

结语

感谢您的观看,如有不足之处,欢迎批评指正。

如果有对大数据感兴趣的小伙伴或者是从事大数据的老司机可以加群:

658558542    

里面整理了一大份学习资料,全都是些干货,包括大数据技术入门,海量数据高级分析语言,海量数据存储分布式存储,以及海量数据分析分布式计算等部分,送给每一位大数据小伙伴,这里不止是小白聚集地,还有大牛在线解答!欢迎初学和进阶中的小伙伴一起进群学习交流,共同进步!

最后祝福所有遇到瓶颈的大数据程序员们突破自己,祝福大家在往后的工作与面试中一切顺利。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,457评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,837评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,696评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,183评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,057评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,105评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,520评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,211评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,482评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,574评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,353评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,213评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,576评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,897评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,174评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,489评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,683评论 2 335

推荐阅读更多精彩内容

  • Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AM...
    大佛爱读书阅读 2,799评论 0 20
  • 1. spark三种分布式部署模式 Spark支持的主要的三种分布式部署方式分别是standalone、spark...
    ZPPenny阅读 10,045评论 0 5
  • YarnYarn产生背景:Yarn直接来自于MR1.0MR1.0 问题:采用的是master slave结构,ma...
    时待吾阅读 5,433评论 2 23
  • spark-submit的时候如何引入外部jar包 在通过spark-submit提交任务时,可以通过添加配置参数...
    博弈史密斯阅读 2,702评论 1 14
  • 其实我读书时候最讨厌写作文,每次都像便泌一样,一定要等到周日晚上才去随便瞎掰一些东西写在日记本上,好明天交作业。 ...
    木易夕口阅读 226评论 0 0