Hadoop及Mapreduce入门 pub

上传人:沈*** 文档编号:173277233 上传时间:2022-12-09 格式:PPT 页数:35 大小:1.12MB
收藏 版权申诉 举报 下载
Hadoop及Mapreduce入门 pub_第1页
第1页 / 共35页
Hadoop及Mapreduce入门 pub_第2页
第2页 / 共35页
Hadoop及Mapreduce入门 pub_第3页
第3页 / 共35页
资源描述:

《Hadoop及Mapreduce入门 pub》由会员分享,可在线阅读,更多相关《Hadoop及Mapreduce入门 pub(35页珍藏版)》请在装配图网上搜索。

1、Hadoop入门入门卢学裕优酷网2014.07Outlines Hadoop Overview HDFS Map-reduce Programming Paradigm Hadoop Map-reduce Job Scheduler ResourcesHadoop,Why?数据太多了,需要能存储、快速分析数据太多了,需要能存储、快速分析Pb级数据集的系统级数据集的系统 单机的存储、单机的存储、IO、内存、内存、CPU有限,需要可扩展的集群有限,需要可扩展的集群 使用门槛低,数据分析是个庞杂的问题,使用门槛低,数据分析是个庞杂的问题,MPI太复杂太复杂 单点故障问题单点故障问题机器多了单点故障成

2、为正常的异常节点有增有减 Hadoop就是一个满足易用性、可靠性、可扩展性的存储就是一个满足易用性、可靠性、可扩展性的存储计算平台,还是开源的!计算平台,还是开源的!Hadoop History Dec 2004 Google GFS paper published July 2005 Nutch uses MapReduce Feb 2006 Becomes Lucene subproject Apr 2007 Yahoo!on 1000-node cluster Apr 2008 Fastest QuickSort on 1TB Jan 2008 An Apache Top Level P

3、roject Jul 2008 A 4000 node test clusterHadoop-related projects Hive:数据仓库,facebook贡献 PIG:并行计算的一种高级语言,yahoo贡献 Nutch:网页搜索软件,不只是爬虫 Avro:数据序列化系统 Chukwa:用于管理大规模分布式集群的数据收集系统 ZooKeeper:用于分布式应用的高性能协同服务 Hbase:类似于BigTable的,key-value数据库系统 Mahout:分布式机器学习和数据挖掘的Lib Hama:基于BSP的超大规模科学计算框架 Who Uses Hadoop Amazon 著名的

4、AWS Adobe Adknowledge:behavioral targeting,clickstream analytics Alibaba Baidu:搜索日志分析;每周处理3000TB 数据 Bixo Labs:web mining Datagraph:处理RDF数据,存储、索引 EBay:532 nodes,搜索优化和研究 ETH Zurich Systems Group:教学 Massively Parallel Data Analysis with MapReduce Facebook:1100 nodes,12PB;300 nodes,3PB FOX:3个Cluster 用于日

5、志分析、数据挖掘、机器学习 Freestylers:构建基于图片的推荐系统 Google Gruter.Corp:索引、Link分析、数据挖掘 Hulu:Hbase hosting IBM Krugle:源代码搜索 Last.fm:图表计算、A/B测试,user profile分析,cookie级的报表处理 Lineberger Comprehensive Cancer Center:癌症相关的研究,使用SeqWare LinkedIn:这人你可能认识 The New York Times PARC:分析Wikipedia里的冲突 Pressflip:个性化搜索,训练SVM模型 Yahoo!:

6、4000 nodes(2*4cpu boxes w 4*1TB disk&16GB RAM)优酷土豆 More on http:/wiki.apache.org/hadoop/PoweredBy Goals of HDFS 大数据集存储大数据集存储 10K nodes,100 million files,10 PB 应付硬件故障应付硬件故障 用文件多副本应付故障问题 故障自动检测和恢复 更适合批量处理更适合批量处理 搬移计算比搬移数据更廉价 数据一次写入,多次读取 更注重数据读取的高吞吐量,而不是低延时 适应复杂的硬件及软件平台适应复杂的硬件及软件平台The File System 一个集群只

