Hadoop

  • Hadoop
  • 1 Hadoop
  • 2 HDFS
  • 3. MapDeduce


Hadoop

1 Hadoop

  1. 开源的分布式存储+分布式计算平台
  2. 核心组件:HDFS:分布式文件系统,存储海量数据。MapReduce:并行处理框架,实现任务分解和调度。
  3. 搭建大型数据仓库,PB级数据的存储,处理,分析,统计等业务。
  4. 优势:高扩展,低成本,成熟的生态圈。
  5. hive:将sql语句转成hadoop任务去执行,降低hadoop的门槛。
  6. hbase:存储结构化数据的分布式数据库。放弃了事务特性,追求更高的扩展。提供了数据的随机读写和实时访问,实现了对表数据的读写功能。
  7. zookeeper:监控hadoop集群里面每个节点的状态。管理整个集权的配置。维护节点之间的一致性。

2 HDFS

  1. hadoop的文件系统
  2. 块 - 文件被分成块存储,默认大小64M,是文件存储处理的逻辑单元
  3. 节点
  1. nameNode:管理节点,存放文件元数据。文件和数据库的映射表,数据库与数据节点的映射表。
  2. dateNode:工作节点,存放数据块。
  1. 数据管理策略:
  1. 每个数据块3个副本,分布在两个机架内的三个节点。
  2. 心跳检测 DataNode定期向NameNode发送心跳信息。
  3. 二级NameNode定期同步元素据映像文件和修改日志,NameNode发生故障时,备胎转正。
  1. HDFS读
  1. 客户端向NameNode发起读写请求,NameNode查询元数据。
  2. DataNode读取Blocks
  1. HDFS写
  1. 客户端文件拆分为Bolcks ,通知NameNode找到并返回在线的,有磁盘空间的DataNode
  2. 写入DataNode,并复制备份,最后更新元数据。
  1. 特点:
  1. 数据冗余,实现硬件容错。
  2. 流式数据访问,一次写入多次使用,一旦写入无法修改。
  3. 适合存储大文件。
  4. 适合一次写入多次读取,顺序读写。
  5. 不支持多用户并发写相同文件。

3. MapDeduce

  1. 分而治之,将一个大任务分成多个小的子任务(map),并行执行后,合并结果(reduce)
  2. 运行流程
  1. Job & Task :
  1. JobTracker 作业调度,分配任务,监控任务执行进度。(Reduce端)
  2. TaskTracker 执行任务,汇报任务状态。(Map端)
  1. 容错机制
  1. 重复执行 4次
  2. 推测执行 对执行慢的在创建一个同样执行 谁快用谁 谁慢停谁。