🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
## hdfs的体系结构。 我们首先介绍HDFS的体系结构,HDFS采用了主从(Master/Slave)结构模型,一个HDFS集群是由一个NameNode和若干个DataNode组成的。 其中NameNode作为主服务器,管理文件系统的命名空间和客户端对文件的访问操作;集群中的DataNode管理存储的数据。 HDFS允许用户以文件的形式存储数据。从内部来看,文件被分成若干个数据块,而且这若干个数据块存放在一组DataNode上。 NameNode执行文件系统的命名空间操作,比如打开、关闭、重命名文件或目录等, 它也负责数据块到具体DataNode的映射。DataNode负责处理文件系统客户端的文件读写请求, 并在NameNode的统一调度下进行数据块的创建、删除和复制工作。图1-3给出了HDFS的体系结构。 ![](https://img.kancloud.cn/19/4d/194d7094b20449c1b29e62b3c35bb2ce_818x483.png) NameNode和DataNode都被设计成可以在普通商用计算机上运行。 这些计算机通常运行的是GNU/Linux操作系统。HDFS采用Java语言开发,因此任何支持Java的机器都可以部署NameNode和DataNode。 一个典型的部署场景是集群中的一台机器运行一个NameNode实例,其他机器分别运行一个DataNode实例。 当然,并不排除一台机器运行多个DataNode实例的情况。集群中单一的NameNode的设计则大大简化了系统的架构。 NameNode是所有HDFS元数据的管理者,用户数据永远不会经过NameNode。