- HDFS对文件分割后进行存放
- HDFS将要存储的大文件进行分割,分割后存储在既定的存储快中,并通过预先设定的优化处理,
- 一个HDFS集群包括两大部分NameNode与DataNode(一个NameData与多个DataNode)。
- NameNode是集群的主服务器,主要用于对HDFS中所有文件及内容数据进行维护,并不断读取记录集群中DataNode主机情况与工作状态,并通过读取与写入镜像文件的方式进行存储。
- DataNode在HDFS集群中担任任务具体执行角色,是集群的工作节点。文件分成若干个大小相同的数据块,分别存储在若干个DataNoide上,DataNode会定期向集群内NameNode发送自己的运行状态与存储内容,并根据NameNode发送的指令进行工作。
- NameNode负责接受客户端发送过来的信息,然后将文件存储位置信息发送给提交请求的客户端,有客户端直接与DataNode进行联系,从未进行部分文件的运算与操作。
- Block是HDFS的基本存储单元,默认为128M。
- HDFS还可以对已存储的Block进行多副本备份,将每个Block至少复制到3个相互独立的硬件上,这样可以快速恢复损坏的数据。
- 用户可以使用既定的API接口对HDFS文件进行操作
- 当客户端的读取操作发生错误的时候,客户端会向NameNode报告错误,并请求NameNode将排除错误的DataNode重新根据距离排序,从而获得一个新的DataNode读取路径。如果所有的DataNode都报告读取失败,name整个任务就读取失败。
- 对于写出操作过程中出现错误,FSDataOutputStream并不会立即关闭。客户端向NameNode报告错误信息,并直接向提供备份的DataNode中写入数据。备份DataNode被升级为首选DataNode,并在其余2个DataNode中备份复制数据。NameNode对错误的DataNode进行标记以便后续对其进行处理。
HDFS的存储机制
最新推荐文章于 2024-04-14 19:24:30 发布