• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Hadoop+Openstack云存儲(chǔ)的研究

      2014-04-29 00:00:00李金亮,翟永剛,湯向東

      摘 要:本文簡(jiǎn)要介紹了云存儲(chǔ)的概念以及云存儲(chǔ)相關(guān)技術(shù),分析了Hadoop與OpenStack各自的優(yōu)缺點(diǎn),最后提出了Hadoop與OpenStack云存儲(chǔ)整合的兩種方式,為今后云存儲(chǔ)建設(shè)開(kāi)拓了思路。

      關(guān)鍵詞:Hadoop;OpenStack;云計(jì)算;云存儲(chǔ);Sahara

      中圖分類號(hào):TP333

      隨著信息時(shí)代的快速發(fā)展,各種信息需求越來(lái)越大,數(shù)據(jù)量也隨之呈幾何級(jí)快速增長(zhǎng),同時(shí)對(duì)數(shù)據(jù)的安全性、可靠性、擴(kuò)展性等提出了新的要求,傳統(tǒng)的存儲(chǔ)模式越來(lái)越無(wú)法滿足如今復(fù)雜多變的網(wǎng)絡(luò)環(huán)境,云存儲(chǔ)集高可靠性、高效率、高數(shù)據(jù)安全性以及更強(qiáng)的適應(yīng)性為一體,贏得了廣大用戶的青睞。

      1 云存儲(chǔ)概述

      云存儲(chǔ)是在云計(jì)算(cloud computing)概念上延伸和發(fā)展出來(lái)的一個(gè)新的概念。它利用網(wǎng)格技術(shù)、集群技術(shù)和分布式文件系統(tǒng)等技術(shù),將網(wǎng)絡(luò)中大量各種不同類型的存儲(chǔ)設(shè)備組織起來(lái)協(xié)同工作,對(duì)外提供統(tǒng)一的數(shù)據(jù)存儲(chǔ)服務(wù)和業(yè)務(wù)訪問(wèn)功能。云存儲(chǔ)是一個(gè)以數(shù)據(jù)存儲(chǔ)和管理為核心的云計(jì)算系統(tǒng),當(dāng)云計(jì)算系統(tǒng)處理海量數(shù)據(jù)時(shí),就需要配置大量存儲(chǔ)設(shè)備,這時(shí)云計(jì)算系統(tǒng)就轉(zhuǎn)化為一個(gè)云存儲(chǔ)系統(tǒng)。

      2 云存儲(chǔ)模式與傳統(tǒng)存儲(chǔ)模式比較

      相對(duì)傳統(tǒng)存儲(chǔ)模式,云存儲(chǔ)模式具有以下特點(diǎn):第一,從功能需求來(lái)看,云存儲(chǔ)模式面向多種類型的網(wǎng)絡(luò)在線存儲(chǔ)服務(wù),而傳統(tǒng)存儲(chǔ)模式則面向高性能計(jì)算、事務(wù)處理等應(yīng)用;第二,從性能需求來(lái)看,云存儲(chǔ)模式具有高可靠性、高效率、高數(shù)據(jù)安全性,在網(wǎng)絡(luò)環(huán)境復(fù)雜多變,用戶規(guī)模龐大、服務(wù)范圍廣的業(yè)務(wù)中具有更強(qiáng)的適應(yīng)性。第三,從數(shù)據(jù)管理來(lái)看,云存儲(chǔ)模式不僅支持傳統(tǒng)文件的訪問(wèn)方式,而且還支持海量數(shù)據(jù)的管理并提供公共服務(wù)支撐功能,以方便云存儲(chǔ)系統(tǒng)后臺(tái)數(shù)據(jù)的維護(hù)。

      3 云存儲(chǔ)相關(guān)技術(shù)

      3.1 Hadoop架構(gòu)

      Hadoop是Apache Lucene下的一個(gè)開(kāi)源分布式計(jì)算框架,它是Nutch項(xiàng)目的一部分,專門(mén)負(fù)責(zé)對(duì)大量不同類型的數(shù)據(jù)(結(jié)構(gòu)化、非結(jié)構(gòu)化等)進(jìn)行分布式處理。

      Hadoop框架由許多元素組成,其中最核心的設(shè)計(jì)就是MapReduce和HDFS。

      MapReduce是一個(gè)大型分布式數(shù)據(jù)處理模型,它在數(shù)據(jù)處理過(guò)程中發(fā)揮著重要的作用,被譽(yù)為大數(shù)據(jù)處理背后最具影響力的“發(fā)動(dòng)機(jī)”。MapReduce將一個(gè)任務(wù)分解多個(gè)任務(wù)進(jìn)行處理,然后將這些任務(wù)處理的結(jié)果進(jìn)行分析匯總得出最后的結(jié)果。

      HDFS(Hadoop Distributed File System)是Hadoop分布式文件系統(tǒng)的縮寫(xiě)。HDFS有著高容錯(cuò)性的特點(diǎn),可以在低廉的硬件上進(jìn)行部署。它為訪問(wèn)有著超大數(shù)據(jù)集的應(yīng)用程序數(shù)據(jù)時(shí)提供高傳輸率,而且HDFS允許以流的形式訪問(wèn)文件系統(tǒng)中的數(shù)據(jù)。在處理大數(shù)據(jù)的過(guò)程中,HDFS可為Hadoop集群發(fā)生故障錯(cuò)誤時(shí)提供數(shù)據(jù)冗余功能,整個(gè)計(jì)算過(guò)程不會(huì)因?yàn)槟硞€(gè)服務(wù)器出現(xiàn)故障而終止。另外,HDFS支持的數(shù)據(jù)存儲(chǔ)格式并沒(méi)有太多的限制,結(jié)構(gòu)化以及非結(jié)構(gòu)化的數(shù)據(jù)均可。

      在實(shí)際過(guò)程中,HDFS與MapReduce往往是結(jié)合在一起的,這樣能最大發(fā)揮它們各自的優(yōu)勢(shì)。

      3.2 OpenStack

      OpenStack是一整套開(kāi)源軟件項(xiàng)目的綜合,它用來(lái)建設(shè)和管理公共云以及私有云,它簡(jiǎn)化了云的部署過(guò)程并為其帶來(lái)良好的可擴(kuò)展性。

      OpenStack由一組開(kāi)源項(xiàng)目構(gòu)成,他們分別是Nova、Swift、Glance。

      Nova(計(jì)算服務(wù)):是一套云組織的控制器,它為部署云提供工具,包括管理網(wǎng)絡(luò)、運(yùn)行實(shí)例以及控制用戶和其它項(xiàng)目對(duì)云的訪問(wèn)。

      Swift(存儲(chǔ)服務(wù)):是一個(gè)可擴(kuò)展的對(duì)象存儲(chǔ)系統(tǒng)。它通過(guò)內(nèi)置的冗余及容錯(cuò)機(jī)制在大規(guī)模可擴(kuò)展系統(tǒng)中實(shí)現(xiàn)對(duì)象存儲(chǔ)。Swift支持多種應(yīng)用,比如復(fù)制和存檔數(shù)據(jù),圖像或視頻服務(wù),存儲(chǔ)次級(jí)靜態(tài)數(shù)據(jù),開(kāi)發(fā)數(shù)據(jù)存儲(chǔ)整合的新應(yīng)用,存儲(chǔ)容量難以估計(jì)的數(shù)據(jù),為Web應(yīng)用創(chuàng)建基于云的彈性存儲(chǔ)。因?yàn)闆](méi)有中心單元或者主控結(jié)點(diǎn),swift提供了更強(qiáng)的擴(kuò)展性、冗余和持久性。

      Glance(鏡像服務(wù)):是一個(gè)虛擬機(jī)鏡像的存儲(chǔ)、查詢和檢索系統(tǒng),服務(wù)包括的RESTfulAPI允許用戶通過(guò)HTTP請(qǐng)求查詢VM鏡像元數(shù)據(jù),以及檢索實(shí)際的鏡像。

      4 HDFS和Swift整合

      4.1 HDFS和Swift優(yōu)缺點(diǎn)

      HDFS雖然有著許多優(yōu)點(diǎn),但也存在著一些缺點(diǎn)。首先,HDFS是用來(lái)處理大吞吐量的離線數(shù)據(jù),它需要犧牲一定的延時(shí)為代價(jià),因此它不太適合哪些對(duì)延時(shí)有較高要求的應(yīng)用程序。其次,HDFS被設(shè)計(jì)用來(lái)處理大數(shù)據(jù)文件,它通常對(duì)大文件進(jìn)行優(yōu)化,而在處理大量小文件時(shí)反而會(huì)使其耗費(fèi)更多內(nèi)存,從而影響數(shù)據(jù)處理的效率。此外,HDFS中一次只能寫(xiě)入一個(gè)文件,不支持多用戶并發(fā)寫(xiě)入。相反,Swift用來(lái)存儲(chǔ)多個(gè)任意大小文件的數(shù)據(jù),而且支持對(duì)文件多用戶并發(fā)寫(xiě)入,但Swift沒(méi)有目錄結(jié)構(gòu),不支持嵌套,也不支持文件的重寫(xiě),只能新建,不支持服務(wù)器上的數(shù)據(jù)查詢和處理,而且當(dāng)容器的對(duì)象超過(guò)100萬(wàn)個(gè)時(shí),其性能就會(huì)急劇下降。因此,如果能將HDFS和Swift存儲(chǔ)進(jìn)行整合,可極大提高云存儲(chǔ)的數(shù)據(jù)處理效率,降低硬件成本。

      4.2 HDFS和Swift整合方式

      由于HDFS采用Java編寫(xiě),而Swift采用Python編寫(xiě),因此它們之間互不兼容。通常情況下,要想使用Hadoop對(duì)Swift中存儲(chǔ)的大量數(shù)據(jù)進(jìn)行處理,一般先將Swift中的數(shù)據(jù)導(dǎo)出到中間服務(wù)器,然后再將這些數(shù)據(jù)導(dǎo)入到HDFS中,最后才能通過(guò)MapReduce技術(shù)對(duì)這些數(shù)據(jù)進(jìn)行分布式處理。這種方法在處理少量數(shù)據(jù)時(shí)有一定的可用性,但在處理大量數(shù)據(jù)時(shí),導(dǎo)出和導(dǎo)入數(shù)據(jù)的過(guò)程需要耗費(fèi)大量的時(shí)間,而且還會(huì)耗費(fèi)更多額外的存儲(chǔ)。

      為此,我們可以設(shè)計(jì)一個(gè)Swift對(duì)象適配器(Adapter),用來(lái)進(jìn)行接口適配,將Swift中類的接口轉(zhuǎn)變成Hadoop所希望的另一個(gè)接口,使得原本兩個(gè)因?yàn)榻涌诙患嫒莸念惸軌蛟谝黄鸸ぷ鳌?/p>

      Swift雖然采用Python語(yǔ)言編寫(xiě),但是也提供了多種編程語(yǔ)言的客戶端API,其中Swift的Java客戶端API是一個(gè)名叫Java-cloudfiles的開(kāi)源項(xiàng)目,它支持對(duì)Swift存儲(chǔ)的各種操作。

      Swift適配器的作用就是調(diào)用Swift的Java客戶端API,實(shí)現(xiàn)了對(duì)Swift存儲(chǔ)的操作,Hadoop MapReduce API調(diào)用Hadoop FileSystem API,對(duì)于MapReduce來(lái)說(shuō),底層的HDFS和Swift都是透明的。適配器所在層次結(jié)構(gòu)如圖所示。

      圖1

      通過(guò)Swift適配器,將高可用的Swift對(duì)象存儲(chǔ)作為Hadoop的底層存儲(chǔ)系統(tǒng),使得Hadoop在存儲(chǔ)層面具有了高可用性。把Swift適配器部署到已有的Hadoop集群中是簡(jiǎn)單快捷的。原本用來(lái)分析存儲(chǔ)在HDFS中的數(shù)據(jù)的MapReduce應(yīng)用程序,也無(wú)需修改即可分析存儲(chǔ)在Swift中的數(shù)據(jù)。

      另一種更為有效的方法就是采用Sahara方案。Sahara是在2013年由全球三大公司Hortonworks、Mirantis、紅帽公司聯(lián)合發(fā)起的,共同致力于在OpenStack上實(shí)現(xiàn)Apache Hadoop的一個(gè)項(xiàng)目,它旨在為OpenStack用戶提供一種簡(jiǎn)單、快捷地部署以及管理Hadoop集群的方案,加快Hadoop在OpenStack上的開(kāi)發(fā)和部署進(jìn)程。

      Sahara主要由以下五個(gè)部分組成:

      Horizon:為Sahara提供圖形化的管理界面。

      Keystone:提供用戶身份認(rèn)證功能,為不同的OpenStack用戶分配特定的使用權(quán)限。

      Nova:為Hadoop集群提供虛擬機(jī)配置功能。

      Glance:用來(lái)儲(chǔ)存安裝有OS和Hadoop的虛擬機(jī)鏡像。

      Swift:可以作為需要進(jìn)行Hadoop作業(yè)的預(yù)存儲(chǔ)。

      Sahara項(xiàng)目的架構(gòu)圖如下:

      圖2

      通過(guò)Sahara,用戶只需要提供一些基本的信息(比如Hadoop版本、集群拓?fù)?、?jié)點(diǎn)硬件情況等)就可在幾分鐘內(nèi)快速建立起集群,而且還可以根據(jù)用戶需求隨意對(duì)集群進(jìn)行擴(kuò)展(增加或者刪除工作節(jié)點(diǎn)),有效降低硬件成本,極大的提高計(jì)算資源的利用率。

      5 結(jié)束語(yǔ)

      雖然Hadoop和OpenStack的存儲(chǔ)技術(shù)各有自己的優(yōu)缺點(diǎn),但OpenStack和Hadoop的融合,不僅能充分利用對(duì)方的優(yōu)點(diǎn),而且還能有效的規(guī)避對(duì)方的缺點(diǎn),既能最大限度提高了存儲(chǔ)資源利用率,又能大大降低大數(shù)據(jù)處理的準(zhǔn)入門(mén)檻。

      參考文獻(xiàn):

      [1]高新成,王莉利.基于Hadoop的校園云存儲(chǔ)系統(tǒng)的研究[J].陜西理工學(xué)院學(xué)報(bào)(自然科學(xué)版),2012(04).

      [2]劉琨,李愛(ài)菊,董龍江.基于Hadoop的云存儲(chǔ)的研究及實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2011(07).

      [3]歐陽(yáng)帆,楊奕,董龍江.為Hadoop的存儲(chǔ)層增加對(duì)OpenStack Swift的支持[OL].http://www.ibm.com/developerworks/cn/cloud/library/1401_ouyangf_hadoopswift,2014.01.27.

      [4]王后明.Sahara將加速OpenStack與Hadoop融合[OL].http://www.chinacloud.cn/show.aspx?cid=14id=15544,2014.04.01.

      作者簡(jiǎn)介:李金亮(1983.11-),男,湖北人,教員,中級(jí)職稱,工學(xué)學(xué)士,在職研究生,研究方向:計(jì)算機(jī)應(yīng)用技術(shù)。

      作者單位:軍事交通學(xué)院,天津 300161

      德化县| 台中县| 雅安市| 大理市| 盱眙县| 富锦市| 大英县| 南漳县| 德庆县| 南通市| 阜康市| 葵青区| 甘泉县| 年辖:市辖区| 西安市| 景东| 永宁县| 鹤山市| 蓬莱市| 巴青县| 河北区| 清远市| 万年县| 汪清县| 资兴市| 长汀县| 永城市| 海阳市| 桂林市| 读书| 达日县| 奉化市| 乌拉特中旗| 和平区| 巴彦县| 海淀区| 辽中县| 临桂县| 郑州市| 苏州市| 莱阳市|