首页 > 编程知识 正文

分布式文件系统 HDFS

时间:2023-05-06 15:43:50 阅读:41461 作者:4471

文章目录分布式文件系统HDFS 2.x方案数据副本的放置策略心跳机制数据完整性HDFS的特点HDFS读取数据原理HDFS写入数据原理介绍HDFS读取/写入故障处理

分布式文件系统介绍普通文件系统只需单个计算机节点即可保存和处理文件。 单个计算机节点由处理器、内存、缓存和本地磁盘组成的分布式文件系统将文件分布存储在多台计算机上,构成计算机集群,群集中的节点全部由普通硬件组成,由

分布式文件系统物理上由计算机群集中的多个节点组成,这些节点位于一类叫 “主节点” (Master Node) 或者也被称为 “名称节点” (NameNode), 另一类叫 “从节点” (Slave Node)或者也被称为 “数据节点” (DataNode)

HDFS 2.x体系结构

NameNode执行有关文件系统命名空间的操作,例如打开、关闭和重命名文件和目录。 也负责集群元数据的存储,负责记录文件中各数据块的位置信息的DataNode维护块的信息、文件系统客户端的读写请求的提供、块创建的执行, 通过删除等操作,DataNode同时向两个NameNode报告块信息ActivateNameNode将EditsLog文件写入日志节点服务器StandbyNameNode,从日志节点服务器

Hadoop旨在在廉价的机器上运行,这意味着硬件不可靠。 为了确保容错能力,HDFS提供了数据复制机制。 HDFS将每个文件拆分为一系列Block 块,并将其分布在不同的节点上。 每个块的多个拷贝都有保证的容错能力,并且块的大小和拷贝数默认为12220个块

HDFS通常分布在多个机架的多个服务器上,不同机架的两台服务器之间通过交换机进行通信。 HDFS使用机架感知副本放置策略,因为同一机架中的服务器之间的网络带宽通常大于不同机架中的服务器之间的带宽。 此策略减少了机架之间的写入流量。 如果写入性能提高拷贝数为3,则如果写入程序位于DataNode中,则将第一个拷贝优先放置在该DataNode中。 不随机横放在一台DataNode上将第二个副本放在另一个机架的节点上,第三部分放在与第二个副本相同机架的不同节点上,每个DataNode心跳机制定期向NameNode发送心跳信息, 如果NameNode在超过指定时间后仍未收到心跳消息,则将DataNode标记为死亡NameNode会将新的IO请求转发到标记为死亡的DataNode,或者由于DataNode不再可用而导致这些DataNode 因此,某些块的副本数量可能小于指定的值。 NameNode将跟踪这些块。 如果需要,由于重新复制数据完整性的存储设备出现故障等原因,存储在重新DataNode中的数据块也会损坏。 为了保证数据的完整性,HDFS在客户端创建HDFS文件时计算文件中每个块的校验和。 将校验和保存到同一HDFS命名空间下的另一个隐藏文件中。 当客户端获取文件内容时,它将验证从每个DataNode接收的数据的校验和是否匹配。 如果匹配失败,将证明文件已损坏。 此时,客户端选择从其他DataNode获取此块的其他可用副本HDFS。高容错: HDFS采用数据多拷贝方法,因此某些硬件损坏不会导致所有数据丢失。高吞吐量: HDFS专为支持高吞吐量数据访问而设计,大文件支持: HDFS适用于存储大容量文件,文档简单一致性模型: HDFS适用于一次写入多次读取模式。 支持将内容添加到文件末尾,但不支持随机访问数据。 此外,不能从文件的任意位置添加数据跨平台移植性: HDFS。 由于在跨平台上具有良好的可移植性,其他大数据计算框架将它用作读取HDFS的原理,这是数据持久化存储的推荐方案

HDFS写入数据原理

HDFS读写故障处理

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。