介绍根据一些文档1、2、3,hdfs的位置感知是关于了解节点的物理位置,并在不同机架上复制数据,以减少因电源和/或交换机问题等引起的机架问题的影响。问题hdfs如何知道节点和机架的物理位置,并随后决定将数据复制到位于其他机架上的节点?
vlju58qv1#
在设置群集时配置机架感知。这可以为每个节点手动完成,也可以通过脚本完成。每个 DataNode 给定一个网络位置,它是一个简单的字符串,很像一个文件系统路径。例子:
DataNode
datacenter-1/rack-1/node1 datacenter-1/rack-1/node2 datacenter-1/rack-2/node3
这个 NameNode 然后使用每个节点的网络位置构建网络拓扑(基本上是树形结构) DataNode . 然后使用此拓扑来确定块副本的放置。
NameNode
oo7oh9g92#
有人需要知道数据节点在网络拓扑中的位置,并使用这些信息智能地决定数据副本应该存在于集群中的什么位置。“某人”是节点的名字。名称节点存储此信息,并且是命名空间的名称。namenode是hdfs文件系统的核心。它保存文件系统中所有文件的目录树,并跟踪文件数据在集群中的存放位置。它本身不存储这些文件的数据。客户机应用程序在希望定位文件或希望添加/复制/移动/删除文件时都会与namenode通信。namenode通过返回数据所在的相关datanode服务器的列表来响应成功的请求。
2条答案
按热度按时间vlju58qv1#
在设置群集时配置机架感知。这可以为每个节点手动完成,也可以通过脚本完成。
每个
DataNode
给定一个网络位置,它是一个简单的字符串,很像一个文件系统路径。例子:
这个
NameNode
然后使用每个节点的网络位置构建网络拓扑(基本上是树形结构)DataNode
. 然后使用此拓扑来确定块副本的放置。oo7oh9g92#
有人需要知道数据节点在网络拓扑中的位置,并使用这些信息智能地决定数据副本应该存在于集群中的什么位置。“某人”是节点的名字。
名称节点存储此信息,并且是命名空间的名称。
namenode是hdfs文件系统的核心。它保存文件系统中所有文件的目录树,并跟踪文件数据在集群中的存放位置。它本身不存储这些文件的数据。
客户机应用程序在希望定位文件或希望添加/复制/移动/删除文件时都会与namenode通信。namenode通过返回数据所在的相关datanode服务器的列表来响应成功的请求。