7、有一个一个集群只有一个Namespace 跟跟Unix的文件系统的文件系统Namespace很相似,不过不支持很相似,不过不支持Hard link、Soft link 文件分块存储文件分块存储 一般一块大小为64M,可配置 每块会被复制在多个DataNode上 支持回收站支持回收站 当一个文件被删除时会先放入用户下的回收站 回收站会被定期清除 恢复的方式是将文件从回收站移出NameNode MetadataMeta-data 存在内存中存在内存中 整个Meta-data放入主内存 No demand paging of meta-dataMeta-data记录了记录了 文件列表信息 每个文件的

8、块列表 每个块对应的DataNode 文件属性,如创建时间、创建者、几份副本等Transaction Log(EditLog)记录了文件系统的每个变化,如创建文件、删除文件、修改文件的副本数等 EditLog会被合并为FsImage并存入磁盘Meta-data 磁盘故障磁盘故障 NameNode可以维护多份数据DataNode A Block Server 将数据存储本机文件系统(e.g.ext3)存储数据块的Meta-data(e.g.CRC,ID)汇报汇报 启动时向NameNode注册本地存储的文件块定期向NameNode报告本机存活(心跳)数据输送数据输送 接收来自客户端的写数据 向客户

9、端发送数据将数据传输到指定的 DataNodesBlock Replica Placement 机架感知机架感知 NameNode能感知机架,选择较优的方式 假设有假设有3份或以上,目前的策略是份或以上,目前的策略是 一份放在本地节点上 第二份放在另外一个机架的节点上 第三份放在跟第二份同机架的不同节点上 其他的随机放置 客户端从最近的块读取客户端从最近的块读取Data Correctness 用用CRC32来做数据校验来做数据校验 Use CRC32 文件写入文件写入 由客户端负责计算CRC checksum存放在DataNode 文件读取文件读取客户端从DataNode读取数据和check

10、sum由客户端校验,如果不通过,则客户端尝试从其他的副本读取数据FS Shell FS hadoop fs-mkdir/foodir hadoop fs-rmr/foodir hadoop fs-cat/foodir/myfile.txt hadoop fs-tail/foodir/myfile.txt Chmod,chown,put,mv,cp,du,dus 更多命令请运行 hadoop fs help获取 DFSAdmin Safemode,upgradeProgress,refreshNodes,fsck 文件系统检查 Balancer 集群均衡Web UIMap-reduce Prog

11、ramming Paradigm Map-reduce是一种适合分布式计算的编程范式 input|map|shuffle|reduce|output 最简单的实现方式 cat*|grep java|sort|uniq-c|cat file 实现这种编程范式的有 Google Hadoop Oracle Teradata Hadoop Map/Reduce(input)-map-combine*-reduce-(output)combine 过程可能没有,也可能有多次WordCount (周敏Taobao)The weather is goodThis guyis a manToday is g

12、oodGood manis goodthe 1weather 1is 1good 1today 1is 1good 1this 1guy 1is 1a 1man 1good 1man 1is 1good 1a 1 good 1good 1good 1good 1man 1man 1the 1weather 1today 1guy 1is 1is 1is 1is 1this 1a 1good 4guy 1is 4man 2the 1this 1today 1weather 1WordCount Mapperpublic static class WordCountMapper extends M

