Hadoop数据分析平台 第4周


DATAGURU专业数据分析网站 2012.9.10 Hadoop数据分析平台 第4周 DATAGURU专业数据分析网站 2012.9.10 Map-Reduce编程模型 2 DATAGURU专业数据分析网站 2012.9.10 没有reduce的简单编程模型 3 DATAGURU专业数据分析网站 2012.9.10 复杂的编程模型 4 DATAGURU专业数据分析网站 2012.9.10 Mapper  Map-reduce的思想就是“分而治之”  Mapper负责“分”,即把复杂的任务分解为若干个“简单的任务”执行  “简单的任务”有几个含义:1 数据或计算规模相对于原任务要大大缩小;2 就近计算 ,即会被分配到存放了所需数据的节点进行计算;3 这些小任务可以并行计算,彼此间 几乎没有依赖关系 5 DATAGURU专业数据分析网站 2012.9.10 Reducer  对map阶段的结果进行汇总  Reducer的数目由mapred-site.xml配置文件里的项目mapred.reduce.tasks决定。缺 省值为1,用户可以覆盖之 6 DATAGURU专业数据分析网站 2012.9.10 Shuffler  在mapper和reducer中间的一个步骤(可以没有)  可以把mapper的输出按照某种key值重新切分和组合成n份,把key值符合某种范围的 输出送到特定的reducer那里去处理  可以简化reducer过程 7 DATAGURU专业数据分析网站 2012.9.10 M-R的现实例子 8 DATAGURU专业数据分析网站 2012.9.10 例子:mapper 9 DATAGURU专业数据分析网站 2012.9.10 例子:reducer 10 DATAGURU专业数据分析网站 2012.9.10 例子:运行mapper和reducer 11 DATAGURU专业数据分析网站 2012.9.10 例子:流程原理图 12 DATAGURU专业数据分析网站 2012.9.10 网络界面:http://192.168.1.102:50030/jobtracker.jsp 13 DATAGURU专业数据分析网站 2012.9.10 作业页面 14 DATAGURU专业数据分析网站 2012.9.10 作业页面 15 DATAGURU专业数据分析网站 2012.9.10 任务页面 16 DATAGURU专业数据分析网站 2012.9.10 观看参数列表 17 DATAGURU专业数据分析网站 2012.9.10 观看参数列表 18 DATAGURU专业数据分析网站 2012.9.10 性能调优  究竟需要多少个reducer?  输入:大文件优于小文件  减少网络传输:压缩map的输出  优化每个节点能运行的任务数:mapred.tasktracker.map.tasks.maximum和 mapred.tasktracker.reduce.tasks.maximum (缺省值均为2) 19 DATAGURU专业数据分析网站 2012.9.10 Map-Reduce工作机制剖析 20 DATAGURU专业数据分析网站 2012.9.10 调度机制  缺省为先入先出作业队列调度  支持公平调度器  支持容量调度器 21 DATAGURU专业数据分析网站 2012.9.10 任务执行优化  推测式执行:即如果jobtracker发现有拖后腿的任务,会再启动一个相同的备份任务, 然后哪个先执行完就会kill去另外一个。因此在监控网页上经常能看到正常执行完的作 业有被kill掉的任务  推测式执行缺省打开,但如果是代码问题,并不能解决问题,而且会使集群更慢,通 过在mapred-site.xml配置文件中设置mapred.map.tasks.speculative.execution和 mapred.reduce.tasks.speculative.execution可为map任务或reduce任务开启或关闭 推测式执行  重用JVM,可以省去启动新的JVM消耗的时间,在mapred-site.xml配置文件中设置 mapred.job.reuse.jvm.num.tasks设置单个JVM上运行的最大任务数(1,>1或-1表 示没有限制)  忽略模式,任务在读取数据失败2次后,会把数据位置告诉jobtracker,后者重新启动 该任务并且在遇到所记录的坏数据时直接跳过(缺省关闭,用SkipBadRecord方法打 开) 22 DATAGURU专业数据分析网站 2012.9.10 错误处理机制:硬件故障  硬件故障是指jobtracker故障或tasktracker故障  jobtracker是单点,若发生故障目前hadoop还无法处理,唯有选择最牢靠的硬件作为 jobtracker  Jobtracker通过心跳(周期1分钟)信号了解tasktracker是否发生故障或负载过于严重  Jobtracker将从任务节点列表中移除发生故障的tasktracker  如果故障节点在执行map任务并且尚未完成,jobtracker会要求其它节点重新执行此 map任务  如果故障节点在执行reduce任务并且尚未完成,jobtracker会要求其它节点继续执行 尚未完成的reduce任务 23 DATAGURU专业数据分析网站 2012.9.10 错误处理机制:任务失败  由于代码缺陷或进程崩溃引起任务失败  Jvm自动退出,向tasktracker父进程发送方错误信息,错误信息也会写入到日志  Tasktracker监听程序会发现进程退出,或进程很久没有更新信息送回,将任务标记为 失败  标记失败任务后,任务计数器减去1以便接受新任务,并通过心跳信号告诉jobtracker 任务失败的信息  Jobtrack获悉任务失败后,将把该任务重新放入调度队列,重新分配出去再执行  如果一个任务失败超过4次(可以设置),将不会再被执行,同时作业也宣布失败 24 DATAGURU专业数据分析网站 2012.9.10 Hadoop命令大全 25 DATAGURU专业数据分析网站 2012.9.10 Hadoop API大全 26 DATAGURU专业数据分析网站 2012.9.10 审计日志 把log4j.properties配置文件中的 log4j.logger.org.apache.hadoop.fs.FSNamesystem.audit=WARN 改为“INFO”可以打开审计日志。每个HDFS事件都会在namenode的log中写入一行记 录 27 DATAGURU专业数据分析网站 2012.9.10 Namenode日志 28 DATAGURU专业数据分析网站 2012.9.10 监控日志  调整log4j日志级别:在监控网页的url后 加上/logLevel 29 DATAGURU专业数据分析网站 2012.9.10 第三方工具  Ganglia  Chukwa  Openstack 30 DATAGURU专业数据分析网站 FAQ时间 31
还剩30页未读

继续阅读

下载pdf到电脑,查找使用更方便

pdf的实际排版效果,会与网站的显示效果略有不同!!

需要 3 金币 [ 分享pdf获得金币 ] 0 人已下载

下载pdf

pdf贡献者

风颖尘

贡献于2014-08-14

下载需要 3 金币 [金币充值 ]
亲,您也可以通过 分享原创pdf 来获得金币奖励!
下载pdf