HDFS的NameNode和DataNode有什么区别?

2024-12-25 17:28:36
推荐回答(1个)
回答1:

HDFS是一种分布式文件系统,Hadoop集群借此来存储所有需要分析的输入数据以及由MapReduce作业生成的任何输出结果。HDFS是一种基于数据块的文件系统,它跨越集群中的多个节点,并且使用用户数据可以存储在文件中。它提供了传统的分层文件组织,以便用户或应用程序可以操作(创建、重命名、移动或删除)文件和目录。它还提供了一个流接口,借助于该接口,可使用MapReduce框架运行所选的任何应用程序。HDFS不支持设置硬链接或软链接,因此用户无法寻址到特定数据块或者覆盖文件。HDFS要求进行编程访问,因此用户无法作为文件系统装载。所有HDFS通讯都根据TCP/IP协议分层。https://community.emc.com/docs/DOC-40328
HDFS的关键组件有:
NameNode:单一主元数据服务器,其中包含每个文件、文件位置以及这些文件及其所在的DataNode内的所有数据块的内存映射。
DataNode:每个集群节点均有一个从属DataNode,它为读/写请求提供服务以及按照NameNode的指令执行数据块创建、删除和复制。