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

提交评论