HDFS 块存储
HDFS block storage
- 1)我有一个带有 2 个数据节点的 hdp 集群。但是复制因子
对于 hdfs 是 3。在这种情况下,第 3 个副本块存储在哪里?
- 2)如果我在hdfs中上传一个文件(复制因子为3),
文件大小不应该在 hdfs 中增加 3 倍(因为有 2
额外副本)
- 3)有什么方法可以查看是哪个数据块
驻留在哪个数据节点(我知道元数据信息将
在名称节点中,但是是否有一个命令可以为我提供该信息)
?
1)由于NameNode不允许DataNode拥有同一个block的多个replicas,所以创建的最大replicas数量是当时DataNodes的总数。
参考:https://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#Simple_Coherency_Model(在副本放置:第一步中)
这意味着如果你有 2 个数据节点,你的复制因子不能是 3。
2) 您的文件大小将相同。但是,使用三个副本会增加存储开销。我的意思是如果您的文件是 2 GB 怎么办。您将文件与 3 个副本一起使用。这意味着您要为文件分配 6 GB(2 GB 用于原始文件,2+2 GB 用于副本)存储空间 space。
- 1)我有一个带有 2 个数据节点的 hdp 集群。但是复制因子 对于 hdfs 是 3。在这种情况下,第 3 个副本块存储在哪里?
- 2)如果我在hdfs中上传一个文件(复制因子为3),
文件大小不应该在 hdfs 中增加 3 倍(因为有 2
额外副本) - 3)有什么方法可以查看是哪个数据块
驻留在哪个数据节点(我知道元数据信息将
在名称节点中,但是是否有一个命令可以为我提供该信息) ?
1)由于NameNode不允许DataNode拥有同一个block的多个replicas,所以创建的最大replicas数量是当时DataNodes的总数。
参考:https://hadoop.apache.org/docs/r3.1.1/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html#Simple_Coherency_Model(在副本放置:第一步中)
这意味着如果你有 2 个数据节点,你的复制因子不能是 3。
2) 您的文件大小将相同。但是,使用三个副本会增加存储开销。我的意思是如果您的文件是 2 GB 怎么办。您将文件与 3 个副本一起使用。这意味着您要为文件分配 6 GB(2 GB 用于原始文件,2+2 GB 用于副本)存储空间 space。