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