OpenStack 和 Hadoop 的區別是什麼?


重要的事情再重複一遍:1,為什麼學習雲計算要從openstack開始學?因為雲計算的框架是openstack,2,Hadoop跟雲計算之間有什麼關係?其實沒有什麼關係,就像貓王和愛因斯坦一樣沒什麼關係,要非得說存在什麼關係也是六度空間的關係。3,openstack有什麼厲害之處?openstack最牛的不是代碼怎麼樣,演算法怎麼樣而是架構最牛,類似於乾坤大挪移,可以嫁接和管理各種架構。4,openstack是否就是雲計算?openstack只是雲計算的一個框架,從底層硬體架構是全部X86還是傳統的IOE架構,操作系統是Ubuntu還是Redhat虛擬化是xen,kvm or docker通通沒關係,中間這層是openstack至於往上再怎麼設計等等,就是傳說中的太極劍法,只有劍意,沒有劍式。5,網上(包括中國知網)一大堆所謂雲計算下的XXX性能測試論文都是在扯犢子,openstack只是提供虛擬機的管理,啥時間能提高性能了?不知道什麼叫做損耗嗎?這就跟定滑輪一個道理,把重1N的物體提高10米需要做10焦耳功,用定滑輪就得12焦耳。鬼才知道你們用了虛擬機之後性能居然比物理機性能要好的理論是怎麼得出來的6.那為什麼還會用openstack,如上個例子,定滑輪需要做額外的功,為什麼大家還要用定滑輪?7,學習雲計算的前期準備,最起碼能對Linux進行最基本的操作,比如熟練更改網卡配置,熟練yum安裝,熟練使用yum/apt-get,熟練更換源,netstat 知道/etc和/var/log,知道什麼是kvm什麼是docker,然後就可以開始openstack學習了,8,不要沒學習就問雲計算這樣那樣的問題裝得自己很懂似的,其實這問題本身就挺無知,我們學習雲計算本身的目的就是為了避免雲計算的短板,而是使用它的長處為我們創造效益,對於它不足的地方我們完全可以通過其他技術手段來彌補,這就是框架的牛逼之處,對於高並發的業務,我們在雲主機上掛Oracle和EMC都是可以的,9docker技術也並非完美,彈性擴展確實很犀利,不過會產生資源競爭,在一切求穩的生產環境中值得考慮。10,最後一條,重中之重,引用毛主席的話:不以結婚為目的談戀愛都是耍流氓,所以脫離生產場景談雲計算該如何實現簡直就是扯淡


簡單地說:

openstack是1化N,通過虛擬化的方式提供彈性靈活高利用率的計算能力。

hadoop是N化1,通過分散式文件系統提供強大的數據處理能力。


openstack是一個iaas雲平台(雲計算saas,paas,iaas中的iaas),是亞馬遜aws的開源實現。因涉及面忒廣,系統的解釋可能一時半會說不完,也說不全。從硬體到OS到虛擬化、中間件、消MQ、Web都有涉及。

hadoop是一個分散式的軟體架構,有分散式計算和分散式存儲。

或許這個問題延伸為「大數據與雲計算的區別」或者「openstack中的對象存儲swift與hadoop中的hdfs之間的區別會更有意義啊~~」


Openstack是把大機器虛擬成很多小機器從而達到大的分成小的來用,大大提高資源使用率。

Hadoop是把小機器合起來用,用於解決單台大機器無法解決的計算和存儲等問題。


這兩者做的事情完全不同,open stack做的比較基礎一些。所以,hadoop完全可以和open stack結合。在其基礎上來做事情。


首先,兩者都開源,免費使用。

Openstack是雲操作系統,是將物理機虛擬化的雲服務平台,包含各種管理組件及API。

Hadoop則是「雲計算」中分散式計算核心:存儲與計算。

但其兩者面向是不同層面的。

舉個例子:比如現有多台底層的物理機(伺服器,PC等),Openstack是將物理機進行虛擬化,一台物理機可以虛擬出多個虛擬機(其實也可以把Openstack的工作的一部分想像為VMware),然後對虛擬機進行各種管理,只是VMware面向的是單台PC,而Openstack面向的是很多狠多台的群集管理,然後在部分的虛擬機中安裝操作系統,例如linux,OSX,Windows等等。最後在這個雲平台的系統中,再次建立集群化的Hadoop計算框架,用來分散式存儲與計算。

還可以把Hadoop理解為,利用一堆廉價的小型機甚至PC組成一個集群,來實現超級計算機才能達到的計算和存儲的目的,再加上其隨意的可擴展性,計算能力是超乎想像的。


OpenStack 主要目的是做一整套的雲計算基礎構架。包括 雲計算(Compute), 網路(Network),對象存貯(Object Store),鏡像文件存儲 (Image),身份認證(Authentication),BlockStorage 以及 前端UI 。

