【问题标题】:Hadoop Understanding :: FundamentalsHadoop 理解 :: 基础
【发布时间】:2016-04-28 04:07:34
【问题描述】:

关于 Hadoop 的几个问题。请分享您的经验。

1)如果我必须在hadoop集群上存储一个1TB的文件,假设复制因子为3,是否意味着我已经上传了一个3TB的文件?

2)客户端机器是如何配置到Hadoop集群的?请提供需要修改的文件的细节。

3)Hadoop集群与传统的网络分布式系统有何不同? 我们知道传统的分布式系统也有主从架构。但是在执行任何任务时,从属之间存在这种通信。 问题是Hadoop DataNode之间是否存在类似的通信机制?

4)如果Hadoop DataNodes之间没有通信,一旦map任务完成,Sort和Shuffle阶段如何在DataNodes上进行数据传输?

5) 这是关于 Cloudera QuickStart VM 5.5,当我在终端窗口中执行“sudo jps”时,没有与 JobTracker 和 TaskTracker 相关的进程正在运行 我的 MR 作业正在提交,输出被写入 HDFS。 这是因为我输入“sudo jps”命令时出现了正在运行的进程名称“JobHistoryServer”吗?

6) 假设 JobTracker 将 MR 作业提交给已经在运行这么多任务且无法再接受的 DataNode(DN1),具有 Rack Awareness 知识的 NameNode 会将这个 MR 作业委托给相同的其他节点机架。假设新节点是 DN2 现在,问题是 DN2 是否会从 DN1 复制块的数据并运行 MR 作业,还是只是代表 DN1 运行 MR 作业,因为数据块在 Hadoop 分布式集群中是可见的?

提前感谢您的回答。

最好, 斯里

【问题讨论】:

  • 我了解您是 StackOverflow 的新手,但请将您的帖子限制在每个问题上

标签: hadoop mapreduce cloudera


【解决方案1】:

以下是您问题的答案:

  1. 您只上传了 1 TB 的文件。该文件被分成每个 128 MB(默认为纱线)的块(块)。现在每个块都在三个不同的节点中复制。所以最后你上传了 1 TB 并且 3 次复制由 hadoop 负责。

  2. 您可以在单个节点以及机器集群上安装 hadoop。请浏览以下博客,其中提供了逐步的步骤和如何配置它的详细图片。

    http://teamvj.blogspot.in/2014/02/installing-hadoop-single-node-cluster.html

    http://teamvj.blogspot.in/

  3. Hadoop Namenode 是主节点,拥有关于其下运行的所有数据节点的信息。 Datanodes向namenode发送称为心跳的周期性信号,表明它们还活着并准备好接受任务。 Namenode 有关于哪个数据节点包含哪个块的信息。因此,当提交作业时,处理将转到正确的节点,该节点具有必须对其进行处理的数据。如果数据节点失败,则具有相同块的另一个数据节点(因为复制)被赋予任务。 Hadoop Cluster 是相同的旧分布式计算,但它的特别之处在于它的运行方式如容错、推测执行等。

  4. Datanode 总是相互通信,以便将块从一个 Datanode 传输到另一个 Datanode。假设一个数据节点宕机了,那么存储在其中的数据的复制也宕机了。此时需要将块从一个数据节点转移到另一个数据节点。

  5. 数据将转到已经拥有该块副本的 DN。这就是存储副本背后的真正想法。如果一个具有该块的数据节点不可用,则请求将转到另外两个具有该块的数据节点之一,假设复制因子仍为默认值 3。

希望对你有帮助

【讨论】:

  • 很高兴它对你有帮助
  • 只是在考虑之后的一个查询,关于网络流量..如果 hadoop 负责块复制..名称节点最终必须在收到 1TB 后将剩余的 2TB 复制到数据节点上。由于数据节点是通过公共专用 n/w 连接的,所以这种复制不考虑网络流量吗??
猜你喜欢
  • 1970-01-01
  • 2017-09-04
  • 1970-01-01
  • 2016-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-01-19
  • 1970-01-01
相关资源
最近更新 更多