搭建私有雲平台:Hadoop還是選擇OpenStack?

視界雲服務

首先建議題主描述清楚應用場景,否則別人做的方案可能都不符合需求。

就Hadoop和OpenStack的糾結而言,支撐數據分析用前者,做資源管理用後者。

=================補充=============

題主的需求,實質是搭建一個IoT實時大數據平臺,而不是一般意義的私有云。IoTa大數據平臺除了數據採集和結果反饋,其餘部分和一般的大數據平臺相差不多。OpenStack長於管理VM資源管理,Hadoop長於批處理,不擅長實時處理,所以需要尋找一種更加完善的解決方案。這裡推薦考慮Storm或者Apache Flink。

OpenStack是一個開源的IaaS實現,由Nova、Cinder、Neutron、Swift、Glance等一系列相互關聯的子項目組成,可以理解為雲計算領域的Linux。OpenStack架構松耦合,高可擴展,能適應不同企業的需求,已經成為IaaS私有云事實標準。國內外各大廠都在OpenStack上有很大的投入。當然項目成長的同時,也受到大廠博弈的一些影響,但項目本身就是大家求同存異的結果,我們相信OpenStack會在競閤中有更美好的未來。

大數據平臺可以完全不鳥OpenStack,分佈式文件系統有HDFS,資源調度和管理YARN就行。YARN都已經支持Docker,希望細粒度調度模式可以考慮Mesos,Mesos提供良好的API,支持很多成熟的框架,不過Mesos不在Hadoop生態中,這是一個缺憾。Apache Hadoop能夠以低成本進行海量數據的多維統計分析,還是很有優勢。

核心流式計算部分,有Storm、Spark、Flink可以選擇。

Storm編程模型簡單,毫秒級延遲,容錯性、擴展性和可靠性都比較好,在國內有很多團隊採用。不過Storm只是流計算框架,且不能直接利用YARN。

Apache Spark是和Hadoop一樣流行的開源大數據框架,社區活躍,在流計算、圖處理、機器學習方面都投入很大,支持對SQL的優化,很適合多種大數據平臺的需求,不過Spark Streaming本質還是批處理,把數據流分解成一系列小的RDD,通過時間窗來控制數據塊的大小,有測試說只能支持秒級計算。

Apache Flink是可擴展的批處理和流式數據處理的數據處理平臺,能夠基於同一個Flink運行時提供支持流處理和批處理兩種類型應用的功能。不同於Spark,Flink把批處理當初特殊的流處理,並且支持增量迭代,這是非常讚的設計,可以快速地處理數據密集型和迭代任務,性能很有保證。不過目前Flink用戶群和社區還沒有Spark那麼強大。但Flink的未來很值得期待,可能需要時間的沉澱。

最後,上一張網易猛獁大數據平臺架構圖,供參考。


網絡觀察家


深度學習社區

最好是用OpenStack搭建iaas,做資源池化,然後把hadoop作為應用跑在openstack iaas上,即使用openstack提供的虛擬機,塊存儲,對象存儲,vpc,安全組能力。


分享到:


相關文章: