Hadoop 2.6.4和大文件

时间:2016-04-12 08:26:09

标签: apache hadoop hdfs

我是Apache Hadoop的新用户。有一个时刻我不明白。我有一个简单的集群(3个节点)。每个节点都有大约30GB的可用空间。当我查看Hadoop的概述站点时,我看到DFS剩余:90.96 GB。我将复制因子设置为1。

然后我创建一个50GB的文件并尝试将其上传到HDFS。但空间已经消失。为什么?我是否无法上传超过群集一个节点的空闲空间的文件?

1 个答案:

答案 0 :(得分:0)

根据Hadoop:权威指南

  

Hadoop的默认策略是将第一个副本放在与客户端相同的节点上(对于在群集外部运行的客户端,随机选择一个节点,尽管系统尝试不选择太满或太忙的节点) 。第二个副本放置在与第一个(机架外)不同的机架上,随机选择。第三个副本与第二个副本放在同一个机架上,但是在随机选择的不同节点上。进一步的副本放置在群集上的随机节点上,尽管系统试图避免在同一个机架上放置太多副本。   这种逻辑很有意义,因为它减少了不同节点之间的网络抖动。

我认为这取决于客户端是否与Hadoop节点相同。如果客户端是Hadoop节点,则所有拆分将位于同一节点上。尽管集群中有多个节点,但这并没有提供任何更好的读/写吞吐量。如果客户端与Hadoop节点不同,则为每个拆分随机选择节点,因此拆分分布在集群中的节点上。现在,这提供了更好的读/写吞吐量。