当我使用-copyFromLocal
命令将数据文件复制到HDFS时,数据被复制到HDFS。当我通过Web浏览器看到此文件时,它显示复制因子为3且文件位于" /user/hduser/inputData/TestData.txt"大小为250 MB。
我有3个CentOS服务器作为DataNode,CentOS Desktop作为NameNode和客户端。
当我从本地复制到上述路径时,它究竟复制到哪里? 它是否以64 MB的块复制到NameNode或DataNode? 或者,它不会复制,直到我运行MapReduce作业并映射准备拆分并将数据复制到DataNodes?
请澄清我的疑问。
答案 0 :(得分:0)
1。当我从本地复制到上面提到的路径。它究竟复制到哪里? Ans:数据被复制到HDFS或HADOOP分布式文件系统。它由数据节点和名称节点组成。您复制的数据驻留在数据节点中作为块(64MB或64 MB的倍数)以及哪些块的信息驻留在哪个数据节点及其副本存储在namenode中。
<强> 2。是复制到namenode或datanode多少64 MB的拆分?或Ans:您的文件将作为64MB的块存储在数据节点中,并且拆分的位置和顺序存储在名称节点中。
3它不会复制,直到我运行MapReduce Job。和map准备拆分和复制到datanode。答:这不是真的。只要数据在HDFS中复制,文件系统就会根据设置的复制比率复制数据,而不管用于复制数据的过程如何。