0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

hadoop云存儲解決方案

PoisonApple ? 來源:網(wǎng)絡(luò)整理 ? 2018-02-12 10:03 ? 次閱讀

Hadoop是一個由Apache基金會所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。

用戶可以在不了解分布式底層細節(jié)的情況下,開發(fā)分布式程序。充分利用集群的威力進行高速運算和存儲。

Hadoop實現(xiàn)了一個分布式文件系統(tǒng)(Hadoop Distributed File System),簡稱HDFS。HDFS有高容錯性的特點,并且設(shè)計用來部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)來訪問應(yīng)用程序的數(shù)據(jù),適合那些有著超大數(shù)據(jù)集(large data set)的應(yīng)用程序。HDFS放寬了(relax)POSIX的要求,可以以流的形式訪問(streaming access)文件系統(tǒng)中的數(shù)據(jù)。

Hadoop的框架最核心的設(shè)計就是:HDFS和MapReduce。HDFS為海量的數(shù)據(jù)提供了存儲,則MapReduce為海量的數(shù)據(jù)提供了計算。

基于Hadoop的校園云存儲系統(tǒng)

服務(wù)器使用Linux操作系統(tǒng),采用MapReduce編程算法實現(xiàn)并行處理。

HDFS(Hadoop Distributed File System)是一個運行在普通硬件之上的分布式文件系統(tǒng)。HDFS系統(tǒng)采用Master/Slave框架,一個HDFS集群系統(tǒng)是由一個Master和多個Slaver構(gòu)成。前者叫做名字節(jié)點(NameNode),是一個中心服務(wù)器負責(zé)元數(shù)據(jù)的管理工作,主要包括文件系統(tǒng)的名字空間管理和客戶機對文件的訪問操作。后者叫做數(shù)據(jù)節(jié)點(DataNode),在集群系統(tǒng)中一般一個節(jié)點是由一個DataNode構(gòu)成的,主要負責(zé)對節(jié)點上它們附帶的存儲進行管理。

HDFS系統(tǒng)中文件的目錄結(jié)構(gòu)獨立存儲在NameNode上,對于具體的文件數(shù)據(jù)來說,一個文件數(shù)據(jù)其實被拆分成若干block,這些block冗余存儲在DataNode集合數(shù)據(jù)里。NameNode負責(zé)執(zhí)行文件系統(tǒng)的Namespace管理工作,主要包括關(guān)閉,打開和重命名數(shù)據(jù)文件和目錄等操作,同時負責(zé)建立block和DataNode節(jié)點的映射關(guān)系??蛻魴C的讀寫需求是由DataNode節(jié)點響應(yīng)完成的,同時DataNode節(jié)點在NameNode的統(tǒng)一指揮下進行Block的創(chuàng)建,刪除和復(fù)制等操作。

MapReduce編程模型是一種編程模型,是云計算的核心計算模式,用于大規(guī)模數(shù)據(jù)集的并行計算。MapReduce借用了函數(shù)式編程的思想,把海量數(shù)據(jù)集的常見操作抽象為Map(映射)和Reduce(化簡)兩種集合操作。通過Map函數(shù)將被分割后數(shù)據(jù)映射成不同的區(qū)塊,然后由計算機集群對分配的數(shù)據(jù)進行分布式運算處理,再由Reduce函數(shù)對數(shù)據(jù)結(jié)果進行統(tǒng)一匯整,最后輸出用戶想要的數(shù)據(jù)結(jié)果。MapReduce的軟件實現(xiàn)是指定一個Map函數(shù),用來把一組鍵值對映射成一組新的鍵值對,指定并發(fā)的Reduce(化簡)函數(shù),用來保證所有映射的鍵值對中的每一個共享相同的鍵組。

hadoop云存儲解決方案

Master包括NameNode和JobTracker,Slaves包括DataNodes和TaskTrackers.HDFS的工作主要由NameNode和DataNodes共同完成,MapReduce的工作主要由JobTracker和TaskTrackers共同完成。模型工作流程:服務(wù)控制集群SCC(Service Controller Cluster)主要負責(zé)對用戶應(yīng)用請求進行接收,并根據(jù)用戶的請求完成應(yīng)答工作。存儲節(jié)點集群SNC(Storage Node Cluster)主要負責(zé)處理數(shù)據(jù)資源的存取工作。JobTracker可以運行在集群系統(tǒng)中的每一臺計算機上,主要完成管理和調(diào)度其它計算機上的TaskTracker。

不同的是TaskTracker必須運行在數(shù)據(jù)存儲節(jié)點的DataNode上,主要完成執(zhí)行任務(wù)工作。JobTracker負責(zé)將每一個Map和Reduce任務(wù)分配給空閑的TaskTracker處理,完成對每個數(shù)據(jù)文件并行計算處理任務(wù),同時將每個任務(wù)運行完成的情況進行監(jiān)控。當其中一個TaskTracker發(fā)生故障時,JobTracker會主動將其負責(zé)的任務(wù)轉(zhuǎn)交給另外一個空閑的TaskTracker重新執(zhí)行完成這個任務(wù)。用戶本身不直接通過Hadoop架構(gòu)進行讀寫數(shù)據(jù),這由可以避免大量的讀寫操作造成的系統(tǒng)擁塞。當用戶通過Hadoop架構(gòu)把信息傳給SCC后,將直接與存儲節(jié)點進行交互,同時完成數(shù)據(jù)讀取操作。

