摘要:信息時代的標志之一就是海量數據信息,其中包括文字,圖片以及視頻,復雜的數據離不開高性能的計算機,但往往高性能服務器的昂貴價格使眾多企業單位望而卻步,無奈之下,能夠提高軟件系統的分布式部署和調度能力使得越來越受到IT行業的認可和歡迎,普通的計算機要硬件,支持多并發用戶的感受度,最關鍵的是達到了用戶訪問最低的運營成本。我?,F在面臨著校園規模的擴大、學生數量的逐年增加,大量的信息存儲成為急需要解決的問題。我校實訓室的計算機資源是非常充足的,足夠建成一個資源硬件平臺。因此,本論文設計了一個校園云存儲系統的結構模型設計。
關鍵詞:HADOOP校園云存儲 海量數據
1 云計算概述
回顧IT的歷史發展,從1960年到現在,集成電路計算機出現、微型計算機出現、20年前Internet網絡普及、10年前GOOLE、AMAZON等開創了云計算的商業化應用,實現了It能力的遠距離傳輸?,F在云計算的應用是否會成為人類社會的核心力量,有了云計算的人類社會將會有怎么樣精彩的生活。云計算(cloud computing)是以Internet為基礎,在此基礎上會增加、使用相關服務,其中關鍵技術就是利用互聯網提供動態易擴展的虛擬化資源。云計算是分布式計算、并行計算、效用計算、網絡存儲、負載均衡等傳統計算機和網絡技術發展融合的產物。
2 Hadoop計算模型
Hadoop是Apache軟件基金會組織下的一個開源項目,Hadoop以分布式計算為基礎提供可靠、擴展的軟件。降低硬件成本是Hadoop最大的一個特色,Hadoop可以利用普通的硬件架設大規模的集群系統,Hadoop是現在云計算、大數據存儲最熱門的方法之一。Hadoop由分布式文件系統HDFS(Hadoop Distributed File System)和映射/簡化引擎(MAPReduce)兩個部分構成。
2.1 分布式文件系統(HDFS) HDFS一個是基于Hadoop框架中Java編寫的分布式、可擴展的文件系統。每個Hadoop實例都有一個單獨的命名空間節點(singlenamenode),該命名空間節點是HDFS文件系統的中心,它保存著系統中所有文件的目錄樹,可以追蹤HDFS集群中數據保存的位置,但它并不保存數據本身。數據節點的集群組成HDFS集群。通常一個數據節點就是一個計算機,它來管理對應節點的存儲。依靠TCP/IP協議文件中的數據被分割成很多塊并存放在每個數據節點中,它們互相之間通過遠程過程調用(RemoteProcedure Call)來相互調用數據。
2.2 映射/簡化引擎(Map Reduce) 映射/簡化引擎是一種數據集中并行計算的編程模型,由Map映射和Reduce簡化兩個部分組成。Map是指映射函數,它在不改變原數據的基礎上調用映射函數達到對相關數據進行指定操作。每個數據元素都是獨立的,映射后數據不會有所改變,并且創建了一個新的數據集來保存答案。例如,將所有同學期末成績和平時成績進行百分比計算,那么可以定義一個“百分比計算的”映射函數,將結果重新計算出來。Reduce是化簡操作,它轉換數據在內存中的表現形式(marshaling列集),它可以簡化大規模數據操作,例如,計算所有同學的總分,可以將相鄰數據進行相加賦值最后簡化為一個數據。MapReduce提供數據冗余和高容錯性。
3 系統分析與設計
3.1 系統原型設計 硬件部署:Hardoop采用版本0.16.3.tar.gz版本,操作系統使用Ubuntu10.10,共使用5臺臺式機,ip地址規劃分配為192.168.3.1,192.168.3.2,192.
168.3.3,192.168.3.4,192.168.3.5.
在hadoop@master下安裝JDK安裝包master(64位),在/et/profile下配置環境變量,同時安裝slave機(32位)安裝包和環境變量,安裝路徑與Master完全一樣。通過測試后進行配置NameNode和DataNode.utuntu10.10系統默認的hosts文件內容如下:127.0.0.1localhost,192.168.3.1為master,192.168.3.2,192.168.3.3,192.168.
3.3,192.168.3.4,192.168.3.5為slave.安裝配置Ssh。首先在每臺主機安裝Ssh。然后在每臺主機夾下新建一個名為.ssh的目錄。在Master機上生成密鑰對。隨后將密鑰復制到所有Slave機上,以實現master無密碼訪問Slave機。然后,進入所有機器的.SSH目錄,修改每臺機器上改變authorized_keys文件許可。安裝為hadoop后,配置hadoop環境變量在/etc/profile下添加export HADOOP_
HOME=\"/home/hadoop/hadoop-0.20.203.0\",export PATH
=\"$PATH:$HADOOP_HOME/bin\",修改HADOOP-ENV.SH,# export JAVA_HOME=/usr/lib/j2sdk1.5-sun為:#
The java implementation to use.Required.export JAVA_
HOME=\"/usr/lib/jvm/jdk1.6.0_29\".mapred-site.xml和hdfs
-site.xm也要進行配置,最后使用scp命令將hadoop安裝目錄從master機復制到所有slave機上。配置完畢之后測試使用hadoop,格式化hdfs,并可以啟動hadoop。
3.2 系統設計 ①本系統設計主要使用BROWSER/SERVER三層架構模式,采用web頁面訪問向系統服務器發送請求,服務器對用戶進行身份驗證通過HTTP協議把所需的信息返回客戶端,客戶端接受信息,將它顯示在瀏覽器上。管理可以通過執行相應的所有應用程序與底層集群進行連接,然后集群負責處理用戶提交的數據并返回為Web,Web再傳回客戶端。最后hadoop集群作為系統的底層基礎設施為系統提供計算和存儲。②用戶管理頁面:用戶管理頁面,賬號密碼用戶登錄憑證,用戶身份注冊,信息維護和權限管理。③任務維護模塊:用戶任務請求,資源申請,信息反饋,返回處理結果。④資源管理模塊:包括資源上傳和下載。⑤底層hadoop集群管理:周期動態的顯示集群工作狀態和任務工作進度。
4 總結
HADOOP云計算平臺緩解了學校服務器不能定時更新和查詢的問題。通過HADOOP基礎部署和系統的設計實現了一個用戶處理海量數據的校園云計算系統。系統的功能目前比較單一,計算和存儲還需要緊密耦合,這個是我們下面將來要解決的問題之一。
參考文獻:
[1]Hadoop官方網站.2010. http://hadoop.apache.org.
[2]HDFS Architecture 2010. http://hadoop.apache.org/common/docs/current/hdfs_desing.html.
[3]曹風兵等.2011年《基于Hadoop的校園云計算系統》計算機系統應用.
基金項目:
Intranet安全策略與多業務QoS算法研究與實施(蘇州工業園區服務外包職業學院),項目編號:KY-XJZ201。