- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
写MapReduce程序的步骤: 1.把问题转化为MapReduce模型 2.设置运行的参数 3.写map类 4.写reduce类 例子:统计单词个数 MapReduce模型 1.Map端 一行行读文件,程序转化为中间Key/Value. My name is liu gang -My 1,name 1, is 1, liu 1, gang 1 What is your name -What 1, is 1, your 1 name 1 2.Reduce端 相同的key肯定会在一起。经过Reduce方法处理后, 形成最终的key/Value. name 1,name 1-name 2; 运行步骤 1)打成jar包。 2)创建一个word.txt文件 3)把word.txt文件传到HDFS上面 hadoop fs –copyFromLocal localsrc HDFS 4)执行hadoop jar jar名 完整的类名 5)查看执行结果 hadoop fs –text /path MapReduce执行流程 MapReduce基本流程 JobTracker(JT)和TaskTracker(TT)简介 再论JobTracker(JT)和TaskTracker(TT) JobTracker:协作作业的运行 taskTracker:运行作业划分后的任务 Mapreduce原理 1)一个文件file.txt 2)存储file.txt文件 3) 统计file.txt文件里面”Refund”个数 JobTracker失败 1)JobTracker失败在所有的失败中是最严重的一种。 2)hadoop没有处理jobtracker失败的机制。--它是一个单点故障。 3)在未来的新版本中可能可以运行多个JobTracker。 4)可以使用ZooKeeper来协作JobTracker。 TaskTracker失败 1)一个TaskTracker由于崩溃或运行过于缓慢而失败,它会向JobTracker发送“心跳”。 2)如果有未完成的作业,JobTracker会重新把这些任务分配到其他的TaskTracker上面运行。 3)即使TaskTracker没有失败也可以被JobTracker列入黑名单。 Hadoop Job Scheduler 1)Hadoop默认的调度器是基于队列的FIFO调度器。 所有用户的作业都被提交到一个队列中,然后由JobTracker先按照作业的优先级高低,再按照作业提交时间的先后顺序选择将被执行的作业。优点: 调度算法简单明了,JobTracker工作负担轻。缺点: 忽略了不同作业的需求差异。 2)还用两个多用户调度器 --Fair Scheduler(公平调度器) --Capacity Scheduler(计算能力调度) Fair Scheduler(公平调度器) 多个Pool,Job需要被提交到某个Pool中 每个pool可以设置最小 task slot,称为miniShare FS会保证Pool的公平 Pool内部支持Priority设置 支持资源抢占 mapreduce的类型与格式 Hadoop 0.20.x之前的API Hadoop的MapReduce中,map和reduce函数遵循如下常规格式: map: (K1, V1) → list(K2, V2) reduce: (K2, list(V2)) → list(K3, V3) Mapper的接口: public interface MapperK1, V1, K2, V2 extends JobConfigurable, Closeable { void map(K1 key, V1 value, OutputCollectorK2, V2 output, Reporter reporter) throws IOException; } Reduce的接口: public interface ReducerK2, V2, K3, V3 extends JobConfigurable, Closeable { void reduce(K2 key, IteratorV2 values, OutputCollectorK3, V3 output, Reporter reporter) throws IOException; } //outputCollector 是为了输出key/value对, //Repo
文档评论(1)