成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

如何在Kubernetes上運行Apache Spark

譯文
開發(fā) 前端 云計算 Spark
Empathy公司平臺工程技術(shù)負(fù)責(zé)人Ramiro Alvarez Fernandez對于如何在Kubernetes上使用Spark以擺脫對云計算提供商的依賴,以及在Kubernetes上運行Apache Spark進行了介紹,并分享了這一過程的挑戰(zhàn)、架構(gòu)和解決方案等詳細(xì)信息。

[[416069]]

【51CTO.com快譯】Empathy公司平臺工程技術(shù)負(fù)責(zé)人Ramiro Alvarez Fernandez對于如何在Kubernetes上使用Spark以擺脫對云計算提供商的依賴,以及在Kubernetes上運行Apache Spark進行了介紹,并分享了這一過程的挑戰(zhàn)、架構(gòu)和解決方案等詳細(xì)信息。

面臨的挑戰(zhàn)

對于Empathy公司來說,生產(chǎn)中運行的所有代碼都必須與云計算無關(guān)。Empathy公司通過使用Spark解決方案克服了之前對云計算提供商提供的解決方案的依賴:例如,EMR(AWS場景)、Dataproc(GCP場景)和HDInsight(Azure場景)。

這些云計算提供商的不同解決方案提供了一種在云上部署Spark的簡單方法。但是,當(dāng)企業(yè)在擴大規(guī)模時會面臨一些限制,從而需要解決以下這些問題:

  • 如何編排作業(yè)?
  • 如何分配Spark作業(yè)?
  • 如何安排夜間工作?
  • 工作代碼配置在哪里?
  • 如何傳播更改?
  • 可以重復(fù)使用作業(yè)定義嗎?模板是什么?
  • 能否通過代碼引用作業(yè)?
  • 可以從本地主機測試嗎?

這些是在實施Spark作業(yè)時面臨的常見問題。使用Kubernetes解決這些問題可以節(jié)省工作人員的時間和精力,并提供更好的體驗。

在Kubernetes上運行Apache Spark可以提供以下好處:

  • 可擴展性:新解決方案應(yīng)可擴展以滿足任何需求。
  • 可靠性:新解決方案應(yīng)該監(jiān)控計算節(jié)點,并在出現(xiàn)故障時自動終止和替換實例。
  • 可遷移性:新解決方案應(yīng)該可以部署在任何云計算解決方案中,避免對特定云計算提供商的依賴。總體而言,這種方法可以節(jié)省考慮與不同云計算服務(wù)提供商協(xié)調(diào)、分發(fā)和調(diào)度Spark作業(yè)的時間。
  • 成本效益:企業(yè)不需要采用云計算提供商的服務(wù),因此可以節(jié)省這些成本。
  • 監(jiān)控:新解決方案應(yīng)該包括特別監(jiān)測。
  • Kubernetes生態(tài)系統(tǒng):與其他工作負(fù)載一樣使用通用生態(tài)系統(tǒng),并提供持續(xù)部署、RBAC、專用節(jié)點池、自動縮放等。

其好處與Empathy公司針對Kubernetes上運行的Apache Flink的解決方案相同。

在Kubernetes運行上的Apache Spark

Apache Spark是用于大數(shù)據(jù)處理的統(tǒng)一分析引擎,特別適用于分布式處理。Spark用于機器學(xué)習(xí),是目前最大的技術(shù)趨勢之一。

Apache Spark架構(gòu)

Spark Submit可用于將Spark應(yīng)用程序直接提交到Kubernetes集群。其流程如下:

(1)Spark Submit從客戶端發(fā)送到主節(jié)點中的Kubernetes API服務(wù)器。

(2)Kubernetes將調(diào)度一個新的Spark Driver pod。

(3)Spark Driver pod將與Kubernetes通信以請求Spark executor pod。

(4)新的executor pod將由Kubernetes調(diào)度。

(5)一旦新的executor pod開始運行,Kubernetes會通知Spark Driver pod新的Spark executor pod已經(jīng)準(zhǔn)備就緒。

(6)Spark Driver pod將在新的Spark executor pod上調(diào)度任務(wù)。