hadoop云存儲解決方案

系統(tǒng)采用Hadoop軟件,7臺PC,其中一臺為Master,namenode(集群主節(jié)點);另外六臺為Slave, datanode(從節(jié)點)。

集群部署步驟:

(1)。 集群配置SSH,實現(xiàn)機器間免密碼登陸。在每臺機器上生成ssh密鑰,然后交換公鑰,將namenode的公鑰拷貝到每臺datanode,這樣互相訪問就不需要密碼了。

(2)。 在每臺機器上安裝JDK,配置java環(huán)境。

(3)。 安裝配置hadoop。

(4)。 啟動hadoop服務(wù)。

(5)。 安裝eclipse,搭建集成開發(fā)環(huán)境。

基于Hadoop平臺的云存儲

云計算(Cloud Computing)是一種基于因特網(wǎng)的超級計算模式,在遠程的數(shù)據(jù)中心里,成千上萬臺電腦和服務(wù)器連接成一片電腦云。用戶通過電腦、筆記本、手機等方式接人數(shù)據(jù)中心,按自己的需求進行運算。目前,對于云計算仍沒有普遍一致的定義。結(jié)合上述定義,可以總結(jié)出云計算的一些本質(zhì)特征,即分布式計算和存儲特性、高擴展性、用戶友好性、良好的管理性。

1云存儲架構(gòu)圖

