hdfs—hadoop fs的目的是保存在ram或磁盘中?

svgewumm  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(313)

我们正在考虑在我的公司使用hadoop。通过查看互联网上的文档,我得到了这样的印象:hdfs的思想是将其保存在ram中以加快速度。现在我们的架构师说hdfs的主要思想是可伸缩性。我不介意。但随后他也声称主要的想法是将其保存在硬盘上。hdfs基本上是一个可扩展的硬盘。我的观点是,通过硬盘支持hdfs是一种选择。不过,主要的想法是将其保存在ram中。现在是谁?我现在真的很困惑,我想说,这一点对于理解hadoop至关重要。
谢谢,奥利弗

ne5o7dgx

ne5o7dgx1#

奥利弗,你的建筑师是对的。水平可伸缩性是hdfs(hadoop)的最大优势之一。当你说hadoop时,它意味着你正在处理大量的数据,对吗?你打算怎么把这么多的数据放在内存里呢?(我假设hdfs的意思是把它放在ram里,以加快速度,你的意思是把存储在hdfs里的数据放在ram里)。
但是,hdfs的元数据保存在内存中,以便您可以快速访问存储在hdfs中的数据。记住,hdfs不是物理的东西。它是一个位于本机文件系统之上的虚拟文件系统。因此,当您说要将数据存储到hdfs中时,它最终会存储在计算机磁盘上的本机/本地文件系统中,而不是ram中。
尽管如此,hdfs和原生fs的行为方式有一些主要的区别。比如块大小,与本地fs块大小相比非常大。类似地,数据存储在hdfs中的复制方式(考虑raid,但在软件级别)。
那么hdfs是如何让事情变得更快的呢?
hadoop是一个分布式平台,hdfs是一个分布式存储。当你把一个文件放入hdfs时,它会被分成n个小块(默认大小为64mb,但可配置)。然后文件的所有块都存储在hadoop集群的所有机器上。这允许我们并行地读取所有块,从而减少总的读取时间。
我建议您浏览此链接,以便正确了解hdfs:http://hadoop.apache.org/docs/stable/hdfs_design.html
hth公司

相关问题