OpenStack的每個模塊都對外提供API,可以獨立供雲用戶調用,在OpenStack內部,每個模塊之間的相互調用也是用這些API.

The OpenStack project as a whole is designed to "deliver(ing) a massively scalable cloud operating system."

而 Hadoop 是一個分散式資料庫。舉個例子:OpenStack 中 Object Store 模塊可以選擇用Hadoop來支持。如果把 Openstack 比作WIndows的話,Hadoop 相當於Sql Server。


1. openstack仿照的Amazon的雲,hadoop仿照的是Google的雲

2. openstack注重的是虛擬化/虛擬機及其配套的服務,hadoop注重的是海量的數據分析和處理


謹防誤導!! 尤其第一個回答

Hadoop 不是資料庫!

Hadoop 不是資料庫!

Hadoop 不是資料庫!

Hadoop 與 OpenStack 完全沒關係

Hadoop 與 OpenStack 完全沒關係

Hadoop 與 OpenStack 完全沒關係

Hadoop 是大數據分析的實現,是一個生態圈。

Hadoop 的強大是分散式的計算、也就是大規模 G4 化,大規模定製化服務的基礎。 舉個栗子: 淘寶在 2015 雙十一之前給出 雙十一的預估值 就是用分散式計算去預測的總交易額。

1 Openstack 是玩虛擬化的。 利用很多如:多租戶,元數據全節點分布。對象存儲。 是吧多個機器通過他去控制調度。 可以分配系統資源 openstack 的 sahara 則是為了讓OpenStack 做數據分析而做成的一個可部署 hadoop 環境。

2 Hadoop 生態圈是大數據分析、存儲的一個目前較好的實現。 Hadoop 與 OpenStack 完全沒關係, 看了樓上N多錯誤回答 實在不忍別人被誤導。


唯一的關係就是沒關係


自動設置一大堆電腦進入為你工作狀態的工具和

查找整理一大堆電腦裡面資料的工具


簡單的說(不嚴謹)

openstack是管理虛擬機的,比如xen,kvm等。它所謂的雲就是一堆的虛擬機。

hadoop是負責分散式計算和分散式存儲。就是把一個執行任務分開,放到不同的節點(物理機)去跑,最後匯總。


OpenStack是IaaS(基礎設施即服務)?虛擬機管理軟體,讓任何人都可以自行建立和提供雲端運算服務。

而hadoop是一個分散式文件系統+分散式計算平台的開源方案,側重於hdfs雲存儲與mapreduce雲數據分析等方面


個人理解:openstack是iaas的,更底層的,屬於OS層面;而hadoop是paas的,比較上層。hadoop可以運行在openstack之上。


Apache Hadoop: The killer app for OpenStack.


openstack是1台電腦分N台用,hadoop是N台電腦當1台用


其實,這是兩個不同的東西,出發點不同,目的也不同。

openstack是通常所說的雲計算平台或者說是框架,其出發點是將異構的物理資源抽象成統一的虛擬資源池,然後根據用戶的需求再進行靈活的虛擬資源分配,為用戶提供虛擬資源服務,即提供IaaS服務,其目的是為了提高資源利用率。其底層的核心技術有:虛擬化技術,實現資源抽象;資源動態調度技術,高效分配虛擬資源;高速網路通信技術,實現用戶與雲平台的順暢交互;安全技術。

hadoop是分散式計算平台或框架,也可以說是一種大數據處理平台。其出發點是集中大量的計算和存儲資源,採取並行處理、分而治之的辦法,在合理的時間內,實現對大數據的加工處理。其目的是突破現有單機資源的能力局限。其核心技術是物理資源的管理技術、任務的分割和調度技術,以及資源的動態容錯技術。值得注意的是,openstack是建立在虛擬化技術之上的,而Hadoop可以不需要虛擬化技術的支持。另外,在openstack之上可以部署Hadoop,利用雲計算平台的虛擬資源,實現對大數據的分散式處理。


雲和雲計算的區別...


OpenStack主要做資源的虛擬化,Hadoop主要用來做超大數據處理,還可以做數據挖掘。


openstack是運行在集群上的虛擬機管理系統。Hadoop是並行運算框架的實現。


推薦閱讀:

為什麼阿里巴巴的持久層採用iBatis框架,而不使用hibernate框架呢?感覺hibernate更厲害的樣子?
本科國貿想讀計算機軟體與理論專業研究生?
未來你會選擇微軟的 Surface 平板電腦嗎?
想學習計算機圖像處理方面從哪入手,怎麼個學習順序,體系?
電腦中一個G的文件有多重?

TAG:計算機 | Hadoop | OpenStack |