在hadoop中,究竟是什么时候,谁为mapreduce创建了输入拆分?

cbeh67ev  于 2021-05-30  发布在  Hadoop
关注(0)|答案(1)|浏览(296)

当我使用 -copyFromLocal 命令`将数据复制到hdfs。当我通过web浏览器看到这个文件时,它显示复制因子是3,文件位于“/user/hduser/inputdata/testdata.txt”位置,大小为250MB。
我有3个centos服务器作为数据节点,centos桌面作为名称节点和客户端。
当我从本地复制到上述路径时,它究竟复制到哪里?它是否以64 mb的块复制到namenode或datanode?或者,在我运行mapreduce作业并准备拆分并将数据复制到datanodes之前,它不会复制?
请澄清我的疑问。

wnrlj8wa

wnrlj8wa1#

1 . 当我从本地复制到上述路径时。它到底复制到哪里?ans:数据被复制到hdfs或hadoop分布式文件系统。它由数据节点和名称节点组成。您复制的数据作为块(64mb或64mb的倍数)驻留在数据节点中,哪些块驻留在哪个数据节点中的信息及其副本存储在namenode中。
2它复制到namenode或datanode的数量是否与64 mb的拆分数量相同?或者ans:您的文件将以64mb的块存储在数据节点中,拆分的位置和顺序存储在名称节点中。
它不会复制,直到我运行mapreduce作业。Map准备拆分并复制到数据节点。答:这不是真的。一旦在hdfs中复制了数据,文件系统就会根据设置的复制比率来复制数据,而不考虑复制数据所使用的进程。

相关问题