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