Apache Spark是目前最爲流行的大數據計算框架,與Hadoop相比,它是替換MapReduce組件的不二選擇,愈來愈多的企業正在從傳統的MapReduce做業調度遷移到Spark上來,Spark的生態圈支持者愈來愈多,固然它出衆的內部API設計,讓它也很是容易和現有既成事實的Hadoop組件(YARN/HDFS)集成。web
容器技術的興起,各類分佈式的容器編排技術也應運而生,其中的佼佼者包括Apache Mesos和Google發起的Kubernetes,雖然Mesos系出名門(UC Berkely),可是K8s最近1-2年逐漸有拉大領先差距的趨勢。數據庫
大數據計算框架,存儲框架和雲計算容器技術,這二者在數據中心的技術棧中,早期都是各自獨立發展,並沒有太大關聯關係,伴隨各自技術生態圈日益成熟,幾個大的技術框架各自領地劃分也很是清楚,大數據計算服務與其餘雲計算服務並沒有二致,須要統一的資源調度與協調框架,讓它的部署更加方便,資源利用率更加高效;從Mesos或者K8S的角度,做爲致力於成爲數據中心的OS(操做系統)的資源調度框架,放棄掉數據中心最大的應用場景之一的大數據計算服務,貌似也說不過去,因而,這二者慢慢也走在了一塊兒。這篇文章,咱們來探討它們的重要表明,Apache Spark和K8s,當它們走在一塊兒的時候,會碰到什麼樣的問題,以及社區的最新進展。apache
回顧歷史,Spark的資源調度器有這麼幾個實現:安全
做爲最爲流行的大數據計算框架Apache Spark,與Kubernetes的集成是成爲當前比較熱門的話題,這個工做目前是有Google的工程師在力推。除了計算需求之外,大數據還會有大量的數據存儲在HDFS之上,當Kubernetes能夠輕易調度Apache Spark,爲它提供一個安全可靠的運行隔離環境時,數據在多用戶之間的安全性又變得很是棘手,本文正是探討了兩個話題:如何利用Kerboros這樣的認證體系,打通HDFS和Spark的做業執行的權限控制;出於性能的考慮,在Spark的Executor Pod如何仍然保持數據本地性調度優化。框架
具體細節能夠參見示說網上的ppt文檔: apache_spark_on_k8s_and_hdfs_security分佈式