首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么是本地DataNode?

什么是本地DataNode?
EN

Stack Overflow用户
提问于 2016-01-02 09:02:57
回答 2查看 597关注 0票数 0

我正在阅读雅虎在https://developer.yahoo.com/hadoop/tutorial/module2.html制作的hadoop模块,这里提到的是“本地DataNode”,我想知道什么是本地DataNode。我猜是一台NameNode的机器,同时也是一台DataNode,但我想知道它到底是什么。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-01-02 09:13:15

在Hadoop中,默认情况下,每个数据块被复制3次(复制因子为3)。

为了确保数据的可用性和持久性,Hadoop将副本放置在3个不同的数据节点中:

  • 本地数据节点:客户端启动写入的数据节点(例如,使用hadoop fs -cp命令)。第一个复制品放在这里。如果客户端正在从集群外部写入数据,则随机选择此节点。它是第一个副本被写入的节点。
  • 非机架数据节点:数据节点,它存在于另一个机架上.第二个复制品放在这里。
  • On-Rack数据节点:数据节点,它与第一个数据节点物理地存在于同一机架上。第三个复制品放在这里

这确保了,即使一个机架发生故障,数据仍然可以在另一个机架中的数据节点上使用。

因此,在本教程中,本地数据节点是指发起写操作的数据节点。

让我们举个例子。让我们假设您试图将文件a.txt复制到HDFS中。让我们假设集群有3个机架,并且是机架感知的:

代码语言:javascript
复制
Rack 1: Node 1, Node 2
Rack 2: Node 3, Node 4
Rack 3: Node 5, Node 6

Also, you have another Node: Node 7, which is outside the Hadoop cluster, but is connected 
to the cluster and you can perform HDFS operations.

案例1:集群内的客户端

让我们假设您从Node 1(在Rack 1上)执行hadoop fs -copyFromLocal a.txt /tmp/。然后Hadoop将尝试按以下方式放置副本:

  • 第一个副本放在节点1上,这是客户机的本地数据节点
  • 第二个副本放置在第2行(节点3或节点4)或第3行(节点5或节点6)上。这里是Off-Rack Data Node
  • 第三个副本放在节点2上,这是 on -Rack Data Node.

案例2:集群外的客户端

让我们假设您从Node 7执行hadoop fs -copyFromLocal a.txt /tmp/ (它不是集群的一部分,客户端在集群上运行)。然后Hadoop将尝试按以下方式放置副本:

  • 它将随机选择其中一个节点(从节点1到节点6的任何节点)。然后这个节点将成为本地数据节点。让我们假设它选择Node 6,它位于Rack 3上。
  • 现在,第二个副本放在Rack 1 (Node 1或Node 2)或Rack 2 (Node 3或Node 4)上。这里是Off-Rack Data Node
  • 第三个副本放在节点5上,这是 on -Rack Data Node

理想情况下,复制放置应该是这样的。但是,这取决于不同机架和节点上可用的空间。

票数 2
EN

Stack Overflow用户

发布于 2016-01-02 14:35:20

我也同意本地数据节点的Manjunath定义

我们可以得出结论,Local Data Node是客户端程序编写第一个副本的节点。您可以将本地数据节点视为本地数据节点中的DataNade。

寻址查询前的

Hadoop为distributed storagedistributed processing提供了以Tera/Peta字节为单位的大量数据的框架。

您引用的文章与分布式存储HDFS有关

*关于您的查询*

我指的是MapReduce,第一个处理映射任务的是本地DataNode -

MapReduce框架由单个主ResourceManager、每个集群节点一个从NodeManager和每个应用程序 (http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/YARN.html)组成。

因此块放置(HDFS写)与地图缩减处理没有任何关系。

Mappers & Reducer节点是根据不同的标准选择的。

分布式存储:

代码语言:javascript
复制
HDFS processes: Name Node / Stand By Name Node + Data Node

分布式处理(地图减少/纱线):

代码语言:javascript
复制
YARN processes : Resource Manager + Node Manager + Application Master (aka MRAppMaster)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34564231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档