我有一个1GB大小的文件存储在HDFS文件系统上。我正在进行10个数据节点和名称节点的集群设置。 Namenode是否有任何计算用于存储文件的特定数据节点(不是复制品)?或者我们可以配置哪些参数用于文件存储?如果是这样,如果没有专门配置,Hadoop用于存储文件的数据节点的默认值是多少?
我想知道它是使用群集的所有数据节点还是只使用特定数量的数据节点。
让我们考虑HDFS块大小为64MB,并且所有数据节点上也存在可用空间。
提前致谢。
答案 0 :(得分:1)
如果配置的块大小 64 MB ,并且您有 1 GB 文件,则表示文件大小为1024 MB。
所需的块将是 1024/64 = 16块,这意味着 1 Datanode 将消耗 16块来存储1 GB文件。
现在,让我们说你有一个10节点集群,然后默认副本是3,,这意味着你的1 GB文件将存储在3个不同的节点上。因此,1 GB文件获取的块是 - > * 16 * 3 = 48块*。
如果您的一个块是64 MB,那么您消耗的1 GB文件的总大小是 - > * 64 * 48 = 3072 MB *。
希望能够解除你的怀疑。
答案 1 :(得分:0)
在 Hadoop的第二(第二)代
中如果配置的块大小为 128 MB ,并且您有1 GB的文件,则意味着文件大小为1024 MB。
因此所需的块将为1024/128 = 8个块,这意味着 1个数据节点将包含 8个块以存储1 GB的文件。
现在,假设您有10个节点的群集,那么默认副本为3 ,这意味着您的1 GB文件将存储在3个不同的节点上。因此,您的
1 GB文件是-> * 8 * 3 = 24块*。
如果一个块的大小为128 MB,则消耗的1 GB文件的总大小为-
* 128 * 24 = 3072 MB *。