與原生Kubernetes支持Apache 2.3火花
這是一個社區的博客學曆拉馬納坦和也是巴蒂亞軟件工程師和產品經理分別在穀歌,在Kubernetes團隊工作。他們是集團公司的一部分,導致本地Kubernetes支持Apache 2.3火花。這篇文章是通過確認blog.kubernetes.io
Kubernetes和大數據
開源社區在過去一年一直在使一流的支持,數據處理,數據分析和機器學習的工作負載Kubernetes。新的Kubernetes可擴展性特性,如自定義資源和自定義控製器,可以用來創建單獨的應用程序和框架的集成。
傳統上,數據處理工作負載運行在專用的設置如紗/Hadoop堆棧。然而,統一所有工作負載的控製平麵Kubernetes簡化集群管理和提高資源利用率。
Apache 2.3火花與本地Kubernetes支持結合最好的兩個著名的開源項目——Apache火花,一個框架,用於大規模數據處理;和Kubernetes。
數據科學家Apache火花是一個重要的工具,為各種應用程序提供一個健壯的平台從大規模的數據轉換為機器學習分析。Beplay体育安卓版本數據科學家們采用容器,集體來改善他們的工作流實現福利依賴和包裝等創造可再生的工件。鑒於Kubernetes是事實上的標準集裝箱管理環境中,它是一種天然的適合支持Kubernetes api在火花。
從火花2.3開始,用戶可以在現有Kubernetes 1.7 +引發工作負載集群運行和利用Apache引發管理分布式數據處理任務的能力。Apache火花的Kubernetes集群工作負載可以直接使用多租戶和分享名稱空間和配額以及行政等特性可插拔的授權和日誌記錄。最重要的是,它不需要更改或新設施Kubernetes集群;簡單的創建一個容器的形象並建立正確的RBAC角色火花的應用程序,你都準備好了。
具體地說,本機在Kubernetes充當引發應用程序自定義控製器請求的響應,後者創建Kubernetes資源由火花調度器。相比之下Kubernetes在獨立模式部署Apache火花,火花的本機方法提供了細粒度的管理應用程序,改進的彈性和無縫集成與日誌記錄和監控解決方案。社區也探索先進的用例流工作負載管理和利用服務網格等Istio。
要試試自己Kubernetes集群,隻需下載官方的二進製文件Apache火花2.3版本。例如,下麵,我們描述一個簡單的火花應用程序計算的數學常數π跨三個火花執行人,每個運行在一個單獨的豆莢。請注意,這需要一個集群運行Kubernetes 1.7或以上,kubectl客戶端配置為訪問它,必要的RBAC的規則為默認名稱空間和服務帳戶。
美元kubectl集群年代pan>- - - - - -年代pan>信息年代pan>Kubernetes主年代pan>是年代pan>運行年代pan>在年代pan>https:年代pan>/年代pan>/年代pan>xx.yy.zz.ww年代pan>美元本年代pan>/年代pan>火花年代pan>- - - - - -年代pan>提交\年代pan>——主k8: / / https://xx.yy.zz。ww \年代pan>——deploy-mode集群\年代pan>——名字spark-pi \年代pan>org.apache.spark.examples——類。SparkPi \年代pan>- - - conf spark.executor。實例= 5 \年代pan>- - - conf spark.kubernetes.container。形象= < spark-image > \年代pan>- - - conf spark.kubernetes.driver.pod.name = spark-pi-driver \年代pan>當地的年代pan>:年代pan>/年代pan>/年代pan>/年代pan>選擇年代pan>/年代pan>火花年代pan>/年代pan>例子年代pan>/年代pan>罐子年代pan>/年代pan>火花年代pan>- - - - - -年代pan>examples_2年代pan>厚年代pan>-2.3年代pan>。0年代pan>. jar年代pan><年代pan>/年代pan>火花年代pan>- - - - - -年代pan>圖像年代pan>>年代pan>
看火花資源在集群上創建的,您可以使用以下kubectl
命令在一個單獨的終端窗口。
kubectl美元年代pan>得到年代pan>豆莢年代pan>- - - - - -年代pan>l年代pan>“(司機、遺囑執行人)spark-role”年代pan>- - - - - -年代pan>w年代pan>重啟名字就緒狀態的年齡<年代pan>火花年代pan>- - - - - -年代pan>π年代pan>- - - - - -年代pan>司機年代pan>1年代pan>/年代pan>1年代pan>運行年代pan>0年代pan>14年代pan>年代年代pan>火花年代pan>- - - - - -年代pan>π年代pan>- - - - - -年代pan>da1968a859653d6bab93f8e6503935f2年代pan>- - - - - -年代pan>執行年代pan>1年代pan>0年代pan>/年代pan>1年代pan>等待年代pan>0年代pan>0年代pan>年代年代pan>…
可以通過運行流在作業執行結果:
美元- f spark-pi-driver kubectl日誌
當應用程序完成後,您應該看到司機日誌π的計算值。
在火花2.3中,我們開始支持火花在Java編寫的應用程序和Scala支持資源本地化從各種數據源包括HTTP、GCS, HDFS等等。我們也關注故障和恢複語義火花執行人提供堅實的基礎建立在未來。開始使用的開源文檔今天。
參與
有很多激動人心的工作要做在不久的將來。我們積極工作特性,比如動態資源分配,集群中暫存的依賴、支持PySpark & SparkR Kerberized HDFS集群的支持,以及客戶端模式和流行的筆記本電腦的互動執行環境。對於那些愛上了Kubernetes管理應用程序聲明的方式,我們還在工作Kubernetes運營商spark-submit,允許用戶聲明指定並提交火花的應用程序。
我們剛剛開始!我們將對你的愛參與,幫助我們進一步發展該項目。
- 加入spark-dev spark-user郵件列表。
- 文件中的一個問題Apache火花JIRA根據Kubernetes組件。
巨大由於Apache火花和Kubernetes貢獻者跨越多個組織(穀歌、磚紅色帽子,Palantir,布隆伯格Cloudera, PepperData, Datalayer, HyperPilot和其他人)花了數百小時工作努力。我們期待著看到更多你的項目,並幫助其進一步發展。