Hadoop開源軟件與云計算_第1頁
Hadoop開源軟件與云計算_第2頁
Hadoop開源軟件與云計算_第3頁
Hadoop開源軟件與云計算_第4頁
Hadoop開源軟件與云計算_第5頁
已閱讀5頁,還剩26頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

中科f陰苴用

Hadoop開源軟件與云計算

查禮(char@)

中科院計算所

2010.10.11

內容提要

?大規模數據處理研究背景

會大規模數據處理開源軟件Hadoop

會分布式數據存儲計算相關研究@ICT

內容提要

?大規模數據處理研究背景

0大規模數據處理開源軟件Hadoop

分布式數據存儲計算相關研究@ICT

研究背景

?云計算的外延主要是大規模數據處理和基礎設施彈性管理及租約式供

?通信、網絡、存儲、傳感器等電子信息技術飛速發展導致數據規模極

大增加

?:?傳統的存儲并處理這些數據的技術手段遇到瓶頸

Processing100TBdatasets

OnenodeScanning?50MB/s=35,000min

1000nodeScanning?50MB/s=35min

D*?yP""Ac<M(

SearchEngineDataWarehousingLogProcessing

MapReduce并行編程模型

?E.g.,IO10Internetwebpages

5Reduce對處理結果進行聚集

■系統處理資源分配和可靠性問題

■Map:對所有單詞產生(word,count〉對

■Reduce:累計單詞數

WhyMapReduce?

?:?簡單VS.復雜

■并行計算模式簡單,編程容易。與MPI、

OpenMP相比門檻低

■為用戶屏蔽數據通信、并發、同步、一致性等

問題

?:?專用VS.通用

■適用于大規模數據處理,如搜索引擎、用戶日

志分析等

■計算與存儲方式緊密結合

■利于提高系統擴展性名

GFS-Google分布式文件系統

?:?特點

■GFS中所存儲的文件通常較大(GB級),采用

64MB數據塊作為基本存儲單元;

■Google業務邏輯特點決定了GFS中的文件讀多

寫少,寫主要是追加操作,基本不存在隨機寫

操作;

■GFS的負載主要是對大文件的流式處理,客戶

端緩存無意義;

-64MB數據塊降低了元數據的數量,因此系統

可使用單元數據服務器結構。.

SanjayGhemawat,et.al.,TheGoogle

FileSystem,SOSP'03

內容提要

?大規模數據處理研究背景

大規模數據處理開源軟件Hadoop

分布式數據存儲計算相關研究@ICT

Hadoop系統

?ApacheNutch,2002

?NDFS+MapReduce,2004

?Hadoop,2006

?ApacheHadoop,200過**I哂)

■/

■Book:

http:〃ore/catalog/9780596521998/index.html

>WritteninJava>Runson

?DoesworkwithotherLinux,Windowsandmore

languagesCommodityhardwarewithhighfailure

rate

Hadooo組成部分

OIJHDFS4HadoopDistrbutionFileSystem

expressingdataanalysisprograms

。MapReduce

0PigProject

Ahigh-leveldata-flowlanguageforparallelcomputation

pMhiaxncvtiMn

ZooKeepetAhigh-performancecoordinationservice

;Goo9WCtahby/x*MAC*

a*Avrodataserializationsystem

Protocol

,0chukwadatacollectionsystem

;;HBasestructureddatastorage

datawarehouse

HiveQL

HDFS設計目標

?VeryLargeDistributedFileSystem

■lOKnodes,100millionfiles,10PB

?ConvenientClusterManagement

■Loadbalancing

■Nodefailures

■Clusterexpansion

?OptimizedforBatchProcessing

■Allowmovecomputationtodata

■Maximizethroughput

HDFS體系結構

HadoopMapReduce處理流程二TE…""

內容提要

?大規模數據處理研究背景

0大規模數據處理開源軟件Hadoop

分布式數據存儲計算相關研究@ICT

數據計算相關研究@ICT

?:?軟件系統

?大規模數據處理系統(VegaCloudDCP)

?:?關鍵技術

■列存儲數據管理技術(RCFile)

■DOT聚簇式互補索引(CCIndex)

■HDFSNameNode高可用增強

■資源感知MapReduce任務調度

■小文件存儲優化

VDCP大規模數據處理系統構成

應用戶行為數據挖掘計算機科學文獻共享系統

其他應用

用(離線處理類)(存儲?在線處理類)

.

大并行連接優化聚簇式互補索弓1

川E

規IVHBase

列存儲數據管數據在線恢復

Hadoop

處I

Resource-aware

IMapReduceJobTrackerTaskTracker

理動態任務調度器

HDFSNameNodeDataNode小文件存儲優化

高而用增強

列存儲數據管理-RCFile

?將分布式數據處理系統中以記錄為單位的存儲結構變為以列為單位

的存儲結構,進而減少磁盤訪問數量,提高查詢處理性能。

?由于相同屬性值具有相同數據類型和相近的數據特性,以屬性值為

單位進行壓縮存儲的壓縮比更高,能節省更多的存儲空間。

Relation

RCFile

WBytesRecordRelation

SyncNumberA|B[C|D

HDFSBlockRowGroup

CompressedCompressedHDFS

KeysLengthsKeysData

StoreBlock110111112113116BytesMeradara

102112122132SyncHeader

RowGroup1

CompressedValuesLengths103113123133

StoreBlock2104114124134匚F1二41C3.1;:1"、

105115105135111,112,113,114.115

CompressedValuesDataRowGroup2

StoreBlock3121,122,123,124125

121,131)131,132,133,134.135

(102,112,122,132)

II

(105,115.125,135)RowGroupn

列存儲-RCFile

①分布式文件系統中高效的列數據組織方式

SequenceFile:關系數據水平拆分為塊,塊內按行序存儲

?RCFile:關系數據水平拆分,分片內按列序存儲(已應用于Facebook

Inc.)

②提供與Hadoop框架兼容的列存儲文件訪問接口,支持

Hadoop程序對列存儲文件中關系數據的透明訪問。

③支持列數據獨立壓縮機制,在不影響列數據獨立訪問的

前提下降低存儲空間消耗。

?RLE:行程長度編碼

?BitMap:位圖編碼

?Zlib,Gzip等:通用壓縮方法

RCFile在Hive體系結構中的位置

J,,

Application/EndUser

WebUI+HiveCLI+MapReduceHDFS

JDBC/ODBCUser-defined

Browse,Query,DDLMap-reduceScripts

MetaStoreUDF/UDAF

substr

sum

ThriftAPIaverage

FileFormats

SerDe

□TextFile

CSVSequenceFile

ThriftC***RCFile^2>

Regex

Reference:ZhengShao@HadoopinChma2009

RCFile存儲空間對比

數據表存儲空間比較:

儲格式原始文件大小壓縮行存儲文件大RCFILE壓RCFILE文

數康、小縮文件大小件長度同

M5.49X

uri_infor10.11MB2.13MB1.8MB/

user_login_data68.71MB21.03MB20.28MB/3.57%1

16.48%I

url_access_data219.44MB69.59MB58.12MBI

30.7%/

lineitem724.66MB227.07MB157.29MB\

注:RCFILE文件長度同比減小二(RCFILE壓縮文件大小-壓縮行存

儲文件大小)/壓縮行存儲文件大小

RCFile查詢性能對比

?:?在Hive中測試RCFile的性能

測試環境

節點操作系統:LinuxCentOSrelease5.3

■CPU:4核AuthenticAMD1.8GHz

內存:5GB

?:?測試查詢

selectl_returnflag,l_linestatus,sum(l_quantity)assum_qty,sum(l_extendedprice)as

sum_base_price,sum(l_extendedprice*(1-l_discount))assum_disc_price,sum(l_extendedprice*

(1-l_discount)*(1+l_tax))assum_chargefromlineitemwherel_shipdate<='1998-12-01'group

byl_returnflag,l_linestatus;

?:?測試結果

單位:秒

節點也模4nodes7nodes

、、、存儲方式

RCFile性靛RCFile性能提RCFile性能RCFile崢提

提高(對比高(對比行存提高(對比高(對比行存

行存儲行存儲壓縮RCFile壓縮行存儲)儲壓寫、行存儲行存儲壓縮RCFile壓縮行存儲)儲壓縮)

5GB971797.1185.0612%63.4365.2961.024%

10GB16771172.53153.229%I11%\96.2397.5688.978%I9%

112%

15GB240.56243.19214.5211%|130.59140.10121.817%113%|

100GB1561791574.941370.3012%\13%j797.86785.73670.3416%V5%/

加速性能:5GB28%/10GB42%/15GB43%/100GB51%

互補式聚簇索引(CQndex)

?研究動機

-多種的資源發現請求是多維區間查詢ComplementaryClusteringIndex

?網絡應用中多維區間查詢是普遍需求

-不斷增大的數據量提出了挑戰:性能、存儲開銷、可靠性

?應用需要什么樣的數據模型?

/數據模型介于

實現復雜性增加M

R:模型

數據邏輯OrderedTable

關聯強度?和關系模型之間

-

多列多表,關系模型-/思路:增強高可擴

但表間有關系(關系數據庫)-

&展性、高性能、高可

K

w

s靠性的分布式順序表

多列多表,

fc

但表間無關系商(DistribuedOrdered

-以支持

-Table,DOT)

-

-多維區間查詢__

單列單表-^CCIndexW^^T^S

的索引百匚矗

基于主鍵的多維通用關系O:

區間查詢區間查詢查詢數據查詢能力

基于HBase實現CCIndex

?把用于備份數據的副本組織成為多份互為補

充和校驗的互補聚簇索引表,利用索引表上

高效的連續掃描代替原表上的隨機讀取。

多屬性區間查詢、?基于分布式順序表的分片信息對子查詢結果

查詢優化、記錄查詢優化集的大小進行估算,最后挑選最小子查詢執

級數據恢復行查詢過程。

?通過互補聚簇索引表和互補校驗表進行數據

數據恢復恢復,保證可恢復性同時僅少量增加存儲開

CCIndex銷。

CQndex數據組織

基于ApacheHBase

CC1T2,key2=idx2+id+idx2Length

ComplementalClusteringIndexTable(CC1T0)

-禁用底層HDFS的副key2idxlinfo

ididxlidx2info

本機制nl00102cpuinfol

001cpunlinfol

nlOO2O2meminfo2

-互補聚簇表和互補檢002memnlinfo2

n200402cpu1nfo4

查表用HBase存儲003netn3info3

n3OO3O2netinfo3

-數據物理分布004cpun2info4

多張互補聚簇索引表1dx2key2idxl

CCIT

-分別以某索引列全局CCIT1,key1=idx1+id+idx1Length

有序keyl1dx2infoCCT2,

ComplementalCheckTable,CCTO,replicated

-其主鍵為索引列的值replicatedcpu00103nlinfol

+原主鍵+索引列的值cpu00403n2info4

的長度memOO2O3nlinfo2

netOO3O3n3info3

-隨機變連續

keylIidx2

Primarykey

互補校驗表CCTCCTl,

replicatedindexcolumn

-存儲主鍵和索引列的

IIdata卜

對應關系

查詢優化與數據恢復

region1startkey=>2endregion1startkey=>0end

key=>3key=>3

通過CCT校驗數據,并從其它表中

region2startkey=>3endregion2startkey=>3end

key=>5key=>8獲取數據,修補缺失。

CC1T2,key2=idx2+id+idx2Length

ConiplenientalClusteringIndexTable(CCITO)

key2info

region60startkey=>90idinfow

region60startkey=>852nl00102infol

endkey=>93endkey=>91001infol

*nlOO2O2info2

002info2

n200402info4

region61startkey=>93region61startkey=>91003info3w

n300302

endkey=>100endkey=>100004info4info3

metadataoftableindexedbymetadataoftableindexedbyIkey2

id

CPULoadmemoryusagekey2

id9

data

找到內存占用較高但CPU較空閑的Server

query:select,where(CPULoad<50andmemoryusage>98)74CCIT1,keyl=idxI+id-idxILength

7

keylinfoCCT2,

c(mplementalCheckTable.CCTO,replicated

個個2

40region1regionreplicatedcpu00103infol

I\掃描按內存占用率索引表,并用CPULoad篩cpu00403info4

?LZ選結果LostdatairrFn?

netOO3O3info3

\|keyl

RyercheckCCT||Primarykey

keyl44^CCTl,

通過分片信息預估掃描范圍,優化data

7re)licatedIndexcolumn

查詢執行速度。mem00203*||data

<>

CCIndex應用效果

■環境:3節點

-雙CPU共4核,2.0

GHzAMDOpteron,6

(

SGB內存,186GB

VP5

。RAID1SCSI磁盤,千

①。

M

)兆以太網

?負載

-100萬隨機生成數據,

長度1K字節,

-主鍵+3個索引列

■測試內容

?CCIndex的索引掃描操作吞吐率是隨機讀寫,連續讀寫,

IndexedTable的11.4倍掃描原表,掃描索引

?CCIndex的隨機寫和順序寫吞吐率分別比

IndexedTable快54.9%和121.4%

注:IndexedTable是HBase中的二級索引實現

CCIndex應用效果

?CCIndex與

IndexedTable相比:

-索引列數N,取

值從2到4_

—IndexTable的副

本數,取值為

N+1(估計值)

-記錄長度蟒5/四

長,取值從10到30

?CCIndex存儲開銷相

CCIndex應用效果

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論