ITPub博客

首页 > Linux操作系统 > Linux操作系统 > Hadoop Map Reduce 漫谈

Hadoop Map Reduce 漫谈

原创 Linux操作系统 作者:leonarding 时间:2012-09-22 12:32:48 0 删除 编辑
引言:hadoop是目前行业中应用最广的分布式存储系统,它可以用廉价很多台烂机器搭建起大规模的集群系统,通常处理上TB级的数据那是小case,著名应用有google pagerank 计算,腾讯QQ空间日志分析处理,英特尔hadoop云计算平台。下面我就简单的聊聊map reduce的那些事。

1. Map Reduce 基础架构
答: Map/Reduce是一个简单实用的软件框架,是为处理复杂事物而诞生的,它能够把一个复杂的事物拆分成诺干个简单的事物,分布在上千个机器上并行执行,然后把结果汇总到几台机器进行reduce处理,最终返回给客户端。

2. Map Reduce 作业
答:Map Reduce job 是由task组成的,在master节点上有jobtracker作业跟踪器,它负责整个集群的task调度,当创建一个job后,会分成诺干个task并且分布到不同的slave上tasktracker任务跟踪器去执行,jobtracker会监控所有tasktracker执行状态,当有失败task会触发容错机制重新执行,tasktracker只接收jobtracker指派的任务。

namenode:拥有jobtracker且仅有一个
datanode:拥有tasktracker且仅有一个

3. Map Reduce 特点
Map的数目通常是由输入数据块的大小决定的,例如 你有1TB数据,每个数据块64MB,那么你将需要16384个Map
Reducer有3个主要阶段:shuffle、sort和reduce

shuffle 洗牌:shuffle是用来接收map输出的数据,并对数据进行预处理,目的减少计算量,使reduce过程更快,例如合并 key值

sort 排序:对合并好的key值进行排序

reduce 汇总:对排序好的key值进行汇总结果,reduce的输出是没有排序

Reduce数目公式0.95或1.75乘以*node数
0.95 可以在map输出数据之后就进行汇总工作
1.75 速度快的节点可以在完成第一轮reduce任务后,可以开始第二轮,这样可以得到比较好的负载均衡效果
小结:reduce数目越多,集群负载越大,但会改善均衡负载的效果,降低任务失败的风险

Leonarding
2012.9.22
天津&autumn
分享技术~成就梦想
Blog:http://space.itpub.net/26686207

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26686207/viewspace-744795/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
刘盛,网名leonarding,the first ACEA in china, Oracle OCM10g&11g RHCE, ACOUG Core Member Blogger, DATAGURU Oracle数据库版主, ITPUB HADOOP版版主, DB2中国专家组成员, 专注于&Oracle&Hadoop&Nosql&SAS, 提倡“分享技术~成就梦想”, 新浪微博:@itpub_leonarding QQ:40354446

注册时间:2012-02-10

  • 博文量
    238
  • 访问量
    3240589