樓上有些回答過於絕對,且更不應該嘲諷樓主。

k8s和hadoop並不是沒有聯繫,說替代目前來看較難,但是可能會替代一部分,將來替代也不是不可能。

hadoop的組成主要包括了hdfs和yarn,還有計算模型map/reduce。k8s是完全可以替代yarn的。如果k8s+ceph+spark 是不是可以替代hadoop?

另外yarn畢竟是jvm體系的,k8s對非jvm體系的支持更好,所以機器學習平台優先選擇的就是k8s。目前綜合而言k8s的發展明顯優於yarn,圍繞k8s建立生態很有可能。

大家可以參考知乎其他關於spark on yarn vs spark on k8s的帖子

spark on k8s和on yarn對比有什麼優勢??

www.zhihu.com圖標


k8s和hadoop不是一類東西

hadoop是一個分散式計算和調度的框架,k8s是一個容器編排平台。

hadoop可以跑在k8s的容器上面,由k8s的容器編排系統管理起來,可以達到高效的管理hadoop集群的能力。

而hadoop是用來幹嘛的呢,它是用來做服務端的分散式計算,通過把程序改造成map-reduce的方式,可以把一個程序具備並行計算的能力。 舉例來說,我們有一個音頻處理程序,需要進行採樣後做一些簡單的分類工作,如果我們只處理幾個音頻,那麼可能一台很低配置的機器能很快完成,如果幾十,上百個音頻,那麼可以換更強大的機器,但是處理時間可能會變慢,然後如果有幾十萬個音頻,那麼我們就要一堆的伺服器同時計算,並匯總結果,然後這些結果又拿來做分類的依據,這個時候就需要類似hadoop這樣的計算框架。

然後,為了高效的伸縮多個hadoop node節點,我們可以把這些節點部署在容器上,那麼這些容器怎麼樣高效的管理起來呢,這個時候就用到k8s了。


k8s 和 hadoop 不是一個層面的概念,而是與大數據生態相關的 Mesos (DC/OS) 和 YARN 對標的,他們都屬於調度系統,然後 k8s 確實可以應用於大數據生態,不僅如此,現在還用於機器學習調度,但是說到底不至於替代。

其實整天說替代這替代那的沒必要,一切都是從團隊考慮,面向需求出發,技術是服務於人的。


k8s會取代yarn嗎?在雲生態下,是趨勢,在常規的集群生態下,不太可能,但是,現在都是上雲集群


解決問題不同,不能用取代這個說法。

  • k8s解決容器管理部署的困難
  • hadoop解決大數據處理的困難

私以為,藉助容器(如docker),可以兩者融合起來。

  • docker一方面提供了部署環境的獨立,另一方面對機器資源做出的隔離和「虛擬化」
  • 基於docker來部署hadoop,估計也有人嘗試過,會比物理機降低了性能,但會帶來其他方面的便利
  • 基於k8s做hadoop相關服務的高可用或版本管理控制

值不值得這麼做就另外說啦。拋磚引玉。


推薦閱讀:
相关文章