【发布时间】:2012-03-14 18:53:26
【问题描述】:
我是 hadoop 的新手,希望更好地了解复制在 HDFS 中的工作原理。
假设我有一个 10 节点系统(每个节点 1 TB),总容量为 10 TB。如果我的复制因子为 3,那么每个文件都有 1 个原始副本和 3 个副本。因此,从本质上讲,我的存储空间中只有 25% 是原始数据。所以我的 10 TB 集群实际上只有 2.5 TB 的原始(未复制)数据。
如果我的思路正确,请告诉我。
【问题讨论】:
我是 hadoop 的新手,希望更好地了解复制在 HDFS 中的工作原理。
假设我有一个 10 节点系统(每个节点 1 TB),总容量为 10 TB。如果我的复制因子为 3,那么每个文件都有 1 个原始副本和 3 个副本。因此,从本质上讲,我的存储空间中只有 25% 是原始数据。所以我的 10 TB 集群实际上只有 2.5 TB 的原始(未复制)数据。
如果我的思路正确,请告诉我。
【问题讨论】:
你的想法有点不对劲。复制因子 3 意味着您有 3 个总共 个数据副本。更具体地说,您的文件的每个块将有 3 个副本,因此如果您的文件由 10 个块组成,那么您的 10 个节点将总共有 30 个块,或者每个节点大约 3 个块。
您认为 10x1TB 集群的容量小于 10TB 是正确的 - 复制因子为 3,它实际上具有大约 3.3TB 的功能容量,由于进行任何处理所需的空间,实际容量略少, 保存临时文件等。
【讨论】: