hdfs 上具有 3 个复制的文件将存储在 3 个主机上? 或者不仅仅存储在 3 个主机上?
最佳答案
复制因子为 3 的文件的每个 block 将一起存储三次(HDFS 存储 block ,而不是文件)。如果你有 3 个节点(如图的顶部),那么每个 block 将在每个节点中存储一次。如果您有 1 个节点,则所有 block 都将存储在同一节点中(一次,正如 Brandon.bell 评论的那样)。如果您有 5 个节点,并且每个文件使用多个 block (如图底部所示),那么,是的,将使用超过 3 个节点。
原因是容错。假设任意两台主机无法访问(见下图),您仍然可以检索组成文件的所有 block 。例如,如果host4和host5失败,那么您仍然可以从host1检索block1,从host2检索block2。
更多详情请引用this documentation 。我还在 this post 中找到了一本关于 hadoop 复制的好漫画。 .
关于hadoop - hdfs 上具有 3 个复制的文件将存储在 3 个主机上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30664721/