前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >HDFS设计之namenode和datanode

HDFS设计之namenode和datanode

作者头像
用户5252199
发布2022-04-18 13:40:35
4540
发布2022-04-18 13:40:35
举报
文章被收录于专栏:大数据技术博文

HDFS 集群节点以master/slave(管理者-工作者模式)运行,namenode就是一个master , 而datanode就是slave 。

一 :namenode的设计

namenode 管理文件系统的命名空间,记录着文件的元数据信息 ,它维护着文件系统树及整颗树内所有文件和目录,这些信息以两个文件的方式永久存储在本地磁盘上:命名空间镜像文件(Namespace image)和编辑日志文件(edit log),namenode也记录着每个文件中各个块所在的数据节点信息,但它并不永久保存块的位置信息,因为这些信息会在系统启动时由数据节点重建。

datanode负责数据的存储和检索,是文件系统的工作节点,受客户端和namenode的调度,并且定期向namenode发送它们所存储的块的列表信息。

从上面的设计图中,可以得知,Namenode在每次重启时,会将edit log中的信息合并到fsimage 镜像文件中,等于说如果namenode一直不重启,会造成以下三种问题:

1):镜像文件是无法实时得到最新的文件块(block)信息的。

2):一旦namenode挂掉,那么我们的文件系统就无法进行恢复了

3):一般namenode作为master,是不会经常进行重启的,从而导致,一方面edit log 会很大,另一方面如果namenode要重启的话,将会花费很长的时间进行处理镜像操作

当然,对于这些问题,hadoop做了对应的容错措施,在下文HDFS组件之Secondary Namenode中会进行详细的概述。

二 :datanode的设计

datanode负责数据的存储和检索,是文件系统的工作节点,受客户端和namenode的调度,并且定期向namenode发送它们所存储的块的列表信息。

namenode作为hdfs的master,一旦出现故障,那么将会导致所有的文件目录丢失,因为我们不知道如何根据datanode中所存储的block进行重建文件,等同于整个文件系统将无法使用,从而,对于namenode的容错处理是非常重要的,那么为此,Hadoop 也提供了以下两种容错机制

1 :备份系统文件元数据信息文件

Hadoop可以通过配置使namenode在多个文件系统上保存元数据的持久状态,这些写操作是实时同步的,并且是原子操作,一般而言,通过将持久状态写入到本地磁盘的同时在写入到一个远程挂载的网络文件系统中

2 :运行一个辅助namenode节点(Secondary Namenode)

Secondary NameNode是一个用来监控HDFS状态的辅助后台程序。就想NameNode一样,每个集群都有一个Secondary NameNode,并且部署在一个单独的服务器上。Secondary NameNode不同于NameNode,它不接受或者记录任何实时的数据变化,但是,它会与NameNode进行通信,以便定期地保存HDFS元数据的 快照。由于NameNode是单点的,通过Secondary NameNode的快照功能,可以将NameNode的宕机时间和数据损失降低到最小。同时,如果NameNode发生问题,Secondary NameNode可以及时地作为备用NameNode使用。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-08-22,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 大数据技术博文 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档