gpt4 book ai didi

hadoop - HDFS 文件 block 在两节点集群中的分布

转载 作者:可可西里 更新时间:2023-11-01 17:00:26 25 4
gpt4 key购买 nike

环境

Hadoop:0.20.205.0
集群中的机器数量:2个节点
复制:设置为 1
DFS block 大小:1MB

我使用 put 命令将一个 7.4MB 的文件放入 HDFS。我运行 fsck 命令来检查文件在数据节点之间的 block 分布。我看到文件的所有 8 个 block 都将只发送到一个节点。这会影响负载分配,并且在运行 mapred 任务时始终只使用一个节点。

有没有一种方法可以将文件分发到多个数据节点?

bin/hadoop dfsadmin -report
Configured Capacity: 4621738717184 (4.2 TB)
Present Capacity: 2008281120783 (1.83 TB)
DFS Remaining: 2008281063424 (1.83 TB)
DFS Used: 57359 (56.01 KB)
DFS Used%: 0%
Under replicated blocks: 0
Blocks with corrupt replicas: 0
Missing blocks: 0

-------------------------------------------------
Datanodes available: 2 (6 total, 4 dead)

Name: 143.215.131.246:50010
Decommission Status : Normal
Configured Capacity: 2953506713600 (2.69 TB)
DFS Used: 28687 (28.01 KB)
Non DFS Used: 1022723801073 (952.49 GB)
DFS Remaining: 1930782883840(1.76 TB)
DFS Used%: 0%
DFS Remaining%: 65.37%
Last contact: Fri Jul 18 10:31:51 EDT 2014

bin/hadoop fs -put /scratch/rkannan3/hadoop/test/pg20417.txt /user/rkannan3

bin/hadoop fs -ls /user/rkannan3
Found 1 items
-rw------- 1 rkannan3 supergroup 7420270 2014-07-18 10:40 /user/rkannan3/pg20417.txt

bin/hadoop fsck /user/rkannan3 -files -blocks -locations
FSCK started by rkannan3 from /143.215.131.246 for path /user/rkannan3 at Fri Jul 18 10:43:13 EDT 2014
/user/rkannan3 <dir>
/user/rkannan3/pg20417.txt 7420270 bytes, 8 block(s): OK <==== All the 8 blocks in one DN
0. blk_3659272467883498791_1006 len=1048576 repl=1 [143.215.131.246:50010]
1. blk_-5158259524162513462_1006 len=1048576 repl=1 [143.215.131.246:50010]
2. blk_8006160220823587653_1006 len=1048576 repl=1 [143.215.131.246:50010]
3. blk_4541732328753786064_1006 len=1048576 repl=1 [143.215.131.246:50010]
4. blk_-3236307221351862057_1006 len=1048576 repl=1 [143.215.131.246:50010]
5. blk_-6853392225410344145_1006 len=1048576 repl=1 [143.215.131.246:50010]
6. blk_-2293710893046611429_1006 len=1048576 repl=1 [143.215.131.246:50010]
7. blk_-1502992715991891710_1006 len=80238 repl=1 [143.215.131.246:50010]

最佳答案

如果您希望在文件级别进行分发,请至少使用 2 的复制因子。第一个副本始终放置在编写器所在的位置(参见 http://waset.org/publications/16836/optimizing-hadoop-block-placement-policy-and-cluster-blocks-distribution 中的介绍段落);通常一个文件只有一个写入者,因此一个文件的多个 block 的第一个副本将始终在该节点上。您可能不想更改该行为,因为当您希望避免产生太多映射器而不丢失映射器的数据局部性时,您希望可以选择增加最小拆分大小。

关于hadoop - HDFS 文件 block 在两节点集群中的分布,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24828022/

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