一个HDFS集群有一个Namenode和一定数目的Datanode组成。Namenode是一个中心服务器,负责管理文件系统的namespace和客户端对文件的访问。Datanode在集群中会有多个,一般是一个节点存在一个,负责管理其自身节点上它们附带的存储。在内部,一个大文件其分成一个或多个block,这些block存储在Datanode集合里。Namenode执行文件系统的namespace相关操作,例如打开、关闭、重命名文件和目录,同时决定了block到具体Datanode节点的映射。Datanode在Namenode的指挥下进行block的创建、删除和复制。
单一节点的Namenode大大简化了系统的架构。Namenode负责保管和管理所有的HDFS元数据,因而在请求Namenode得到文件的位置后就不需要通过Namenode参与而直接从Datanode进行。
为了提高Namenode的性能,所有文件的namespace数据都在内存中维护,所以就天生存在了由于内存大小的限制导致一个HDFS集群的提供服务的文件数量的上限。 一个元数据(一个HDFS文件块)占用200Bytes,如果是页面抓取的小文件,那么32GB内存能承载1.5亿左右的文件存储。
Copyright © 2004-2024 Ynicp.com 版权所有 法律顾问:建纬(昆明)律师事务所 昆明市网翼通科技有限公司 滇ICP备08002592号-4