hadoop 2.6如何将数据分布到所有节点上

How to put data distributedly on all nodes on hadoop 2.6

我正在使用 3 节点 Hadoop 2.6 集群。

hadoop fs -put data/sample.csv /tmp

这会将 "sample.csv" 保存在“/tmp”目录中。此 csv 有 10 亿条记录(大小 31 GB)

这个数据是分布在所有节点上的吗?

我需要为此更改任何配置吗?

Is this data distributed on all nodes?

是的。如果您将数据写入 HDFS,它始终是分布式的。

一般情况下不一定分布在全部个节点上。有 3 个节点和 31 GB 的文件,它肯定会。但如果你有更多的节点或更小的文件,它可能不是。一般来说,HDFS 决定如何最好地分发文件。默认情况下,它还会以 3 种方式复制文件。

你可以运行这个命令

hdfs fsck /tmp/sample.csv -files -blocks -locations

命令将为您的文件和位置提供关联块。在这种情况下,如果您的复制因子为 3,那么您将在所有 3 个节点上拥有 31 GB 数据。