【问题标题】:When and who exactly creates the input splits for MapReduce in Hadoop?何时以及由谁在 Hadoop 中为 MapReduce 创建输入拆分?
【发布时间】:2015-12-11 02:41:59
【问题描述】:

当我使用-copyFromLocal 命令将数据文件复制到 HDFS 时,数据被复制到 HDFS。当我通过网络浏览器看到这个文件时,它显示复制因子为 3,文件位于“/user/hduser/inputData/TestData.txt”位置,大小为 250 MB。

我有 3 个 CentOS 服务器作为 DataNodes,CentOS Desktop 作为 NameNode 和客户端。

当我从本地复制到上​​述路径时,它到底复制到哪里? 它是否以 64 MB 的块复制到 NameNode 或 DataNode? 或者,在我运行 MapReduce 作业并且 map 准备拆分并将数据复制到 DataNode 之前它不会复制?

请澄清我的疑问。

【问题讨论】:

    标签: hadoop mapreduce hdfs


    【解决方案1】:

    1 .当我从本地复制到上​​述路径时。它究竟复制到哪里? Ans: 数据被复制到 HDFS 或 HADOOP 分布式文件系统。它由数据节点和名称节点组成。您复制的数据以块的形式(64MB 或 64MB 的倍数)驻留在数据节点中,哪些块驻留在哪个数据节点及其副本的信息存储在 namenode 中。

    2。它是复制到 namenode 或 datanode 的 64 MB 分割数吗?或回答:您的文件将作为 64MB 的块存储在数据节点中,并且拆分的位置和顺序存储在名称节点中。

    3 在我运行 MapReduce 作业之前它不会复制。 map 准备拆分并复制到数据节点。答: 这不是真的。数据在 HDFS 中复制后,Filesystem 会根据设置的复制比率复制数据,而与用于复制数据的进程无关。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多