博主自己学习hdfs的一些笔记,整理了一下(有什么不懂的可以问我。尽量解答,希望对大家有帮助)
Hadoop组成
Hadoop HDFS:一个高可靠、高吞吐量的分布式文件系统,对海量数据的存储。
Hadoop MapReduce:一个分布式的资源调度和离线并行计算框架。
Hadoop Yarn:基于HDFS,用于作业调度和集群资源管理的框架。
Hadoop Common:Hadoop工具包,支持其他模块的工具模块(Configuration、RPC、序列化机制、日志操作)
hadoop 的组成部分
- List item
HDFS 分布式文件存储系统
管理者:NameNode
工作者:DataNode
辅助者:SecondayNameNode
MapReduce 分布式离线计算框架
Yarn Hadoop资源调度器
管理者:ResourceManager
工作者:NodeManager
HDFS数据副本机制
1、第一份数据来源于用户的客户端
2、第二份数据存放在与第一份副本在同一个机架,不同的节点,按照一定的机制(cpu 内存 io 使用率和节点磁盘剩
余容量)选取一个节点进行存放
3、第三份副本存放在,与第一第二副本不在同一机架,且逻辑距离最近的机架上,按照一定的机制(cpu 内存 io 使
用率和节点磁盘剩余容量),选择一个节点进行存放
hadoop 视硬件设备经常损坏为常态,为了防止硬件损坏导致系统不可用,所
以构建多副本机制。
Namenode作用
对存放的元数据,名字空间,目录树进行管理维护
监控datanode的心跳信息
确定指定文件到datanode的映射关系
响应客户端的所有请求
客户端和dataname交流之间的桥梁
DataNode作用
响应客户端的读写操作
周期性的向namenode发送自己的心跳信息,namenode 如果10分钟没有接受到该节点的心跳报告,认为该节点lost
数据的流水线复制(一点一点的复制)
以 block的形式存储在hdfs中
机架感知
是一个脚本,记录着主机ip与交换机之前的对应关系
.告诉hadoop集群那台机器属于那台机架
NameNode分配节点的时候,会用到机架感知
HDFS文件读写流程(博主前面写了一篇,点超链接吧)
HDFS数据完整性计算(保证数据的完整性)
数据写入之后进行数据首次校验,文件系统周期性进行校验,防止数据丢失。
读取数据之前进行数据校验,若