hadoop:Hadoop的基本结构介绍来源: 发布时间:星期四, 2009年2月12日 浏览:205次 评论:0
概述: 这是我看了Hadoop core 0.17.0文档只有做些整理总结有不对地方请给我指出 什么是Hadoop? Hadoop是个用于运行应用在大型集群廉价硬件设备上框架Hadoop为应用透明提供了组稳定/可靠接口和数据运动在Hadoop中实现了GoogleMapReduce算法它能够把应用分割成许多很小工作单元每个单元可以在任何集群节点上执行或重复执行此外Hadoop还提供个分布式文件系统用来在各个计算节点上存储数据并提供了对数据读写高吞吐率由于应用了map/reduce和分布式文件系统使得Hadoop框架具有高容错性它会自动处理失败节点 Hadoop项目组成 Hadoop core 主要子项目提供分布是文件系统(HDFS)和支持MapReduce计算 HBase 建立在Hadoop Core 基础上分布是数据库 我只研究Hadoop core功能和实现不涉及HBase MapReduce介绍 这是Hadoop核心 思想 就是做个计算如果计算过程中如果数据传输消耗资源大于计算消耗资源考虑在计算过程中将算法()移动到数据存放服务器中再进行计算 思想 2 在做个巨型计算时利用多台(例如2000)台服务器cpu和内存同时计算 将计算要用数据切分放在各个服务器上然后将计算分发到各个服务器计算出各个部分结果最后将各个计算结果合并 另外种描述为MapReduce名字源于这个模型中两项核心操作:Map和 Reduce也许熟悉Functional Programming(式编程)人见到这两个词会倍感亲切简单说来Map是把组数据对映射为另外组数据其映射规则由个来指定比如对[1, 2, 3, 4]进行乘2映射就变成了[2, 4, 6, 8]Reduce是对组数据进行归约这个归约规则由个指定比如对[1, 2, 3, 4]进行求和归约得到结果是10而对它进行求积归约结果是24 我觉得意思是差不多 总来说算法必须可以切分包含小列步骤 切分、分别计算、合并 最典型是大规模日志计算 Hadoop文件系统(HDFS) MapReduce算法需要切分数据HDFS设计为将大文件分别部署到各个服务器主要有下列特性: 1. 冗余存储默认任何文件保留3个备份(考虑到部署在区别机架情况)保证了服务器失效时不丢失数据即使个机架全部断电或者烧毁数据依然健壮存在 2. 大文件分块分散在各个服务器上存储 0
相关文章读者评论发表评论 |
|