Hadoop
- Hadoop
- 1 Hadoop
- 2 HDFS
- 3. MapDeduce
Hadoop
1 Hadoop
- 开源的分布式存储+分布式计算平台
- 核心组件:HDFS:分布式文件系统,存储海量数据。MapReduce:并行处理框架,实现任务分解和调度。
- 搭建大型数据仓库,PB级数据的存储,处理,分析,统计等业务。
- 优势:高扩展,低成本,成熟的生态圈。
- hive:将sql语句转成hadoop任务去执行,降低hadoop的门槛。
- hbase:存储结构化数据的分布式数据库。放弃了事务特性,追求更高的扩展。提供了数据的随机读写和实时访问,实现了对表数据的读写功能。
- zookeeper:监控hadoop集群里面每个节点的状态。管理整个集权的配置。维护节点之间的一致性。
2 HDFS
- hadoop的文件系统
- 块 - 文件被分成块存储,默认大小64M,是文件存储处理的逻辑单元
- 节点
- nameNode:管理节点,存放文件元数据。文件和数据库的映射表,数据库与数据节点的映射表。
- dateNode:工作节点,存放数据块。
- 数据管理策略:
- 每个数据块3个副本,分布在两个机架内的三个节点。
- 心跳检测 DataNode定期向NameNode发送心跳信息。
- 二级NameNode定期同步元素据映像文件和修改日志,NameNode发生故障时,备胎转正。
- HDFS读
- 客户端向NameNode发起读写请求,NameNode查询元数据。
- DataNode读取Blocks
- HDFS写
- 客户端文件拆分为Bolcks ,通知NameNode找到并返回在线的,有磁盘空间的DataNode
- 写入DataNode,并复制备份,最后更新元数据。
- 特点:
- 数据冗余,实现硬件容错。
- 流式数据访问,一次写入多次使用,一旦写入无法修改。
- 适合存储大文件。
- 适合一次写入多次读取,顺序读写。
- 不支持多用户并发写相同文件。
3. MapDeduce
- 分而治之,将一个大任务分成多个小的子任务(map),并行执行后,合并结果(reduce)
- 运行流程
- Job & Task :
- JobTracker 作业调度,分配任务,监控任务执行进度。(Reduce端)
- TaskTracker 执行任务,汇报任务状态。(Map端)
- 容错机制
- 重复执行 4次
- 推测执行 对执行慢的在创建一个同样执行 谁快用谁 谁慢停谁。