gpt4 book ai didi

hadoop - Hadoop put命令写一个文件需要多长时间

转载 作者:可可西里 更新时间:2023-11-01 16:14:57 25 4
gpt4 key购买 nike

使用默认的 Hadoop 设置,假设写入一个 block 需要 4 分钟,将一个 64Mb 的文件写入 HDFS 需要多长时间。

根据我的说法,默认 block 大小为 64Mb,客户端必须编写一个 block ,这应该需要 4 * 3[复制因子]=12 分钟。

原因
HDFS 使用流水线来实现其复制写入。当客户端从NameNode接收到DataNode列表后,客户端将 block 数据流式传输到第一个DataNode(4分钟),依次将数据镜像到下一个DataNode(4分钟),以此类推,直到数据到达所有DataNode(又是4分钟)。来自 DataNode 的确认也以相反的顺序流水线化。
4+4+4=12分钟

有人可以确认我的理解是否正确吗?

最佳答案

您的理解是正确的,但并不完全正确。在下面找到权威指南的摘录

It’s possible, but unlikely, that multiple datanodes fail while a block is being written. As long as dfs.replication.min replicas (which default to one) are written, the write will succeed, and the block will be asynchronously replicated across the cluster until its target replication factor is reached (dfs.replication, which defaults to three).

这表明 -put 命令所花费的时间取决于 hdfs-default.xml 中的 dfs.replication.min 配置。

默认情况下这是 1。因此根据您的示例,它应该需要大约 4 分钟才能完成。

As-put 将只等待来自一个数据节点的确认。

关于hadoop - Hadoop put命令写一个文件需要多长时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23487089/

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