加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

HDFS架构中各组件的作用和联系

(2017-10-24 23:06:47)
标签:

hdfs架构

namenode

datanode

secondarynamenode

分类: HDFS
1)Client:
(代表客户)通过与Namenode和DataNode交互从而访问HDFS中的文件。Client提供了一个类似 POSIX的文件系统接口供用户调用。
2)Namenode:
整个集群中只有一个namenode。它是整个系统的“总管”,负责管理HDFS的目录树和相关的文件 元数 据信息。这些信息是以“fsimage”(HDFS元数据镜像文件)和"editlog"(HDFS文件改动日志)两个文 件形式存放在本地磁盘,当HDFS重启时重新构造出来的。此外Namenode还负责监控各个Datanode的健 康状态,一旦发现某个Datanode宕掉,则将该Datanode移出HDFS并重新备份其上面的数据。
3)Secondary NameNode:
最重要的任务不是为NameNode元数据进行热备份,而是定期合并fsimage和edits日志,并传输给 NameNode。这里需要注意的是,为了减小NameNode压力,NameNode自己并不会合并fsimage和 edits,并将文件存储到磁盘上,而是交由Secondary NameNode完成。
4)DataNode:
一般而言,每个Slave节点上安装一个DataNode,它负责实际的数据存储,并将数据信息定期汇报给NameNode。DataNode以固定大小的block为基本单位组织文件内容,默认情况下block大小为64MB。当用户上传一个大的文件到HDFS上时,该文件会被切分成若干个block,分别存储到不同的DataNode;同时,为了保证数据可靠,会将同一个block以流水线方式写到若干个(默认是3,该参数可配置)不同的DataNode上。这种文件切割后存储的过程是对用户透明的。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有