爲何咱們生產上要選擇Spark On Yarn模式?

爲何咱們生產上要選擇Spark On Yarn?shell

開發上咱們選擇local[2]模式
生產上跑任務Job,咱們選擇Spark On Yarn模式 ,緩存

將Spark Application部署到yarn中,有以下優勢:分佈式

1.部署Application和服務更加方便ide

  • 只須要yarn服務,包括Spark,Storm在內的多種應用程序不要要自帶服務,它們經由客戶端提交後,由yarn提供的分佈式緩存機制分發到各個計算節點上。

2.資源隔離機制spa

  • yarn只負責資源的管理和調度,徹底由用戶和本身決定在yarn集羣上運行哪一種服務和Applicatioin,因此在yarn上有可能同時運行多個同類的服務和Application。Yarn利用Cgroups實現資源的隔離,用戶在開發新的服務或者Application時,不用擔憂資源隔離方面的問題。

3.資源彈性管理orm

  • Yarn能夠經過隊列的方式,管理同時運行在yarn集羣種的多個服務,可根據不一樣類型的應用程序壓力狀況,調整對應的資源使用量,實現資源彈性管理。

Spark On Yarn有兩種模式,一種是cluster模式,一種是client模式。隊列

運行client模式:進程

  • 「./spark-shell –master yarn」
  • 「./spark-shell –master yarn-client」
  • 「./spark-shell –master yarn –deploy-mode client」

運行的是cluster模式資源

  • 「./spark-shell –master yarn-cluster」
  • 「./spark-shell –master yarn –deploy-mode cluster」

client和cluster模式的主要區別:a. client的driver是運行在客戶端進程中b. cluster的driver是運行在Application Master之中開發

相關文章
相關標籤/搜索