您好,欢迎访问三七文档
大规模分布式计算MapReduce和HadoopAgenda分布式计算•分布式计算简介•MapReduce•应用现状MapReduce•什么是MapReduce•原理•系统视图Hadoop•HDFS•MapReduce分布式计算•需求:大规模数据为什么使用分布式?分布式计算•需求:成本?为什么使用分布式?分布式计算•并行化的尝试–在硬件工艺/技术不变的前提下,提升计算能力–更强大的硬件•对称多处理器SMP•分布式共享内存DSM–分布式系统•Sharedisk•SharenothingAbriefhistory分布式计算•互联网应用的特殊性–I/O操作强于计算操作–复杂异构的机器环境–变化的业务逻辑新需求分布式计算•MapReduce–分布式编程模型–互联网应用的大规模数据计算解决方案MapReduce分布式计算•MapReduce的优势–简单一致性模型–本地I/O优化–扩展性WhyMapReducewins?分布式计算•应用现状–数据分析、报表–索引–商业智能服务•规模•淘宝现状分布式计算•总结总结分布式计算•BREAKMapReduce编程模型游戏什么是MapReduce?分布式编程模型WhatisMapReduce?MapReduce编程模型MapReduce语义Map:映射,空间变换Reduce:汇总,规约MapReducemethodologyMapReduce编程模型MapReducekey,value数据结构map(in_key,in_value)-list(out_key,intermediate_value)reduce(out_key,list(intermediate_value))-list(out_value)分布式算法的核心内容MapReducemethodologyMapReduce编程模型系统视图系统考量容灾扩展性并行能力…Master-slave结构AsystematicviewMapReduce编程模型系统视图计算消耗网络I/O磁盘I/O排序Map/Reduce计算AsystematicviewMapReduce编程模型系统视图并行能力子任务间并行M/R任务间并行作业间并行AsystematicviewMapReduce编程模型范例web点击日志统计:PV/UV词频统计海量数据排序表JoinDiscussMapReduce编程模型MapReduce能做?日志分析商业智能分析客户营销大规模索引…MapReduce不能:在线应用复杂依赖逻辑(循环、递归?)MapReduce的数据倾斜问题WhatMapReducecando&can’tdoMapReduce编程模型总结总结MapReduce编程模型BreakHadoop•开源分布式系统实现•系统栈Whatis?系统Hadoop组件Mimicof?文件系统(DFS)HDFSGFSMapReduce计算框架MapReduceMapReduce锁服务ZooKeeperChubbyRPCAvroProtocolBuffer*高级语言/工作流支持Hive/Pig/CascadingSawzaw*实时(KV)存储HBase/HyperTableBigTableHadoop•Hadoop的历史–2003Google发表有关MapReduce论文–2005Nutch迁移到MapReduce实现–2006.1DougCutting加入Yahoo!–2006.2Yahoo从Nutch中剥离出MapReduce并开始使用Hadoop–2007.1Yahoo组建1000+节点的Hadoop集群–2008.1Hadoop成为ApacheTLPHadoop:abriefhistoryHadoop•HDFS:分布式文件系统•设计原则–硬件错误是常态而不是异常–流式数据访问–大规模数据集–简单的一致性模型–“移动计算比移动数据更划算”–异构软硬件平台间的可移植性HDFSHadoop•HDFS特性–大容量–高容错性–高吞吐量•HDFS数据模型–包–块–文件HDFSHadoop•MapReduce:分布式计算框架•语言支持–Java–C++(throughpipes)–scriptlanguages(throughstreaming)•调度模型–tasks–jobs–groupsMapReduceHadoop•编写MapReduce逻辑–Java•mapper/reducer/combiner•partitioner•inputformat/outputformat–Streaming–高级语言实现•Hive•PigMapReduceHive•基于Hadoop的ETL•采用SQL-like的查询语言•将用户写的”SQL”翻译成MapReduce程序总结
本文标题:大规模分布式计算
链接地址:https://www.777doc.com/doc-4912718 .html