2021/8/14

Hadoop Distributed File System 分布式文件系统
优点

高可用, 快速自动恢复发生错误的节点, 保证数据拷贝设定的副本数量
高吞吐, 流式访问数据集,批处理而非交互, 延迟高
数据块存储, 默认128M/块,可修改
数据一致性, 一写多读,可追加不可修改
移动计算比移动数据划算, 将计算任务移动至最近的数据
通过namenode统一管理,维护目录树和文件的块id和datanode节点地址
支持元数据快照, 将失效集群回滚到之前的时间点
提供web接口, 统一从根目录出发

工作原理

客户端与namenode通信获取可写入的datanode地址
客户端按块传递给相应datanode
完成第一个节点写入后,datanode负责向其他节点拷贝副本
客户端发送读取文件路径给namenode
namenode返回文件元数据给客户端
客户端根据元数据找到相应datanode按块读取合并整个文件
secondary namenode定期完成namenode的备份,用于恢复元数据
datanode负责存储数据,定期发送心跳给namenode判断是否正常工作,错误则由namenode重新分配新的节点并进行数据拷贝

2. Yarn

Yet Another Resource Negotiator 另一个资源协调器
通用资源管理系统, 为上层应用提供统一的资源管理和调度
将JobTracker和TaskTracker分离, 由ResourceManager管理全局资源,NodeManager管理各个节点, 应用是ApplicationMaster表示,一个应用拥有多个容器在节点管理器上运行

3. MapReduce

用于大规模数据集并行运算的编程模型
map端, 根据InputFormat分割文件为多个splits,一个split作为一个输入, 每个map task存在一个环形内存缓冲区, 中间结果写入缓冲区至阈值后启动一个线程将溢出数据写入磁盘. 对key进行快排, 多个溢写文件最后会合并为一个文件,等待下一步处理
reduce端, 等待map端全部任务完成, 形成多个文件, 默认按key的哈希值分配reduce task, 对Key进行归并排序, reduce端处理后,将输出写入HDFS

posted @ 2021-08-14 20:36  小强哥in  阅读(50)  评论(0编辑  收藏  举报