13、apper private final static IntWritable ONE=new IntWritable(1);private Text word=new Text();protected void map(LongWritable key,Text value,Context context)throws IOException,InterruptedException StringTokenizer itr=new StringTokenizer(value.toString();while(itr.hasMoreTokens()word.set(itr.nextToken()

14、;context.write(word,ONE);WordCount Reducer public static class IntSumReducer extends Reducer private IntWritable result=new IntWritable();public void reduce(Text key,Iterable values,Context context )throws IOException,InterruptedException int sum=0;for(IntWritable val:values)sum+=val.get();result.se

15、t(sum);context.write(key,result);WordCount Job Setup public static void main(String args)throws Exception String otherArgs=new GenericOptionsParser(conf,args).getRemainingArgs();if(otherArgs.length!=2)System.err.println(Usage:wordcount );System.exit(2);Job job=new Job(new Configuration(),word count)

16、;job.setJarByClass(WordCount.class);/设置输入 job.setInputFormatClass(TextInputFormat.class);FileInputFormat.addInputPath(job,new Path(otherArgs0);/Map job.setMapperClass(WordCountMapper.class);/Combine job.setCombinerClass(IntSumReducer.class);/Reduce job.setReducerClass(IntSumReducer.class);job.setOut

17、putKeyClass(Text.class);job.setOutputValueClass(IntWritable.class);/设置输出 FileOutputFormat.setOutputPath(job,new Path(otherArgs1);/提交Job并执行 System.exit(job.waitForCompletion(true)?0:1);Inject Points Input job.setInputFormatClass()Map job.setMapperClass()Combine*job.setCombinerClass()Shuffling job.set

18、PartitionerClass()Sort job.setSortComparatorClass()Grouping job.setGroupingComparatorClass()Reduce job.setReducerClass()Output job.setOutputFormatClass()Job Tracker&Task Tracker Job&Task 一个Job会被分成多个Task执行 一个Task对应一个Map或者Reduce Job Tracker 运行在Master上,管理和跟踪每个Job 收集Task的信息状态,并汇总 重新调度失败的任务 Task Tracker

19、向Job Tracker汇报状态(心跳)运行在每个计算节点上,管理和跟踪每个Task 收集task的信息,并提供给Job Tracker FIFO 先到先得,排队执行 Fair Scheduler(公平调度器)(公平调度器)它的目的是让所有的作业随着时间的推移,都能平均的获取等同的共享资源。按资源池(pool)来组织作业,并把资源按配置分到这些资源池里 http:/hadoop.apache.org/common/docs/r0.20.2/fair_scheduler.html Capacity Scheduler(容量调度器)(容量调度器)支持多个支持多个queue,每个,每个Job提交到一

20、个提交到一个queue里里 支持内存调度,对于需要高内存的任务,调度到有足够内存的节支持内存调度,对于需要高内存的任务,调度到有足够内存的节点点 http:/hadoop.apache.org/common/docs/r0.20.2/capacity_scheduler.htmlJob ShedulerJob Scheduler Web UIJob Shell hadoop job kill hadoop job list hadoop job-set-priority hadoop job-status hadoop job-kill-task hadoop job-fail-task Jo

21、b Web UIHiveSelect COUNT(DISTINCT guid)as uv from youku_pv;Hadoop Next Generation NameNode单点故障 YARN Resource Manager Job Scheduling/monitoring Application Submission Client ApplicationMaster New Programming Paradigm MPI Master-Worker Iterative models“Customize”by yourselfHadoop Next Generation Archi

22、tecture网站广告无线搜索播放器分布式日志收集系统HADOOP HDFSHBASEHIVE统计分析统计分析运营分析用户分析数据开放平台数据挖掘数据挖掘相关推荐个性化推荐精准广告MAP-REDUCE大数据批量计算系统分布式实时计算系统分布式实时数据流处理系统反作弊系统调度系统接口系统监控广告计数播放计数计数计数/监控监控作弊监测PlayLog记录个性化推荐准实时计算准实时计算优酷数据平台优酷数据平台V2优酷推荐系统优酷推荐系统指数&VideoProfile演示指数Resources Hadoop http:/hadoop.apache.org/http:/hive.apache.org/http:/pig.apache.org/http:/hbase.apache.org/http:/zookeeper.apache.org/Hadoop World http:/ Hadoop:The.Definitive.Guid 3rd Hadoop实战 Hadoop权威指南 hadoop开发者杂志Thanks

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!