橘色的作為存儲節(jié)點(Storage Node)負責(zé)存放文件,藍色作為控制節(jié)點((Control Node)則是負責(zé)文件索引,并負責(zé)監(jiān)控存儲節(jié)點間容量及負載的均衡,這兩個部分合起來便組成一個云存儲。存儲節(jié)點與控制節(jié)點都是單純的服務(wù)器,只是存儲節(jié)點的硬盤多一些,存儲節(jié)點服務(wù)器不需要具備RAID的功能,只要能安裝Linux即可,控制節(jié)點為了保護數(shù)據(jù),需要有簡單的RAID level O1的功能。

云存儲不是要取代現(xiàn)有的盤陣,而是為了應(yīng)付高速成長的數(shù)據(jù)量與帶寬而產(chǎn)生的新形態(tài)存儲系統(tǒng),因此云存儲在設(shè)計時通常會考慮以下三點:

(1)容量、帶寬的擴容是否簡便

擴容是不能停機,會自動將新的存儲節(jié)點容量納入原來的存儲池。不需要做繁復(fù)的設(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è)備、多應(yīng)用、多服務(wù)協(xié)同工作的集合體,任何一個單點的存儲系統(tǒng)都不是云存儲。

既然是由多個存儲設(shè)備構(gòu)成的,不同存儲設(shè)備之間就需要通過集群技術(shù)、分布式文件系統(tǒng)和網(wǎng)格計算等技術(shù),實現(xiàn)多個存儲設(shè)備之間的協(xié)同工作,使多個的存 儲設(shè)備可以對外提供同一種服務(wù),并提供更大更強更好的數(shù)據(jù)訪問性能。如果沒有這些技術(shù)的存在,云存儲就不可能真正實現(xiàn),所謂的云存儲只能是一個一個的獨立 系統(tǒng),不能形成云狀結(jié)構(gòu)。

(2)CDN內(nèi)容分發(fā)、P2P技術(shù)、數(shù)據(jù)壓縮技術(shù)、重復(fù)數(shù)據(jù)刪除技術(shù)、數(shù)據(jù)加密技術(shù)

CDN內(nèi)容分發(fā)系統(tǒng)、數(shù)據(jù)加密技術(shù)保證云存儲中的數(shù)據(jù)不會被未授權(quán)的用戶所訪問,同時,通過各種數(shù)據(jù)備份和容災(zāi)技術(shù)保證云存儲中的數(shù)據(jù)不會丟失,保證云存儲自身的安全和穩(wěn)定。如果云存儲中的數(shù)據(jù)安全得不到保證,也沒有人敢用云存儲了。

(3)存儲虛擬化技術(shù)、存儲網(wǎng)絡(luò)化管理技術(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ù)處理方面是做得最好的且是開源的平臺之一。

云存儲中心是由大量服務(wù)器構(gòu)成Hadoop的數(shù)據(jù)節(jié)點((DataNodes),負責(zé)保存文件的內(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é)果跟我們預(yù)期的一樣,這樣在以Hadoop為平臺進行了對HDFS的文件存儲,并且統(tǒng)計了文件中數(shù)據(jù)的數(shù)量,然后顯示出來。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 云存儲
    +關(guān)注

    關(guān)注

    7

    文章

    745

    瀏覽量

    46050
  • Hadoop
    +關(guān)注

    關(guān)注

    1

    文章

    90

    瀏覽量

    15985
收藏 人收藏

    評論

    相關(guān)推薦

    立體智慧倉儲解決方案.#計算

    解決方案智能設(shè)備
    學(xué)習(xí)電子知識
    發(fā)布于 :2022年10月06日 19:45:47

    #硬聲創(chuàng)作季 計算基礎(chǔ)入門:18-rpm痛點及解決方案

    計算解決方案
    Mr_haohao
    發(fā)布于 :2022年10月16日 01:50:33

    視頻監(jiān)控業(yè)務(wù)上方案解析

    摘要: 阿里針對安防監(jiān)控服務(wù)在傳統(tǒng)IT架構(gòu)下面臨的上述問題,基于阿里存儲服務(wù),提供視頻監(jiān)控解決方案。從2015年推出視頻監(jiān)控存儲與播放
    發(fā)表于 01-03 11:24

    從零開始學(xué)習(xí)hadoop?hadoop快速入門

    Hadoop是在分布式服務(wù)器集群上存儲海量數(shù)據(jù)并運行分布式分析應(yīng)用的一個平臺,其核心部件是HDFS與MapReduce。HDFS是一個分布式文件系統(tǒng),可對數(shù)據(jù)系統(tǒng)進行分布式儲存讀取
    發(fā)表于 03-13 15:21

    hadoop和spark的區(qū)別

    ,即便如此二者各自存在的目的是不同的。Hadoop是一個分布式的數(shù)據(jù)基礎(chǔ)設(shè)施,它是將龐大的數(shù)據(jù)集分派到由若干臺計算機組成的集群中的多個節(jié)點進行存儲。Spark是一個專門用來對那些分布式存儲的大數(shù)據(jù)進行
    發(fā)表于 11-30 15:51

    阿里應(yīng)用上邊緣解決方案助力互聯(lián)網(wǎng)All in Cloud

    解決方案。其中,阿里應(yīng)用上邊緣解決方案作為互聯(lián)網(wǎng)企業(yè)上的助推器,在現(xiàn)場展示。應(yīng)用上邊緣
    發(fā)表于 10-11 09:58

    如何用MRAM和NVMe SSD構(gòu)建未來的存儲解決方案

    在2019全球閃存峰會上,Everspin作為全球MRAM存儲芯片龍頭分享如何用MRAM這類非易失性存儲和NVMe SSD構(gòu)建未來的存儲解決方案
    發(fā)表于 01-11 06:44

    用Linux和Apache Hadoop進行計算

    用Linux和Apache Hadoop進行計算使用Linux 和 Hadoop 進行分布式計算介紹Hadoop 框架.
    發(fā)表于 03-31 15:23 ?12次下載
    用Linux和Apache <b class='flag-5'>Hadoop</b>進行<b class='flag-5'>云</b>計算

    計算是什么?存儲技術(shù)與應(yīng)用解決方案

    本專題為你講解計算與存儲技術(shù)資訊與應(yīng)用解決方案。具體包括解釋計算、
    發(fā)表于 03-29 18:23
    <b class='flag-5'>云</b>計算是什么?<b class='flag-5'>云</b><b class='flag-5'>存儲</b>技術(shù)與應(yīng)用<b class='flag-5'>解決方案</b>

    基于_NetApp_存儲的_Microsoft_私有解決方案

    基于_NetApp_存儲的_Microsoft_私有解決方案
    發(fā)表于 12-28 11:17 ?0次下載

    企業(yè)存儲是一個實現(xiàn)文件協(xié)作共享的解決方案

    說起企業(yè)存儲,可能大家還不清楚它是一什么東西,企業(yè)存儲是一個基于文件云端存儲而實現(xiàn)文件協(xié)作共享的解決
    發(fā)表于 07-08 10:51 ?1901次閱讀

    杉巖數(shù)據(jù)容器存儲解決方案

    的私有數(shù)據(jù)中心提出了很大挑戰(zhàn)。 杉巖容器存儲解決方案充分發(fā)揮了杉巖存儲產(chǎn)品的服務(wù)能力,具備
    發(fā)表于 04-15 15:20 ?793次閱讀

    華為OBS對象存儲服務(wù)完成開源社區(qū)同行評審 正式合入Apache Hadoop社區(qū)

    近日,華為OBS對象存儲服務(wù)OBSA-HDFS組件代碼完成了開源社區(qū)同行評審,已經(jīng)正式合入Apache Hadoop社區(qū),標志華為存算分離大數(shù)據(jù)
    的頭像 發(fā)表于 01-22 16:52 ?2364次閱讀

    企業(yè)級存儲解決方案的原理和分類

    許多企業(yè)已經(jīng)遷移到平臺中并發(fā)現(xiàn)了它的好處,為此也需要了解一些頂級存儲解決方案。
    發(fā)表于 04-05 14:07 ?1147次閱讀

    存儲監(jiān)控解決方案的8大優(yōu)勢

    存儲監(jiān)控工具正在成為電子監(jiān)控生態(tài)系統(tǒng)的支柱。存儲監(jiān)控解決方案提供完全私有的數(shù)據(jù)
    的頭像 發(fā)表于 03-29 16:37 ?2390次閱讀