跳轉到主要內容
工程的博客

新為Apache火花在Apache Kubernetes火花2.4版本

通過憶南向李

2018年9月26日 工程的博客

分享這篇文章

更新:11/12/2018

這是一個社區的博客憶南向李穀歌的軟件工程師,工作在Kubernetes引擎團隊。他是集團公司的一部分,是導致Kubernetes支持Apache火花測試盒框。

自從Kubernetes集群調度程序後端最初介紹了Apache 2.3火花,社區一直在一些重要的新特性,使火花Kubernetes更有用,準備更廣泛範圍的用例。的Apache 2.4火花發布了一些新功能,其中一些強調如下:

  • 支持運行集裝箱PySpark Kubernetes SparkR應用程序。
  • 客戶機模式支持,允許用戶運行交互式應用程序和筆記本。
  • 支持安裝某些類型的Kubernetes

下麵我們將更深層次的考慮每一個新特性。

PySpark支持

即將發布的火花2.4現在支持在Kubernetes PySpark運行應用程序。Python 2。x和3。x支持,主要版本的Python可以指定使用新的配置屬性spark.kubernetes.pyspark.pythonVersion2或3,可以有價值但默認為2。火花附帶一個Dockerfile基礎鏡像的Python綁定所需Kubernetes上PySpark運行應用程序。用戶可以使用Dockerfile構建基礎鏡像或定製構建一個定製的映像。

火花R支持

火花在Kubernetes火花2.4現在支持運行R應用程序。火花附帶的Dockerfile基圖像的R綁定運行所需Kubernetes應用程序。用戶可以使用Dockerfile建立一個基礎圖像或定製它構建一個定製的映像。

客戶機模式支持

最要求的特性之一tripwire發布以來,客戶機模式支持2.4現在可以在即將到來的火花。客戶機模式允許用戶運行交互式工具,如spark-shell或筆記本pod Kubernetes集群或運行在客戶端機器集群外。注意,在這兩種情況下,用戶負責正確建立連接的執行人豆莢在集群中運行的驅動程序。當司機運行在一個集群中pod,推薦的方法是使用一個Kubernetes無頭服務允許執行器連接到驅動程序使用的FQDN司機吊艙。當司機運行在集群之外,然而,重要的是為用戶確保司機可以從集群中的遺囑執行人吊艙。更詳細的信息在客戶端模式的支持,請參考文檔時引發2.4正式發布。

其他值得注意的變化

除了上麵的新特性突出,Kubernetes集群調度程序後端在即將到來的火花2.4版本也收到了一些bug修複和改進。

  • 一個新的配置屬性spark.kubernetes.executor.request.cores介紹了配置的物理CPU請求執行人豆莢的方式符合Kubernetes嗎公約。例如,用戶現在可以使用分數值或millicpus像0.5或500米。值是用於設置CPU要求容器執行程序運行。
  • 火花驅動程序運行在一個艙在Kubernetes集群不再使用了init-container下載遠程應用程序依賴項,例如,罐子和遠程HTTP服務器上的文件,HDFS, AWS S3,或穀歌雲存儲。相反,司機使用spark-submit在客戶端模式下,自動獲取這樣的遠程依賴火花慣用的方式。

  • 用戶現在可以指定圖像的秘密把火花圖像從私人容器注冊,使用新的配置屬性spark.kubernetes.container.image.pullSecrets。

  • 用戶現在可以通過secretKeyRef使用Kubernetes秘密作為環境變量。這是通過使用新的配置選項spark.kubernetes.driver.secretKeyRef [EnvName]。spark.kubernetes.executor.secretKeyRef [EnvName]。分別對司機和執行者。

  • Kubernetes調度器的後端代碼運行在司機現在管理執行人吊艙采用level-triggered機製和更健壯的問題跟Kubernetes API服務器。

結論和未來的工作

首先,我們想表達感謝Apache火花從多個組織和Kubernetes社區貢獻者(彭博社、磚、穀歌、Palantir PepperData, Red Hat, Rockset和其他人)已經投入巨大的努力到這工作和幫助火花Kubernetes這麼遠。展望未來,社區正在或計劃工作特性,進一步增強Kubernetes調度程序的後端。一些可用的特性,可能會在未來引發釋放下麵列出。

  • 支持使用豆莢模板自定義驅動程序和執行人豆莢。這允許最大的靈活性為定製的司機和執行人豆莢。例如,用戶可以任意卷或山ConfigMaps使用這個特性。
  • 動態資源分配和外部轉移服務。
  • 支持Kerberos身份驗證,例如,用於訪問安全的HDFS。
  • 更好地支持本地應用程序依賴於提交客戶端機器。
  • 司機火花流媒體應用程序的韌性。
免費試著磚
看到所有工程的博客的帖子
Baidu
map