gpt4 book ai didi

hadoop - Hadoop中的 Rack 拓扑

转载 作者:行者123 更新时间:2023-12-02 21:34:45 25 4
gpt4 key购买 nike

我在搜索 Rack 拓扑时发现了这个问题...可能是hadoop认证问题:

您的群集在三个不同的 Rack 中都有从属节点,并且您编写了一个 Rack 拓扑脚本,以将每台计算机分别识别为位于 Rack 1, Rack 2或 Rack 3中。集群外部的客户端计算机将一个小文件(一个块)写入HDFS。块的第一个副本被写入 Rack 2上的节点。如何确定其他两个副本的块放置?

在某些站点上,答案是要么都将被写入 Rack 1上的节点,要么都将被写入 Rack 3上的节点。

为什么不将下一个块写在rack2本身上,将其余的块写在rack1或rack3上呢?

最佳答案

如果客户端不在 Rack 上,则其写入的第一个复制被视为本地节点。

根据文档,Hadoop将副本放置在3个不同的数据节点中:

本地数据节点:客户端在其中发起写入操作的数据节点(例如,使用hadoop fs -cp命令)。第一个副本放置在此处。如果客户端从群集外部写入数据,则将随机选择该节点。它是第一个副本被写入的节点。

Rack 外数据节点:位于另一个 Rack 上的数据节点。第二个副本放置在这里。

Rack 上数据节点:物理上与第一个数据节点位于同一 Rack 上的数据节点。第三个副本放置在这里

因此,在您的情况下,由于第一个副本是在 Rack 2中写入的,因此它将是“本地数据节点”。 Rack 1/Rack 3 [ Rack 外数据节点]中的第二个副本。第三个副本再次出现在 Rack 2 [ Rack 数据节点]中。

关于hadoop - Hadoop中的 Rack 拓扑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33114398/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com