hdfs上有3个复制的文件将存储在3台主机上? 或者不仅仅存储3台主机?
答案 0 :(得分:2)
具有复制因子3的文件将使其每个块共同构成它,存储三次(HDFS存储块,而不是文件)。如果您有3个节点(如图中的顶部),则每个块将在每个节点中存储一次。如果您有1个节点,则所有块将存储在同一节点中(一次,如brandon.bell所述)。如果您有5个节点,并且每个文件使用多个块(如图的底部),那么,是的,将使用超过3个节点。
原因是容错。假设任何两台主机都无法访问(在下图中),您仍然可以检索构成文件的所有块。例如,如果host4和host5失败,那么您仍然可以从host1检索block1,从host2检索block2。
有关详细信息,请参阅this documentation。我还在this post找到了关于hadoop复制的精彩漫画。