HDFS:
管理者NameNode作用: (1) 负责管理集群内各个节点
(2) 负责管理整个 文件系统的元数据(描述数据的索引),名字空间,目录树的维护
辅助者secondaryNameNode作用: (1) 负责辅助NameNode管理工作
(2) 辅助NameNode管理元数据信息
工作者DataNode作用: (1) 负责工作 进行数据的读写,周期向NameNode汇报
(2) 负责管理用户的文件数据块
(3)负责数据的读写(响应的是客户端)
(4)周期向NameNode做心跳报告 (节点是否可用、数据是否丢失、校验和)10分钟没有心跳NameNode认为该节点宕机。 每三秒发送一次心跳报告
(5)负责数据的流水线复制(一点一点复制)
NameNode的三大作用
- 维护、管理HDFS的目录数-元数据-名字空间
- 确定指定的文件块到具体的Datanode结点的映射关系。
- 维护、管理工作者的心跳信息
HDFS数据副本机制
- 第一份数据来源于用户的客户端
- 第二份数据存放在与第一份副本在同一个机架,不同的节点,按照一定的机制(cpu 内存 io 使用率和节点磁盘剩余容量)选取一个节点进行存放
- 第三份副本存放在,与第一第二副本不在同一机架,且逻辑距离最近的机架上,按照一定的机制(cpu 内存 io 使用率和节点磁盘剩余容量),选择一个节点进行存放
Yarn
管理者:ResourceManager
工作者:NodeManager
HDFS使用场景:海量数据的存储
HDFS可用的总容量是集群中所有节点的综合,HDFS目录下的数据在任何一个节点都可以使用或访问
hdfs中默认的数据块切分大小是128M,128直至 一个数据切分的分界线,若上传数据超过128M,那么对数据进行切分。若小于128,有多大上传多大,数据块就是多大。
MapReduce
作用: (1) 数据划分和计算任务调度
(2) 数据/代码互定位
(3) 系统优化
(4) 出错检测和恢复: