https://www.cnblogs.com/Java-Starter/p/9827591.html
HDFS的文件被分成块(Block)进行存储,HDFS块默认大小是64MB,块是整个文件存储处理的逻辑单元
HDFS中有两类节点NameNode和DataNode
namenode:
是管理节点,存放文件元数据
元数据包含两个部分:
文件与数据块的映射表
数据块与数据节点的映射表
datanode:
是hdfs的工作节点,存放数据块
1.每个数据保留三份,两份存储在一台机器上,另外一份存储在另一台机器上。确保数据安全可靠
2.心跳检测
DataNode定期向NameNode发送心跳检测,是否宕机,挂掉,作为安全检测;
3.二级NameNode
当NameNode挂掉SecondaryNameNode会替代其位置
2.3 HDFS读取文件流程
客户端发送文件读请求——>namenode返回元数据(从哪些datanode找到)——>客户端读取block,下载下来之后组装;
客户端文件拆分成block——>通知namenode返回可用的、有足够磁盘空间的datanode——>客户端对block进行写入——>流水线复制——>更新元数据 ;
原文:https://www.cnblogs.com/Java-Starter/p/9842631.html