Hadoop hdfs上具有3个复制的文件将存储在3台主机上?
hdfs上具有3个复制的文件将存储在3台主机上?Hadoop hdfs上具有3个复制的文件将存储在3台主机上?,hadoop,hdfs,replication,Hadoop,Hdfs,Replication,hdfs上具有3个复制的文件将存储在3台主机上? 或者不仅仅存储在3台主机上 一个复制因子为3的文件会将其所有的块存储三次(HDFS存储块,而不是文件)。如果有3个节点(如图的顶部),则每个块将在每个节点中存储一次。如果有1个节点,所有块都将存储在同一个节点中(一次,正如brandon.bell所评论的)。如果有5个节点,并且每个文件使用多个块(如图底部所示),则会使用3个以上的节点 原因是容错。假设任何两台主机都无法访问(如下图所示),您仍然可以检索构成文件的所有块。例如,如果host4和ho
或者不仅仅存储在3台主机上 一个复制因子为3的文件会将其所有的块存储三次(HDFS存储块,而不是文件)。如果有3个节点(如图的顶部),则每个块将在每个节点中存储一次。如果有1个节点,所有块都将存储在同一个节点中(一次,正如brandon.bell所评论的)。如果有5个节点,并且每个文件使用多个块(如图底部所示),则会使用3个以上的节点 原因是容错。假设任何两台主机都无法访问(如下图所示),您仍然可以检索构成文件的所有块。例如,如果host4和host5失败,则仍然可以从host1检索block1,从host2检索block2
有关更多详细信息,请参阅。在中,我还发现了一本关于hadoop复制的好笑漫画。这是正确的,除非您只有一个节点,否则块不会在该主机上存储三次(除非您运行多个datanode实例)。如果我有5个以上的节点,我希望它存储在3个节点上。然后我将在这3个节点上快速读取文件(因为不需要从其他节点获取块)。但是如何在3个节点上存储文件呢?如果您有5个节点,并且您的复制因子设置为3,那么Namenode将处理将文件分发到其中3个节点的过程。