例如,如果复制因子是3,集群中有2个节点。那么将创建多少个复制副本?它们将如何放置?
k2arahey1#
如果复制因子大于可用的数据节点,则无法达到复制的目的。副本应该清楚地、唯一地放置在datanodes上。如果一个datanode包含同一块的多个副本(理论上),那么它不会提供额外的容错能力,因为如果该节点宕机,两个副本都会丢失。因此,每个节点只有一个副本就足够了。回答你的问题:复制因子和集群中数据节点的数量有什么关系?答:最大复制因子应小于或等于#datanodes如果复制因子是3并且集群中有2个节点。那么将创建多少个复制副本?答:据我所知,只创建了2个副本(尝试使用 hdfs dfs -setrep (可选)它们将如何放置?答案。它们将被放置在每个数据节点。因此,当您提供的复制因子大于#datanodes时,您尝试创建的额外副本将在 hdfs fsck 输出。此外,相应的块将被视为复制下的块
hdfs dfs -setrep
hdfs fsck
1条答案
按热度按时间k2arahey1#
如果复制因子大于可用的数据节点,则无法达到复制的目的。副本应该清楚地、唯一地放置在datanodes上。如果一个datanode包含同一块的多个副本(理论上),那么它不会提供额外的容错能力,因为如果该节点宕机,两个副本都会丢失。因此,每个节点只有一个副本就足够了。
回答你的问题:
复制因子和集群中数据节点的数量有什么关系?答:最大复制因子应小于或等于#datanodes
如果复制因子是3并且集群中有2个节点。那么将创建多少个复制副本?
答:据我所知,只创建了2个副本(尝试使用
hdfs dfs -setrep
(可选)它们将如何放置?答案。它们将被放置在每个数据节点。
因此,当您提供的复制因子大于#datanodes时,您尝试创建的额外副本将在
hdfs fsck
输出。此外,相应的块将被视为复制下的块