搜索

hdfs的设计目标是什么

发布网友 发布时间:2022-04-22 01:07

我来回答

1个回答

热心网友 时间:2022-03-31 20:02

HDFS支持传统的分层文件组织。用户或应用程序可以在这些目录中创建目录并存储文件。文件系统名称空间层次结构与大多数现有文件系统相似;可以创建和删除文件,将文件从一个目录移动到另一个目录,或者重命名文件。HDFS支持用户配额和访问权限。HDFS不支持硬链接或软链接。然而,HDFS体系结构并不排除实现这些特性。
NameNode维护文件系统名称空间。对文件系统名称空间或其属性的任何更改都由NameNode记录。应用程序可以指定HDFS应该维护的文件副本的数量。一个文件的拷贝数称为该文件的复制因子。此信息由NameNode存储。

HDFS的设计目的是在跨机器的大型集群中可靠地存储非常大的文件。它将每个文件存储为一系列块(block)。复制文件的块是为了容错。每个文件都可以配置块大小和复制因子。

除了最后一个块之外,文件中的所有块大小都相同,而用户可以在append和hsync中添加了对可变长度块的支持之后,启动一个新块,而不需要将最后一个块填充到所配置的块大小。

应用程序可以指定文件的副本数量。复制因子可以在文件创建时指定,稍后可以更改。HDFS中的文件是写一次的(除了追加和截断),并且任何时候只有一个writer。

NameNode做出关于复制块的所有决策。它定期从集群中的每个数据节点接收心跳和块报告。接收到心跳意味着DataNode正常工作。块报告包含DataNode上的所有块的列表。

副本的位置对HDFS的可靠性和性能至关重要。经过优化的副本位置使HDFS区别于大多数其他分布式文件系统。.....

NameNode通过Hadoop 机架感知中概述的过程确定每个DataNode所属的机架id。一个简单但非最优的策略是将副本放在各个唯一的机架上。这可以防止在某个机架整体发生故障时丢失数据,并允许在读取数据时使用多个机架的带宽。该策略在集群中均匀分布副本,这使得在组件发生故障时很容易平衡负载。但是,这个策略增加了写的成本,因为写需要将块转移到多个机架。
声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top