Spark提交流程圖

可以使用SparkSubmit(普通方式)或使用Spark Operator來安排Spark應(yīng)用程序。

Spark Submit

Spark Submit是用于提交Spark應(yīng)用程序并在Spark集群上啟動應(yīng)用程序的腳本。其具有的一些出色的功能包括:

  • Kubernetes版本:不依賴于Kubernetes版本。
  • Native Spark:它包含在Spark映像中。
  • 非聲明性設(shè)置:需要計劃如何編排作業(yè)。
  • 定義所需的K8s資源:掛載配置映射、卷、設(shè)置反關(guān)聯(lián)、節(jié)點選擇器等。
  • 不需要CRD:不需要Kubernetes自定義資源。

Spark Operator

Spark Operator項目由谷歌公司開發(fā),現(xiàn)在是一個開源項目。它使用Kubernetes自定義資源來指定、運行和顯示Spark應(yīng)用程序的狀態(tài)。其具有的一些出色的功能包括:

  • 聲明性:應(yīng)用程序規(guī)范和通過自定義資源管理應(yīng)用程序。
  • 計劃重啟:可配置的重啟策略。
  • Kubernetes資源自動定義:支持掛載configmaps和volumes,設(shè)置pod關(guān)聯(lián)性等。
  • 依賴項注入:直接注入依賴項。
  • 指標(biāo):支持收集應(yīng)用程序級指標(biāo)和驅(qū)動程序/執(zhí)行程序指標(biāo)并將其導(dǎo)出到Prometheus。
  • 開源社區(qū):每個人都可以做出貢獻。

Spark Submit vs Spark Operator的主要命令

上圖顯示了Spark Submit與Spark Operator的主要命令。

Empathy公司的解決方案更喜歡采用Spark Operator,因為它允許比Spark Submit更快的迭代,在Spark Submit中,必須為每個用例創(chuàng)建自定義Kubernetes清單。

解決方案的詳細(xì)信息

為了解決挑戰(zhàn)部分提出的問題,ArgoCD和Argo Workflows可以提供幫助,同時還有CNCF項目的支持。例如,可以從Kubernete調(diào)度最喜歡的Spark應(yīng)用程序工作負(fù)載,以創(chuàng)建Argo Workflows并定義順序作業(yè)。

流程圖如下:

  • 在git上定義更改。
  • ArgoCD將git更改同步到Kubernetes集群(例如,創(chuàng)建一個Argo工作流模板)。
  • Argo Workflows模板允許為多個Spark作業(yè)自定義輸入和重用配置,并基于Argo Workflows創(chuàng)建夜間作業(yè)。

解決方案流程圖

ArgoCD

ArgoCD是Kubernetes的GitOps持續(xù)交付工具。其主要好處是:

  • GitOps:使用git存儲庫作為定義所需應(yīng)用程序狀態(tài)的真實來源。
  • 聲明式設(shè)置:git上的一切。
  • 可追溯性和自動化:應(yīng)用程序部署可以跟蹤分支、標(biāo)簽等的更新。應(yīng)用程序部署將根據(jù)特定的目標(biāo)環(huán)境實現(xiàn)自動化。
  • WebUI:用于檢查部署的工作負(fù)載的外觀良好的用戶界面。
  • Kubernetes體現(xiàn)了Kustomize、Helm、ksonnet、jsonnet等。可以進行選擇。

更詳細(xì)的信息可以在其官方文檔中找到。

Argo Workflows

Argo Workflows是Kubernetes的工作流解決方案。主要好處是:

  • 作業(yè)編排:這允許按順序編排作業(yè)或創(chuàng)建自定義DAG。
  • 調(diào)度工作流:Cron native.。
  • Spark應(yīng)用程序:在任何Kubernetes集群上輕松編排Spark應(yīng)用程序。
  • 工作流模板:針對不同用例重復(fù)使用模板。輸入可以參數(shù)化。
  • WebUI:用于檢查工作流程進度的出色視覺用戶界面。

更詳細(xì)的信息可以在其官方文檔中找到。

監(jiān)測

