【问题标题】:How to understand "hadoop is good for sequential data access"如何理解“hadoop 有利于顺序数据访问”
【发布时间】:2015-09-07 14:03:47
【问题描述】:

我尝试比较本地文件系统和 HDFS 之间写入大文件的性能。结果有点让我困惑。通过本地写入所用的时间比 HDFS 短。我不明白“Hadoop 适合顺序数据访问”的概念...

[root@datanodetest01 tmp]# dd if=/dev/zero of=testfile count=1 bs=256M
1+0 records in
1+0 records out
268435456 bytes (268 MB) copied, 0.324765 s, 827 MB/s

[root@datanodetest01 tmp]# time hadoop fs -put testfile /tmp

real    0m3.461s
user    0m6.829s
sys     0m0.666s

【问题讨论】:

  • 您似乎在比较本地文件系统和分布式文件系统,您如何考虑需要在分布式文件系统上进行的复制?

标签: hadoop


【解决方案1】:

HDFS 有很多好处,列在herehere

请注意,无论您将数据存储在本地磁盘还是 HDFS 上,最终您都希望对数据进行一些处理。在这种情况下,所有大数据技术堆栈都利用 HDFS 特性以容错方式提供快速数据处理。

在本地和 hdfs 中复制数据的差异可以简单地归因于以下事实:

1)HDFS至少制作3份数据,这样无论一台机器是否集群,它都以高可用的方式工作。

2) 在 HDFS 中,数据副本在集群的不同机器上维护,因此会发生一些网络 I/O。

还要注意 - ref http://hadooptutorials.co.in/tutorials/hadoop/hadoop-fundamentals.html

Hadoop 使用块来存储文件或文件的一部分。 Hadoop 块是底层文件系统上的文件。由于底层文件系统将文件存储为块,因此一个 Hadoop 块可能由底层文件系统中的许多块组成。块很大。它们默认为每个 64 兆字节,大多数系统以 128 兆字节或更大的块大小运行。

Hadoop 设计用于流式或顺序数据访问,而不是随机访问。顺序数据访问意味着更少的查找,因为 Hadoop 只查找每个块的开头并从那里开始顺序读取。

给了一个很好的阅读 - Hadoop sequential data access

【讨论】:

  • 我想知道“Hadoop 是高效的顺序访问”的概念,是因为 HDFS 块是 64M 或更大?
  • Hadoop 使用块来存储文件或文件的一部分。Hadoop 设计用于流式或顺序数据访问,而不是随机访问。顺序数据访问意味着更少的查找,因为 Hadoop 只查找每个块的开头并从那里开始顺序读取。
【解决方案2】:

Hadoop 将文件存储为块(默认为 128mb)并将这些块复制到不同节点的硬盘上。

当您从硬盘读取数据时,硬盘磁头必须穿过盘片移动到适当的位置才能读取数据。如果您读取分布在硬盘上的许多小文件,则磁头在这些位置之间移动的寻道时间会增加大量开销(降低吞吐量)。

如果您读取单个大文件头必须查找一次并读取数据。现在总寻道时间小于读取时间。

这就是所谓的“Hadoop 对顺序访问很有效”,但对于随机访问(寻道时间长)来说并不是那么好

您不应将 hadoop 性能与本地性能进行比较,因为 hadoop 在通过网络向/从不同节点传输时会产生大量(网络)开销。

【讨论】:

  • 在我看来,HDFS是基于本地FS(如ext4)。单个大文件仍然必须拆分为几个块,然后存储在节点上。从hadoop客户端读取文件与本地系统没有区别,需要访问inode信息和seek block。访问性能没有优化?
  • Hadoop 被设计为一个框架,因此独立于操作系统(或底层文件系统),因此无法针对特定进行优化。请记住 Hadoop 是一个分布式系统。要访问文件,Hadoop 客户端将首先在 NameNode 中查询带有文件块的 DataNode。然后直接在 DataNodes 中查询文件块。您看到的延迟是由于在不同主机之间启动连接的延迟。本地系统上的相同过程是访问 ionode 和 seek 块。理想情况下,当所有延迟都被消除时,吞吐量将与本地系统相似。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-03
  • 2017-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多