hdfs如何写入数据节点上的磁盘

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

我不是文件系统工作原理方面的Maven,但这个问题可以帮助我澄清一些模糊的概念。hdfs如何写入物理磁盘?
我知道hdfs在ext3文件系统磁盘上运行(通常)。这些文件系统的块大小远远小于hdfs块大小。因此,如果我在写一个128MB的逻辑hdfs块,磁盘可能会存储更小的物理块。
hdfs是否确保这些物理块是连续的(连续块增加了fs吞吐量,因为它最小化了寻道时间?
hdfs如何提供高吞吐量?

alen0pnh

alen0pnh1#

据我所知,hdfs并不关心运行它的物理文件系统。我在几个不同的文件系统上安装了hadoop,例如,我还使用了solariszfs。
hadoop/hdfs的块作为普通文件写在每个数据节点上。namenode在os文件系统中扮演inode或fat的角色。hdfs是每个数据节点上物理文件系统之上的一层。
只需列出数据节点上的目录内容,就可以列出hadoop/hdfs文件系统中存储的块:

/srv/hadoop/hadoop_data/hdfs/datanode/current/BP-1458088587-192.168.1.51-1394008575227/current/finalized$ ls -alh ./blk_1073741838
-rw-r--r-- 1 hadoop hadoop 1.4M Mar  6 10:55 ./blk_1073741838

相关问题