我正在阅读hadoop文档,而我无法理解描述副本放置"HDFS’s placement policy is to put one replica on the local machine if the writer is on a datanode, otherwise on a random datanode"的行。有人能让我理解引号中的这一行。
答案 0 :(得分:0)
基本上,如果任务与datanode进程在同一服务器上运行,请在本地写入结果。否则,随机选择一个datanode。
如果您在Mesos或Spark Standalone群集中运行Hadoop进程,其中数据节点是隔离的存储服务器,或者存在具有大内存要求但没有太多磁盘空间的专用YARN NodeManager,则可能发生这种情况。
第二个副本位于同一个机架上,但与第一个副本位于不同的datanode服务器上。
第三个副本在群集中的其他位置,而不是在同一个机架上。
至少,这就是我学习它的方式......文档似乎说第二个和第三个是在同一个远程机架上...无论如何,两个副本在同一个机架上,第三个是在机架故障的情况下分开。 子>