您现在的位置:新闻首页>军事直击

大数据系列文章之HDFS系统架构与组件功能

2019-07-09 11:40编辑:admin人气:


HDFS引入

HDFS 是分布式文件系统,首先我们来看一下什么是文件系统

文件系统

文件系统:

看得见的

文件管理:拿windows系统举例,咱们可以看到有各种盘符,盘符下面有各种目录以及文件

看不见的

块(block)管理:文件实际存放的位置是在磁盘中的块内

单机文件系统

windows

FAT16、FAT32、NTFS等等

linux

ext2/3/4、xfs

分布式文件系统

将数据交给多个服务器进行处理

Nutch

之前的文章可以看到 Nutch使用分布式存储解决了数据存放的问题,具体实现方式是怎样的呢?又与HDFS有何渊源呢?

由网络爬虫爬取数据

此时调用drive,这里driver主要做了两件事

存储medatada

文件名、创建时间、文件大小

文件与块(block)的对应关系

块(block)与机器的对应关系

存储block

最后索引服务器调用driver的metadata到对应的服务器取对应的块信息进行分析,生成索引文件

索引文件:关键字 -->

HDFS

这时我们把driver功能抽离出来成为一个通用的功能:HDFS

HDFS会有两种进程:

NameNode:

文件名、创建时间、文件大小

文件与块(block)的对应关系

块(block)与DataNode的对应关系

DataNode:存放block

在上图中

机器A,B,C上都会启动一个DataNode进程用来和NameNode通讯以及进行实际的文件操作

机器D上启动一个NameNode,存放metadata信息以及和DataNode通讯

当有文件操作请求时,会向机器D中的NameNode进程询问metadata信息,机器D中的NameNode进程会将对应结果返回给client

client 根据NameNode返回的结果去对应的DataNode上执行实际的文件操作

HDFS组件

NameNode

主节点,存储文件的metadata(文件名、文件目录、文件属性:生成时间,副本数,文件权限等),以及每个文件的块列表和块所在的DataNode等

DataNode

本地文件系统存储文件块数据,以及块数据的校验和

校验和主要是为了防止在网络通信过程中,block发生损坏,进而保证数据一致性

SecondaryNameNode

监控HDFS状态的辅助后台程序,每隔一段时间获取HDFS的metadata快照

分担NameNode压力,合并编辑日志文件(edits)和镜像文件(fsimage),将最终的镜像文件交给NameNode

当客户端请求过来之后,先写入编辑日志文件内,隔一段时间需要和镜像文件进行合并,这个操作非常占用资源,影响客户端请求质量,所以将这个操作交给SecondaryNameNode进行处理,将最终的镜像文件交给NameNode

(来源:未知)

上一篇:俄欲打造机器人卫星部队

下一篇:没有了



织梦二维码生成器
已推荐
0
  • 凡本网注明"来源:的所有作品,版权均属于中,转载请必须注明中,http://www.087168083236.net。违反者本网将追究相关法律责任。
  • 本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。其他媒体、网站或个人从本网转载时,必须保留本网注明的作品来源,并自负版权等法律责任。
  • 如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。






图说新闻

更多>>
智能工厂中劳工是去是留 AI协作机器人给你答案_4

智能工厂中劳工是去是留 AI协作机器人给你答案



返回首页