Spark On K8S与Spark On YARN方案相比之劣势
目前,存算分離的方案相對已經(jīng)比較成熟,容器化方案還處于探索和小規(guī)模應用階段,以 Spark 為例,方案大體上分為 2 種:
一種是 Spark Standalone,該方案僅對大數(shù)據(jù)系統(tǒng)做容器化部署改造,得益于容器輕量化、更細粒度的算力管理、任務隔離等特點,可以將主機劃分成更多小顆粒的任務單元,使主機資源利用率更高,同時兼顧用戶原有的使用習慣。
但此方案需要提前分配固定的容器數(shù)量,并保持容器的持續(xù)運行,無法對容器進行動態(tài)管理,資源的利用率雖然有所提升,但仍存在浪費。
另一種是 Spark On Kubernetes 集群方案,該方案使用 Kubernetes 替代 Yarn 來進行統(tǒng)一的資源編排和調度,技術上更貼近主流容器解決方案,免去了二層調度,可以進一步提升資源管理效率,相比 Standalone 方案,實現(xiàn)了對容器資源的動態(tài)管理,優(yōu)化了資源分配。
然而,Kubernetes 不屬于 Hadoop 生態(tài)組件,與傳統(tǒng) Spark on YARN 方案相比存在一些劣勢,如:缺少任務隊列、external shuffle service 等特性,且性能較差。因此在應用到生產(chǎn)系統(tǒng)時,還要做大量的功能增強、調度和性能優(yōu)化,才能保持與傳統(tǒng)大數(shù)據(jù)平臺一致。
總結
以上是生活随笔為你收集整理的Spark On K8S与Spark On YARN方案相比之劣势的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark On K8S(Standal
- 下一篇: Spark on K8S 的最佳实践和需