专注于互联网--专注于架构

最新标签
网站地图
文章索引
Rss订阅

首页 »Java教程 » hadoop:Hadoop学习笔记一 简要介绍 »正文

hadoop:Hadoop学习笔记一 简要介绍

来源: 发布时间:星期四, 2009年1月8日 浏览:21次 评论:0
  这里先大致介绍下Hadoop.

  本文大部分内容都是从官网Hadoop上来其中有篇介绍HDFSpdf文档里面对Hadoop介绍比较全面了个系列Hadoop学习笔记也是从这里步进行下来同时又参考了网上很多文章对学习Hadoop中遇到问题进行了归纳整理总结

  言归正传先说下Hadoop来龙去脉谈到Hadoop就不得不提到Lucene和Nutch首先Lucene并不是个应用而是提供了个纯Java高性能全文索引引擎工具包它可以方便嵌入到各种实际应用中实现全文搜索/索引功能Nutch是个应用个以Lucene为基础实现搜索引擎应用Lucene为Nutch提供了文本搜索和索引APINutch不光有搜索功能还有数据抓取功能在nutch0.8.0版本的前Hadoop还属于Nutch部分而从nutch0.8.0开始将其中实现NDFS和MapReduce剥离出来成立个新开源项目这就是Hadoop而nutch0.8.0版本较的以前Nutch在架构上有了根本性变化那就是完全构建在Hadoop基础的上了在Hadoop中实现了GoogleGFS和MapReduce算法使Hadoop成为了个分布式计算平台

  其实Hadoop并不仅仅是个用于存储分布式文件系统而是设计用来在由通用计算设备组成大型集群上执行分布式应用框架

  Hadoop包含两个部分:

  1、HDFS

  即Hadoop Distributed File (Hadoop分布式文件系统)

  HDFS具有高容错性并且可以被部署在低价硬件设备的上HDFS很适合那些有大数据集应用并且提供了对数据读写高吞吐率HDFS是个master/slave结构就通常部署来说在master上只运行个Namenode而在每个slave上运行个Datanode

  HDFS支持传统层次文件组织结构同现有些文件系统在操作上很类似比如你可以创建和删除个文件个文件从个目录移到另个目录重命名等等操作Namenode管理着整个分布式文件系统对文件系统操作(如建立、删除文件和文件夹)都是通过Namenode来控制

  下面是HDFS结构:



  从上面图中可以看出NamenodeDatanodeClient的间通信都是建立在TCP/IP基础的上当Client要执行个写入操作时候命令不是马上就发送到NamenodeClient首先在本机上临时文件夹中缓存Cache这些数据当临时文件夹中数据块达到了设定Block值(默认是64M)时Client便会通知NamenodeNamenode便响应ClientRPC请求将文件名插入文件系统层次中并且在Datanode中找到块存放该数据block同时将该Datanode及对应数据块信息告诉ClientClient便这些本地临时文件夹中数据块写入指定数据节点

  HDFS采取了副本策略其目是为了提高系统可靠性可用性HDFS副本放置策略是 3个副本个放在本节点上个放在同机架中个节点上还有个副本放在另个区别机架中个节点上当前版本hadoop0.12.0中还没有实现但是正在进行中相信不久就可以出来了

  2、MapReduce实现

  MapReduce是Google 项重要技术它是个编程模型用以进行大数据量计算对于大数据量计算通常采用处理手法就是并行计算至少现阶段而言对许多开发人员来说并行计算还是个比较遥远东西MapReduce就是种简化并行计算编程模型它让那些没有多少并行计算经验开发人员也可以开发并行应用

  MapReduce名字源于这个模型中两项核心操作:Map和 Reduce也许熟悉Functional Programming(式编程)人见到这两个词会倍感亲切简单说来Map是把组数据映射为另外组数据其映射规则由来指定比如对[1, 2, 3, 4]进行乘2映射就变成了[2, 4, 6, 8]Reduce是对组数据进行归约这个归约规则由指定比如对[1, 2, 3, 4]进行求和归约得到结果是10而对它进行求积归约结果是24

  有关MapReduce内容建议看看孟岩这篇MapReduce:The Free Lunch Is Not Over!

  好了作为这个系列篇就写这么多了我也是刚开始接触Hadoop篇就是讲Hadoop部署谈谈我在部署Hadoop时遇到问题也给大家个参考少走点弯路

  文章来源:http://www.cnblogs.com/wayne1017/archive/2007/03/18/668768.html

0

相关文章

读者评论

发表评论

  • 昵称:
  • 内容: