hadoop 简介

  • hadoop发展史
Hadoop Apache Lucene创始人Doug Cutting 创建
基于 Nutch开发 本身也是lucence一部分

2004年 Doug Cutting 和Mike Cafarella 实现 HDFS和MapReduce初版

2005年 Nutch移植到新框架 Hadoop再20个节点稳定运行

2006年1月 Doug Cutting 加入雅虎
2006年2月 Apache Hadoop项目正式启动、支持MapReduce和HDFS独立发展
2006年4月 再188节点上(每节点10GB数据)运行排序测试集群需要47.9小时
2006年5月 雅虎建立一个300个节点的Hadoop研究集群
2006年5月 在500个节点运行排序测试集需要42个小时(硬件配置比四月份更优秀)
2006年11月 研究集群增加到600个节点
2006年12月 排序测试集在20个节点上运行1.8个小时、100个节点运行3.3个小时、500个节点运行5.2小时、900个节点需要7.8个小时。

2007年1月 研究集群增加到900个节点
2007年4月 研究集群增加到两个集群1000个节点

2008年4月 在900个节点上运行1TB排序测试集仅需要209秒
2008年10月 研究集群每天装载10TB数据

2009年3月 17个集群共24000个节点
2009年4月 在每分钟排序中胜出、59秒排序500GB(在1400个节点)、173分钟排序100TB数据(在3400节点)

{———-}

  • hadoop简介
大数据处理、应对数据处理出现的新的技术、
底层也就是大名鼎鼎的HDFS文件系统 对数据并发处理有极强的性能

hadoop-wiki

  • hadoop应用场景

    随着数据量的增大、数据量已经到了PB级别、数据的存储也需要更加强大的技术来支持、

  • hadoop组件
namenode节点负责存储目录
datanode节点负责存储数据


Map函数
接受一个键值对(key-value pair),产生一组中间键值对。
MapReduce框架会将map函数产生的中间键值对里键相同的值传递给一个reduce函数。
Reduce函数
接受一个键,以及相关的一组值,将这组值进行合并产生一组规模更小的值(通常只有一个或零个值)。
  • hadoop集群
namenode节点的可靠性
datanode节点的可靠性

让我想到了rocketmq 
nameserver负责存储消息路由订阅消息id 相当于菜单、
broker负责存储消息 相当于菜单下的数据


然后namenode节点的数据统一性? paxos算法?


当然其中会有很多消息的同步刷新异步刷新、消息节点重建、
怎么保证消息的完整性、怎么保证消息不丢失、怎么排序数据可执行性

很多东西、都是一样的、实现方式都是一个东西、也就是实现的代码可能会不同而已
  • hadoop 开发思想

    分而治之、大任务拆分小任务执行

    数据:分片存储、并发调度、结果综合查询

    Job&task、Job&Tracker、Task&Tracker

Job&task
   任务执行

Job&Tracker
   作业调度
   分配任务、监控任务执行调度
   监控taskTracker状态

Task&Tracker
   执行任务
   汇报任务

容错机制
   重复执行
   推测执行