自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Spark的三種集群deploy模式對比

大數(shù)據(jù) Spark
Spark有三種集群部署模式,或者叫做集群管理模式。分別是standalone,YARN和Mesos。這三種模式其實(shí)都是master/slave模式。

Spark有三種集群部署模式,或者叫做集群管理模式。分別是standalone,YARN和Mesos。這三種模式其實(shí)都是master/slave模式。

那么在實(shí)際的項(xiàng)目中,我們該如何對比選擇呢?下面是我的一些總結(jié),主要參考了:

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

三種集群資源管理概述

Spark Standalone

作為Spark的一部分,Standalone是一個(gè)簡單的集群管理器。它具有master的HA,彈性應(yīng)對WorkerFailures,對每個(gè)應(yīng)用程序的管理資源的能力,并且可以在現(xiàn)有的Hadoop一起運(yùn)行和訪問HDFS的數(shù)據(jù)。該發(fā)行版包括一些腳本,可以很容易地部署在本地或在AmazonEC2云計(jì)算。它可以在Linux,Windows或Mac OSX上運(yùn)行。

Apache Mesos

Apache Mesos ,分布式系統(tǒng)內(nèi)核,具有HA的masters和slaves,可以管理每個(gè)應(yīng)用程序的資源,并對Docker容器有很好的支持。它可以運(yùn)行Spark工作, Hadoop的MapReduce的,或任何其他服務(wù)的應(yīng)用程序。它有Java, Python和C ++ 的API。它可以在Linux或Mac OSX上運(yùn)行。

Hadoop YARN

Hadoop YARN,作業(yè)調(diào)度和集群資源管理的分布式計(jì)算框架,具有HA為masters和slaves,在非安全模式下支持Docker容器,在安全模式下支持 Linux和Windows container executors,和可插拔的調(diào)度器。它可以運(yùn)行在Linux和Windows上運(yùn)行。

集群資源調(diào)度能力的對比

模式資源調(diào)度能力比對SecurityHA

  • standalone 只支持FIFO調(diào)度器,單用戶串行,默認(rèn)所有節(jié)點(diǎn)的所有資源對應(yīng)用都可用,node節(jié)點(diǎn)的限制,cpu內(nèi)存等限制可以通過SparkConf來控制 shared secret ,SSL for data encryptionStandby Masters with ZooKeeper和本地文件系統(tǒng)的單點(diǎn)恢復(fù)
  • YARN 支持資源調(diào)度器Scheduler,應(yīng)用管理器ApplicationsManager。CapacityScheduler和 FairScheduler在隊(duì)列的范圍內(nèi),資源共享。Kerberos。SSL for data encryption主備切換的HA方式,依賴于zookeeper,但不需要單獨(dú)的zkfc進(jìn)程
  • Mesos看下方:插件式安全模塊,默認(rèn)Cyrus SASL,SSL for data encryption一主多備,基于zookeeper的leader選舉

Mesos的資源調(diào)度能力描述

粗粒度模式(Coarse-grained Mode):每個(gè)應(yīng)用程序的運(yùn)行環(huán)境由一個(gè)Dirver和若干個(gè)Executor組成,其中,每個(gè)Executor占用若干資源,內(nèi)部可運(yùn)行多個(gè) Task(對應(yīng)多少個(gè)“slot”)。應(yīng)用程序的各個(gè)任務(wù)正式運(yùn)行之前,需要將運(yùn)行環(huán)境中的資源全部申請好,且運(yùn)行過程中要一直占用這些資源,即使不用,***程序運(yùn)行結(jié)束后,回收這些資源。舉個(gè)例子,比如你提交應(yīng)用程序時(shí),指定使用5個(gè)executor運(yùn)行你的應(yīng)用程序,每個(gè)executor占用5GB內(nèi)存和5個(gè)CPU,每個(gè)executor內(nèi)部設(shè)置了5個(gè)slot,則Mesos需要先為executor分配資源并啟動(dòng)它們,之后開始調(diào)度任務(wù)。另外,在程序運(yùn)行過程中,mesos的master和slave并不知道executor內(nèi)部各個(gè)task的運(yùn)行情況,executor直接將任務(wù)狀態(tài)通過內(nèi)部的通信機(jī)制匯報(bào)給Driver,從一定程度上可以認(rèn)為,每個(gè)應(yīng)用程序利用mesos搭建了一個(gè)虛擬集群自己使用。

細(xì)粒度模式(Fine-grained Mode):鑒于粗粒度模式會(huì)造成大量資源浪費(fèi),Spark On Mesos還提供了另外一種調(diào)度模式:細(xì)粒度模式,這種模式類似于現(xiàn)在的云計(jì)算,思想是按需分配。與粗粒度模式一樣,應(yīng)用程序啟動(dòng)時(shí),先會(huì)啟動(dòng) executor,但每個(gè)executor占用資源僅僅是自己運(yùn)行所需的資源,不需要考慮將來要運(yùn)行的任務(wù),之后,mesos會(huì)為每個(gè)executor動(dòng)態(tài)分配資源,每分配一些,便可以運(yùn)行一個(gè)新任務(wù),單個(gè)Task運(yùn)行完之后可以馬上釋放對應(yīng)的資源。每個(gè)Task會(huì)匯報(bào)狀態(tài)給Mesos slave和Mesos Master,便于更加細(xì)粒度管理和容錯(cuò),這種調(diào)度模式類似于MapReduce調(diào)度模式,每個(gè)Task完全獨(dú)立,優(yōu)點(diǎn)是便于資源控制和隔離,但缺點(diǎn)也很明顯,短作業(yè)運(yùn)行延遲大。

筆者總結(jié)

  • 從對比上看,mesos似乎是Spark更好的選擇,也是被官方推薦的
  • 但如果你同時(shí)運(yùn)行hadoop和Spark,從兼容性上考慮,Yarn似乎是更好的選擇,畢竟是親生的。Spark on Yarn運(yùn)行的也不錯(cuò)。
  • 如果你不僅運(yùn)行了hadoop,spark。還在資源管理上運(yùn)行了docker,Mesos似乎更加通用。
  • standalone小規(guī)模計(jì)算集群,似乎更適合!
責(zé)任編輯:未麗燕 來源: 全球CTO俱樂部
相關(guān)推薦

2015-09-14 09:31:44

結(jié)對設(shè)計(jì)

2021-02-25 23:40:26

Redis集群架構(gòu)

2022-05-27 11:33:02

前端代碼設(shè)計(jì)模式

2009-11-06 13:23:27

WCF模式

2010-06-28 17:43:44

SQL Server

2013-03-27 10:01:53

網(wǎng)絡(luò)應(yīng)用檢測工具

2012-05-31 09:50:26

開源CMS

2009-09-01 10:00:55

Tomcat集群方式

2010-04-22 14:32:56

LVS負(fù)載均衡集群

2010-09-09 10:08:59

2020-11-03 19:52:54

Java數(shù)組編程語言

2012-12-14 10:16:26

2022-11-03 08:44:24

代理模式Java設(shè)計(jì)模式

2022-09-26 08:03:25

VMware虛擬機(jī)

2019-04-15 13:52:18

微服務(wù)配置中心Apollo

2022-03-29 07:33:21

內(nèi)網(wǎng)穿透工具

2022-06-16 08:24:59

設(shè)計(jì)模式代碼前端

2018-07-10 08:42:45

Oracle高可用集群

2020-11-24 10:13:02

Redis集群數(shù)據(jù)庫

2009-12-21 13:37:43

WCF消息交換
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號