一旦Prometheus掌握了這些指標(biāo),就需要一些Grafana儀表板進行監(jiān)測。Apache Spark的自定義Grafana儀表板基于以下社區(qū)儀表板:

  • ArgoCD儀表板
  • Argo Workflow儀表板
  • Apache Spark操作員儀表板
  • Apache Spark應(yīng)用程序儀表板

結(jié)語

Empathy公司選擇Spark Operator、ArgoCD和Argo Workflows在Kubernetes上創(chuàng)建Spark應(yīng)用程序工作流解決方案,并使用GitOps傳播更改。本文所展示的設(shè)置已經(jīng)在生產(chǎn)環(huán)境中使用了大約一個月的時間,并且反饋很好。每個用戶都對工作流程感到滿意,而擁有一個適用于任何云提供商的單一工作流程,可以擺脫了單個云計算提供商的鎖定。

如果親自進行測試,需要按照這些實際操作示例并享受從本地主機部署一些Spark應(yīng)用程序的樂趣,以及本指南中描述的所有設(shè)置:Hands-on Empathy Repo。

雖然還有很長的路要走,但會有更多的收獲。希望這一創(chuàng)新能幫助企業(yè)變得更加與云無關(guān)。

原文標(biāo)題:Running Apache Spark on Kubernetes,作者:Ramiro Alvarez Fernandez

【51CTO譯稿,合作站點轉(zhuǎn)載請注明原文譯者和出處為51CTO.com】

 

責(zé)任編輯:華軒 來源: 51CTO
相關(guān)推薦

2021-02-25 08:00:00

WindowsWindows 10開發(fā)

2019-12-11 14:27:39

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

2019-07-12 16:28:32

MacKubernetes

2017-08-15 11:58:15

LinuxCentOSApache Hado

2018-05-25 11:55:41

2023-06-25 18:53:03

2017-09-18 10:05:15

WindowsLinux容器

2017-02-16 10:15:43

Windows7docker變量

2022-09-13 08:40:24

AndroidLinux

2022-02-17 11:08:00

KubernetesMySQL運維

2016-01-06 14:00:20

Ubuntu 14Ubuntu 15Apache Solr

2022-06-27 05:48:24

Kubernetes容器

2024-07-30 08:00:00

Kubernetes數(shù)據(jù)庫

2019-05-09 09:00:00

WindowsKafka

2017-04-04 20:31:05

AWS GPUJupyter not深度學(xué)習(xí)

2021-02-19 09:20:04

KubernetesSpark云帳戶

2021-12-04 21:45:19

UbuntuLinux開源

2022-03-17 14:56:26

KubernetesMinikubeLinux

2020-09-28 14:05:08

2021-05-09 21:35:25

Java機器代碼
點贊
收藏

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

主站蜘蛛池模板: 一区二区三区四区在线播放 | 欧美一区二区三区在线观看 | 97精品国产97久久久久久免费 | 日本一区二区三区精品视频 | 国产在线一区二区三区 | 免费av在线网站 | 精品久久久久久久人人人人传媒 | 国产98色在线 | 日韩 | 久久人| 自拍 亚洲 欧美 老师 丝袜 | 久草视频观看 | 久久小视频 | 国产精品久久久久久久久久软件 | 日韩在线播放av | 国内精品一区二区三区 | 91色视频在线观看 | 国产一区二区精 | 日本精品一区二区三区在线观看视频 | 久久久久久久久久一区二区 | 欧美中文在线 | 国产第一页在线观看 | 久久久久久久久久久久久久久久久久久久 | 草逼网站| 性高湖久久久久久久久3小时 | 中文字幕第十五页 | 欧美中文字幕一区二区三区 | 久久久久久国产 | 欧美国产日韩一区 | 久久一日本道色综合久久 | 亚洲一区二区三区视频 | 国产精品久久久久久久久久久久冷 | 国产精品视频一 | 久久久久免费观看 | 999免费视频 | 亚洲成人精品 | 免费激情网站 | 日韩欧美在线观看视频 | 91电影在线播放 | 男人天堂av网 | 一区二区三区免费 | 亚洲第一网站 |