Hadoop作為一個(gè)分布式的Apache開(kāi)源計(jì)算機(jī)組織框架,它可以運(yùn)行在廉價(jià)的中型或者大型集群的硬件設(shè)備上,為應(yīng)用程序的開(kāi)發(fā)提供了一套穩(wěn)定可靠的接口應(yīng)用程序。它的這些優(yōu)勢(shì)使基于Hadoop的企業(yè)云存儲(chǔ)平臺(tái)的構(gòu)建即經(jīng)濟(jì)又便捷,同時(shí)能夠?yàn)槠髽I(yè)的數(shù)據(jù)管理提供存儲(chǔ)服務(wù)的同步升級(jí)和安全管理,在企業(yè)管理領(lǐng)域具有很好的前景。
1 基于Hadoop的企業(yè)云存儲(chǔ)所依賴的云計(jì)算及其體系結(jié)構(gòu)
1.1 云計(jì)算概述。云計(jì)算是一種新型的基于數(shù)據(jù)中心的一個(gè)數(shù)據(jù)密集型超級(jí)計(jì)算方法,它是虛擬化、網(wǎng)絡(luò)存儲(chǔ)、網(wǎng)格計(jì)算、分布式計(jì)算以及并行計(jì)算等傳統(tǒng)計(jì)算機(jī)技術(shù)和網(wǎng)絡(luò)技術(shù)發(fā)展融合的產(chǎn)物。云計(jì)算所依賴的核心技術(shù)主要包括編程模型、虛擬化技術(shù)、數(shù)據(jù)存儲(chǔ)和管理技術(shù)。另外,由于云計(jì)算系統(tǒng)需要滿足用戶的大量需求,所以云計(jì)算的數(shù)據(jù)存儲(chǔ)技術(shù)需要具有很高的吞吐量,由于分布式存儲(chǔ)能夠很好的滿足云計(jì)算數(shù)據(jù)存儲(chǔ)的這種需求,因此,云計(jì)算平臺(tái)下的數(shù)據(jù)存儲(chǔ)一般多采用分布式存儲(chǔ)結(jié)構(gòu),而且增加了必要的數(shù)據(jù)存儲(chǔ)安全保障機(jī)制,在很大程度上提高了云存儲(chǔ)平臺(tái)下數(shù)據(jù)的可用性和可靠性。
1.2 云計(jì)算的體系結(jié)構(gòu)。云計(jì)算的體系結(jié)構(gòu)主要由用戶端、服務(wù)目錄、系統(tǒng)管理、配置工具、監(jiān)控、服務(wù)器集合幾個(gè)模塊構(gòu)成。其中,用戶端主要實(shí)現(xiàn)用戶與云系統(tǒng)的交互;服務(wù)目錄主要用于顯示該用戶有權(quán)限操作和訪問(wèn)的所有服務(wù)的目錄列表;系統(tǒng)管理用來(lái)管理系統(tǒng)資源的分配情況;配置工具用來(lái)配置客戶端和服務(wù)器所需要的各種操作環(huán)境;監(jiān)控主要用來(lái)監(jiān)控和計(jì)算云系統(tǒng)資源的使用情況;服務(wù)器集合用于實(shí)現(xiàn)云系統(tǒng)中的所有服務(wù)器的集成。
2 Hadoop及其核心設(shè)計(jì)分析
2.1 Hadoop概述。
Hadoop起源于開(kāi)源搜索引擎ApacheNutch,它是當(dāng)前應(yīng)用比較廣泛的一種文本搜索庫(kù)。其中,Hadoop主要包括HDFS(Hadoop 分布式文件系統(tǒng))以及MapReduce 引擎兩項(xiàng)核心設(shè)計(jì)。HDFS 是Hadoop分布式文件系統(tǒng)的縮寫,Hadoop 分布式計(jì)算存儲(chǔ)相關(guān)功能實(shí)現(xiàn)均需要HDFS 所提供的底層支持。MapReduce 主要負(fù)責(zé)相關(guān)數(shù)據(jù)索引任務(wù)的分解與結(jié)果的匯總。
Hadoop 的優(yōu)點(diǎn)主要體現(xiàn)在如下幾個(gè)方面:一是經(jīng)濟(jì)性,Hadoop 框架對(duì)計(jì)算機(jī)的硬件沒(méi)有特殊的要求,可以在普通的PC 機(jī)上運(yùn)行,因此,不需要加大對(duì)硬件的成本投入;一是可擴(kuò)展性,Hadoop 不需要修改任何已有的結(jié)構(gòu),就可以很容易的實(shí)現(xiàn)擴(kuò)展;三是高效性,Hadoop 核心設(shè)計(jì)中的HDFS 所具備的高效數(shù)據(jù)交互機(jī)制為高效處理海量的數(shù)據(jù)信息提供了重要的技術(shù)支撐;四是可靠性,Hadoop 核心設(shè)計(jì)中的MapReduce 所實(shí)現(xiàn)的任務(wù)監(jiān)控機(jī)制確保了Hadoop 框架分布式處理的可靠性,另外HDFS 的備份恢復(fù)機(jī)制又更好的確保了數(shù)據(jù)的可靠性。
2.2 Hadoop 的核心設(shè)計(jì)分析
(1)Hadoop 分布式文件系統(tǒng)(HDFS)。HDFS 體系的底部是Hadoop 分布式文件系統(tǒng)的存儲(chǔ)節(jié)點(diǎn),所有的文件存儲(chǔ)在Hadoop 集群節(jié)點(diǎn)都存儲(chǔ)在這里。從外部客戶的角度來(lái)看,HDFS 像傳統(tǒng)的分層文件系統(tǒng)?蛻艨梢匀我鈩(chuàng)建、刪除、移動(dòng)或重命名文件等。但HDFS 的架構(gòu)是基于節(jié)點(diǎn)構(gòu)造的一個(gè)特定的設(shè)置,這是由其自身的特點(diǎn)決定的。這些節(jié)點(diǎn)包括NameNode(只有一個(gè)),NameNode 是不同的機(jī)器上涉及到HDFS 運(yùn)行的一個(gè)通常的軟件,它負(fù)責(zé)訪問(wèn)文件系統(tǒng)名稱空間和控制外部客戶的管理,因?yàn)橹挥幸粋(gè)NameNode 節(jié)點(diǎn),所以HDFS 容易出現(xiàn)單點(diǎn)故障的問(wèn)題,這是HDFS 的一個(gè)重要缺陷;數(shù)據(jù)節(jié)點(diǎn)(DataNode),當(dāng)服務(wù)器從HDFS 客戶端上獲得讀寫請(qǐng)求的響應(yīng)時(shí),這些數(shù)據(jù)節(jié)點(diǎn)就可以根據(jù)這個(gè)報(bào)告完成塊映射和其他文件系統(tǒng)元數(shù)據(jù)驗(yàn)證。
HDFS 的主要任務(wù)是要保證客戶能夠以流的形式訪問(wèn)寫入的文件。其中,HDFS 的工作原理如下:客戶預(yù)想將文件寫到HDFS 上時(shí),先將該文件緩存到本地的臨時(shí)存儲(chǔ)中。如果所需的HDFS 塊的大小不能滿足緩存數(shù)據(jù)的實(shí)際需求時(shí),需要借助NameNode 和DataNode 來(lái)創(chuàng)建額外的文件存儲(chǔ)塊,其中NameNode 用于相應(yīng)創(chuàng)建文件的請(qǐng)求,DataNode 用以標(biāo)識(shí)保存額外所需文件塊副本的 存儲(chǔ)塊。在完成以上操作的基礎(chǔ)上,客戶就可以將臨時(shí)文件借助NameNode 和DataNode 通過(guò)管道方式將文件塊內(nèi)容不斷寫到 HDFS 上。在最后的文件塊發(fā)送之后,NameNode 將文件創(chuàng)建提交到它的持久化元數(shù)據(jù)存儲(chǔ),這樣客戶就能夠以流的形式訪問(wèn)寫入的文件。
(2)MapReduce。MapReduce 是一個(gè)編程模型和處理產(chǎn)生大數(shù)據(jù)集的相關(guān)實(shí)現(xiàn)。用戶指定一個(gè)map 函數(shù)處理一個(gè)
key/value 對(duì),從而產(chǎn)生中間的key/value 對(duì)集。然后再指定一個(gè)reduce 函數(shù)合并所有的具有相同中間key 的中間value。
3 基于Hadoop 的云存儲(chǔ)系統(tǒng)的實(shí)現(xiàn)
3.1 基于Hadoop 的云存儲(chǔ)系統(tǒng)結(jié)構(gòu)。基于Hadoop 的云存儲(chǔ)系統(tǒng)主要由客戶端、Web 操作系統(tǒng)、eyeOS、云服務(wù)器以及云存儲(chǔ)中心組成。
(1)客戶端。系統(tǒng)的前端即客戶端,客戶端可以通過(guò)網(wǎng)頁(yè)瀏覽器來(lái)便捷的訪問(wèn)云存儲(chǔ)系統(tǒng)。
(2)云端服務(wù)器。基于Hadoop 的云端服務(wù)器主要有一系列的云存儲(chǔ)中心所構(gòu)成,云端服務(wù)器主要負(fù)責(zé)文件系統(tǒng)名稱空間的管理以及外部訪問(wèn)云存儲(chǔ)系統(tǒng)客戶的管理。
(3)web 操作系統(tǒng)。它主要負(fù)責(zé)接收來(lái)自客戶端的各種訪問(wèn)請(qǐng)求,eyeOS 作為web 操作系統(tǒng)的核心,為客戶提供了大量的應(yīng)用程序,客戶可以結(jié)合自己的實(shí)際需求下載這些應(yīng)用程序,從而可以有效實(shí)現(xiàn)客戶端系統(tǒng)的個(gè)性化配置。
(4)云存儲(chǔ)中心。云存儲(chǔ)中心是由大量的基于Hadoop 數(shù)據(jù)節(jié)點(diǎn)的服務(wù)器所組成的,主要用于實(shí)現(xiàn)文件數(shù)據(jù)信息的分布式存儲(chǔ)。
3.2 基于Hadoop 的云存儲(chǔ)系統(tǒng)文件操作的實(shí)現(xiàn)。基于Hadoop 的云存儲(chǔ)系統(tǒng)文件操作基本上可分為兩類:即讀文件讀和寫文件?蛻粢x一個(gè)文件,需要把該文件下載到本地,通過(guò)應(yīng)用軟件和網(wǎng)絡(luò)操作系統(tǒng),將文件處理后顯示給用戶;如果要對(duì)文件進(jìn)行修改和保存的寫操作,需要通過(guò)網(wǎng)絡(luò)操作系統(tǒng)將要修改和保存的本地文件上傳到云存儲(chǔ)系統(tǒng)。
讀文件的流程如下:
(1)客戶端通過(guò)瀏覽器訪問(wèn)Web操作系統(tǒng),通過(guò)發(fā)出雙擊文件圖標(biāo)的驅(qū)動(dòng)事件請(qǐng)求借助eyeOS 向Hadoop 的管理節(jié)點(diǎn)發(fā)出獲取文件請(qǐng)求。
(2)管理節(jié)點(diǎn)將查找到的客戶端請(qǐng)求的相應(yīng)文件信息通過(guò)數(shù)據(jù)節(jié)點(diǎn)發(fā)送到客戶
(3)客戶端將接受的數(shù)據(jù)信息合并成一個(gè)文件后借助與文件關(guān)聯(lián)的應(yīng)用程序來(lái)顯示文件信息 從而完成文件的讀操作。
寫文件的流程如下:
(1)客戶端瀏覽器通過(guò)web 操作系統(tǒng)借助eyeOS 向Hadoop 的管理節(jié)點(diǎn)發(fā)出上傳文件請(qǐng)求。
(2)管理節(jié)點(diǎn)接收到客戶端的文件上傳請(qǐng)求后,根據(jù)客戶請(qǐng)求要上傳文件的大小合理分配存儲(chǔ)空間。
(3)客戶將要上傳的文件上傳至云存儲(chǔ)系統(tǒng)中,完成文件的寫操作。
Hadoop 作為一個(gè)在集群上運(yùn)行大型數(shù)據(jù)庫(kù)處理應(yīng)用程序的開(kāi)放式源代碼框架。它是通過(guò)Google 的MapReduce 編程范例來(lái)創(chuàng)建并執(zhí)行的應(yīng)用程序,在很多大型企業(yè)網(wǎng)站上都已經(jīng)得到了應(yīng)用,可以說(shuō)是目前最為廣泛應(yīng)用的開(kāi)源云計(jì)算軟件平臺(tái),它在企業(yè)云存儲(chǔ)系統(tǒng)構(gòu)建中的應(yīng)用,更是促進(jìn)了當(dāng)前企業(yè)信息化管理的發(fā)展。相信隨著越來(lái)越多的全球IT 產(chǎn)業(yè)巨頭不斷加入云計(jì)算的陣營(yíng),基于Hadoop的云存儲(chǔ)技術(shù)將勢(shì)必會(huì)變成一個(gè)巨大的全球產(chǎn)業(yè),改技術(shù)的不斷發(fā)展和成熟將為企業(yè)信息管理中實(shí)現(xiàn)企業(yè)管理信息系統(tǒng)的高性能和低功耗提供有力的保證。
核心關(guān)注:拓步ERP系統(tǒng)平臺(tái)是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請(qǐng)注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標(biāo)題:基于Hadoop的企業(yè)云存儲(chǔ)技術(shù)探索
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112159862.html