Hadoop 理解 :: 基础
Hadoop Understanding :: Fundamentals
关于 Hadoop 的几个问题。请分享您的经验。
1) 如果我必须在hadoop集群上存储一个1TB的文件,假设复制因子为3,是否意味着我已经上传了一个3TB的文件?
2)客户端机器是如何配置到Hadoop集群的?请提供具体需要修改的文件。
3)Hadoop集群与传统的网络分布式系统有何不同?
我们知道,传统的分布式系统也有一个主从architecture.But,从属之间在执行任何任务时都存在这种通信。
问题是 Hadoop 数据节点之间是否存在类似的通信机制?
4)如果 Hadoop DataNodes 之间没有通信,一旦 map 任务完成,Sort 和 Shuffle 阶段如何在 DataNodes 上进行数据传输?
5)这是关于 Cloudera QuickStart VM 5.5 的,当我在终端 window 中执行 "sudo jps" 时,还没有与 JobTracker 和 TaskTracker 相关的进程 运行ning
我的 MR 作业正在提交,输出已写入 HDFS。
这是因为当我键入 "sudo jps" 命令时出现 运行ning 进程名称 "JobHistoryServer" 吗?
6) 假设当 JobTracker 向 DataNode(DN1) 提交 MR 作业时已经 运行ning 这么多任务并且无法再接受的场景,具有机架感知知识的 NameNode 将委托这个MR job to other nodes in same rack.Let 说新节点是DN2
现在,问题是 DN2 是否会从 DN1 和 运行 的 MR 作业复制块的数据,还是它只是代表 DN1 去 运行 MR 作业,因为数据块在 Hadoop 中是可见的分布式集群?
提前感谢您的回答。
最好的,
斯里
以下是您问题的答案:
您只上传了 1 TB 文件。该文件被分成每个 128 MB(纱线中的默认值)的块(块)。现在每个块都在三个不同的节点中复制。所以最终你上传 1 TB,3 次复制由 hadoop 负责。
您可以将 hadoop 安装在单个节点上,也可以安装在机器集群上。请阅读以下博客,其中提供了有关如何配置它的逐步步骤和详细图片。
http://teamvj.blogspot.in/2014/02/installing-hadoop-single-node-cluster.html
Hadoop Namenode 是主节点,它拥有关于在其下运行的所有数据节点的信息。数据节点向名称节点发送称为心跳的周期性信号,表明它们还活着并准备好接受任务。 Namenode 有关于哪个数据节点包含哪个块的信息。因此,当提交作业时,处理会转到正确的节点,该节点具有必须进行处理的数据。如果数据节点发生故障,则具有相同块(由于复制)的另一个数据节点将被赋予任务。 Hadoop 集群是同样古老的分布式计算,但它的特别之处在于它们的运行方式,如容错、推测执行等。
数据节点总是相互通信,以便将块从一个数据节点传输到另一个数据节点。假设一个数据节点宕机了,所以存储在其中的数据的复制也宕机了。在那一刻,需要将块从一个数据节点传输到另一个数据节点。
数据将转到已经有块副本的DN。这就是存储副本背后的真正想法。如果一个具有该块的数据节点不可用,则请求将转到另外两个具有该块的数据节点之一,假设复制因子仍然是默认值 3.
希望对您有所帮助
关于 Hadoop 的几个问题。请分享您的经验。
1) 如果我必须在hadoop集群上存储一个1TB的文件,假设复制因子为3,是否意味着我已经上传了一个3TB的文件?
2)客户端机器是如何配置到Hadoop集群的?请提供具体需要修改的文件。
3)Hadoop集群与传统的网络分布式系统有何不同? 我们知道,传统的分布式系统也有一个主从architecture.But,从属之间在执行任何任务时都存在这种通信。 问题是 Hadoop 数据节点之间是否存在类似的通信机制?
4)如果 Hadoop DataNodes 之间没有通信,一旦 map 任务完成,Sort 和 Shuffle 阶段如何在 DataNodes 上进行数据传输?
5)这是关于 Cloudera QuickStart VM 5.5 的,当我在终端 window 中执行 "sudo jps" 时,还没有与 JobTracker 和 TaskTracker 相关的进程 运行ning 我的 MR 作业正在提交,输出已写入 HDFS。 这是因为当我键入 "sudo jps" 命令时出现 运行ning 进程名称 "JobHistoryServer" 吗?
6) 假设当 JobTracker 向 DataNode(DN1) 提交 MR 作业时已经 运行ning 这么多任务并且无法再接受的场景,具有机架感知知识的 NameNode 将委托这个MR job to other nodes in same rack.Let 说新节点是DN2 现在,问题是 DN2 是否会从 DN1 和 运行 的 MR 作业复制块的数据,还是它只是代表 DN1 去 运行 MR 作业,因为数据块在 Hadoop 中是可见的分布式集群?
提前感谢您的回答。
最好的, 斯里
以下是您问题的答案:
您只上传了 1 TB 文件。该文件被分成每个 128 MB(纱线中的默认值)的块(块)。现在每个块都在三个不同的节点中复制。所以最终你上传 1 TB,3 次复制由 hadoop 负责。
您可以将 hadoop 安装在单个节点上,也可以安装在机器集群上。请阅读以下博客,其中提供了有关如何配置它的逐步步骤和详细图片。
http://teamvj.blogspot.in/2014/02/installing-hadoop-single-node-cluster.html
Hadoop Namenode 是主节点,它拥有关于在其下运行的所有数据节点的信息。数据节点向名称节点发送称为心跳的周期性信号,表明它们还活着并准备好接受任务。 Namenode 有关于哪个数据节点包含哪个块的信息。因此,当提交作业时,处理会转到正确的节点,该节点具有必须进行处理的数据。如果数据节点发生故障,则具有相同块(由于复制)的另一个数据节点将被赋予任务。 Hadoop 集群是同样古老的分布式计算,但它的特别之处在于它们的运行方式,如容错、推测执行等。
数据节点总是相互通信,以便将块从一个数据节点传输到另一个数据节点。假设一个数据节点宕机了,所以存储在其中的数据的复制也宕机了。在那一刻,需要将块从一个数据节点传输到另一个数据节点。
数据将转到已经有块副本的DN。这就是存储副本背后的真正想法。如果一个具有该块的数据节点不可用,则请求将转到另外两个具有该块的数据节点之一,假设复制因子仍然是默认值 3.
希望对您有所帮助