0

Introduction

According to several documentation 1, 2, 3 HDFS' Location Awareness is about knowing the physical location of nodes and replicating data on different racks to reduce the impact of rack issues due to, e.g. power supply and/or switch issues.

Question

How does HDFS know the physical location of nodes and racks and subsequently decide to replicate data to nodes located on other racks?

4

2 回答 2

2

设置集群时配置机架感知。这可以为每个节点手动完成,也可以通过脚本完成。

每个DataNode都有一个网络位置,它是一个简单的字符串,很像文件系统路径。

例子:

datacenter-1/rack-1/node1
datacenter-1/rack-1/node2
datacenter-1/rack-2/node3

然后NameNode使用每个DataNode. 然后使用此拓扑来确定块副本放置。

于 2014-06-10T19:09:15.117 回答
1

有人需要知道数据节点在网络拓扑中的位置,并使用该信息来做出关于数据副本应该存在于集群中的哪个位置的智能决策。那个“某人”就是名称节点。

Name 节点存储此信息并且是命名空间。

NameNode 是 HDFS 文件系统的核心。它保存文件系统中所有文件的目录树,并跟踪文件数据在集群中的保存位置。它不存储这些文件本身的数据。

客户端应用程序在他们想要定位文件时,或者当他们想要添加/复制/移动/删除文件时与 NameNode 通信。NameNode 通过返回数据所在的相关 DataNode 服务器列表来响应成功的请求。

于 2014-06-10T18:34:49.063 回答