云計算(Cloud Computing)是一種基于因特網(wǎng)的超級計算模式,在遠程的數(shù)據(jù)中心里,成千上萬臺電腦和服務器連接成一片電腦云。用戶通過電腦、筆記本、手機等方式接人數(shù)據(jù)中心,按自己的需求進行運算。目前,對于云計算仍沒有普遍一致的定義。結(jié)合上述定義,可以總結(jié)出云計算的一些本質(zhì)特征,即分布式計算和存儲特性、高擴展性、用戶友好性、良好的管理性。
1云存儲架構(gòu)圖
橘色的作為存儲節(jié)點(Storage Node)負責存放文件,藍色作為控制節(jié)點((Control Node)則是負責文件索引,并負責監(jiān)控存儲節(jié)點間容量及負載的均衡,這兩個部分合起來便組成一個云存儲。存儲節(jié)點與控制節(jié)點都是單純的服務器,只是存儲節(jié)點的硬盤多一些,存儲節(jié)點服務器不需要具備RAID的功能,只要能安裝Linux即可,控制節(jié)點為了保護數(shù)據(jù),需要有簡單的RAID level O1的功能。
云存儲不是要取代現(xiàn)有的盤陣,而是為了應付高速成長的數(shù)據(jù)量與帶寬而產(chǎn)生的新形態(tài)存儲系統(tǒng),因此云存儲在設(shè)計時通常會考慮以下三點:
(1)容量、帶寬的擴容是否簡便
擴容是不能停機,會自動將新的存儲節(jié)點容量納入原來的存儲池。不需要做繁復的設(shè)定。
圖1云存儲架構(gòu)圖
(2)帶寬是否線形增長
使用云存儲的客戶,很多是考慮未來帶寬的增長,因此云存儲產(chǎn)品設(shè)計的好壞會產(chǎn)生很大的差異,有些十幾個節(jié)點便達到飽和,這樣對未來帶寬的擴容就有不利的影響,這一點要事先弄清楚,否則等到發(fā)現(xiàn)不符合需求時,已經(jīng)買了幾百TB,后悔就來不及了。
(3)管理是否容易。
2云存儲關(guān)鍵技術(shù)
云存儲必須具備九大要素:①性能;②安全性;③自動ILM存儲;④存儲訪問模式;⑤可用性;⑥主數(shù)據(jù)保護;⑦次級數(shù)據(jù)保護;⑧存儲的靈活;⑨存儲報表。
云計算的發(fā)展離不開虛擬化、并行計算、分布式計算等核心技術(shù)的發(fā)展成熟。下面對其介紹如下:
(1)集群技術(shù)、網(wǎng)格技術(shù)和分布式文件系統(tǒng)
云存儲系統(tǒng)是一個多存儲設(shè)備、多應用、多服務協(xié)同工作的集合體,任何一個單點的存儲系統(tǒng)都不是云存儲。
既然是由多個存儲設(shè)備構(gòu)成的,不同存儲設(shè)備之間就需要通過集群技術(shù)、分布式文件系統(tǒng)和網(wǎng)格計算等技術(shù),實現(xiàn)多個存儲設(shè)備之間的協(xié)同工作,使多個的存 儲設(shè)備可以對外提供同一種服務,并提供更大更強更好的數(shù)據(jù)訪問性能。如果沒有這些技術(shù)的存在,云存儲就不可能真正實現(xiàn),所謂的云存儲只能是一個一個的獨立 系統(tǒng),不能形成云狀結(jié)構(gòu)。
(2)CDN內(nèi)容分發(fā)、P2P技術(shù)、數(shù)據(jù)壓縮技術(shù)、重復數(shù)據(jù)刪除技術(shù)、數(shù)據(jù)加密技術(shù)
CDN內(nèi)容分發(fā)系統(tǒng)、數(shù)據(jù)加密技術(shù)保證云存儲中的數(shù)據(jù)不會被未授權(quán)的用戶所訪問,同時,通過各種數(shù)據(jù)備份和容災技術(shù)保證云存儲中的數(shù)據(jù)不會丟失,保證云存儲自身的安全和穩(wěn)定。如果云存儲中的數(shù)據(jù)安全得不到保證,也沒有人敢用云存儲了。
(3)存儲虛擬化技術(shù)、存儲網(wǎng)絡化管理技術(shù)
云存儲中的存儲設(shè)備數(shù)量龐大且分布多在不同地域,如何實現(xiàn)不同廠商、不同型號甚至于不同類型(例如FC存儲和IP存儲)的多臺設(shè)備之間的邏輯卷管 理、存儲虛擬化管理和多鏈路冗余管理將會是一個巨大的難題,這個問題得不到解決,存儲設(shè)備就會是整個云存儲系統(tǒng)的性能瓶頸,結(jié)構(gòu)上也無法形成一個整體,而 且還會帶來后期容量和性能擴展難等問題。
3部署Hadoop
從歷史上看,數(shù)據(jù)分析軟件面對當今的海量數(shù)據(jù)已顯得力不從心,這種局面正在悄然轉(zhuǎn)變。新的海量數(shù)據(jù)分析引擎已經(jīng)出現(xiàn)。例如Apache的Hadoop,實踐證明,Hadoop在數(shù)據(jù)處理方面是做得最好的且是開源的平臺之一。
云存儲中心是由大量服務器構(gòu)成Hadoop的數(shù)據(jù)節(jié)點((DataNodes),負責保存文件的內(nèi)容,實現(xiàn)文件的分布式存儲、負載平衡以及文件的容錯控制。
下面將利用Hadoop作為實驗平臺,一步一步演示如何部署一個三個節(jié)點的集群,并測試一下MapRe-dace分布式處理的強大功能,在Hadoop分布式文件系統(tǒng)(HDFS)中存人兩個文件,并采用MapReduce計算出兩個namelist文件中各個名字出現(xiàn)的次數(shù),程序架構(gòu)設(shè)計如圖2所示。
圖2 3個節(jié)點的Hadoop集群
其中NameNode主節(jié)點和DataNode從節(jié)點的分布情況如下:
表1
(1)啟動Hadoop集群
只需要在NameNode主節(jié)點上執(zhí)行start-all.sh命令即可,同時Master節(jié)點可以通過ssh登錄到各,lave節(jié)點去啟動其他相關(guān)進程。
(2) MapRudce測試
在NameNode和DataNode兩個結(jié)點都運行正常的時候,也就是Hadoop部署成功了之后,我們在NameNode主節(jié)點上準備兩個名單文件。名單文件的內(nèi)容如下:
4運行實驗及結(jié)果
5結(jié)語
結(jié)果跟我們預期的一樣,這樣在以Hadoop為平臺進行了對HDFS的文件存儲,并且統(tǒng)計了文件中數(shù)據(jù)的數(shù)量,然后顯示出來。