HDFS的功能
当我们将在下一个HDFS教程博客中探索HDFS体系结构时,我们将详细了解这些功能。但是,现在让我们来看看HDFS的特性:
成本: 一般来说,HDFS部署在商用硬件上,例如您每天使用的台式机/笔记本电脑。所以,在项目的拥有成本方面是非常经济的。因为我们使用的是低成本的商品硬件,所以您无需花费大量资金来扩展Hadoop集群。换句话说,增加更多的节点到你的HDFS是成本效益的。
数据的种类和数量: 当我们谈论HDFS的时候,我们谈论的是存储巨大的数据,即TB级和PB级的数据和不同类型的数据。所以,您可以将任何类型的数据存储到HDFS中,无论是结构化的,非结构化的还是半结构化的。
可靠性和容错性: 当您将数据存储在HDFS上时,它会将给定的数据内部分割为数据块,并以分布的方式将其存储在Hadoop集群中。关于哪个数据块位于哪个数据节点上的信息被记录在元数据中。NameNode管理元数据, DataNode负责存储数据。
名称节点也复制数据,即维护数据的多个副本。数据的这种复制使得HDFS非常可靠和容错。因此,即使任何节点失败,我们也可以从驻留在其他数据节点上的副本中检索数据。默认情况下,复制因子为3.因此,如果将1 GB的文件存储在HDFS中,则最终将占用3 GB的空间。名称节点定期更新元数据并保持复制因子一致。
数据完整性: 数据完整性将讨论存储在我的HDFS中的数据是否正确。HDFS不断检查存储的数据的完整性与其校验和。如果发现任何错误,它会向名称节点报告。然后,名称节点创建额外的新副本,因此删除损坏的副本。
高吞吐量:吞吐量是单位时间内完成的工作量。它讨论了如何从文件系统访问数据的速度。基本上,它给你一个关于系统性能的见解。正如你在上面的例子中看到的那样,我们共用十台机器来增强计算。在那里我们能够将处理时间从 43分钟缩短到只有 4.3分钟,因为所有的机器都在并行工作。因此,通过并行处理数据,我们大大减少了处理时间,从而实现了高吞吐量。
数据局部性: 数据局部性讨论的是将处理单元移动到数据而不是数据到处理单元。在我们的传统系统中,我们曾经把数据带到应用层,然后进行处理。但是现在,由于数据的体系结构和庞大的数据量,把数据带到应用层会使网络性能显着降低。因此,在HDFS中,我们将计算部分带到数据所在的数据节点。因此,你不移动数据,你正在把程序或处理部分的数据。