hadoop - hdfs 上具有 3 个复制的文件将存储在 3 个主机上?

标签 hadoop hdfs replication

enter image description here

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/

相关文章:

apache - 更改现有的Hadoop群集名称

Postgresql 10 逻辑复制不起作用

Tomcat集群配置

使用 Hive 解析 json

shell - 如何打开hdfs ://localhost:54310/user/hduser/

performance - 平衡 HDFS -> HBase mapreduce 作业的想法

hadoop - Hdfs 可以有不同的复制策略吗

hadoop - 限制 Hadoop 中的文件夹访问

MySQL复制使用unix_timestamp作为时间戳类型

apache-spark - 如何判断我正在Spark中运行哪个应用程序?