HADOOP-HDFS学习一

hadoop采用数据块多副本机制,默认把数据分成64MB,3个备份。一份放在一个机架内的本地节点,另一份放在同一 机架内的另一个节点,第三份放在另一机架的节点上。
HDFS中的文件被划分为块大小相同的多个分块,作为独立的存储单元。文件的所有块并不需要存储在统一磁盘上,他们可以利用集群上的任意一个磁盘进行存储。
HDFS文件系统采用一次写入,多次读取的模式,文件内容一经写入就不再更改,保持数据的一致性。
HADOOP中数据以流式读取为主,一次写入多次读取提高了系统的吞吐量。

namenode:
namenode是hdfs系统中的管理节点,它管理文件系统的命名空间、记录每个文件数据块在datanode上的位置信息和副本信息、协调客户端对文件的访问,记录命名空间内的改动和空间本身属性的改动。
namenode使用事务日志记录hdfs元数据的变化。使用映像文件存储文件系统的命名空间,包括文件映射、文件属性等。
datanode:
datanode节点是hdfs系统中保存数据的节点,负责所在物理节点的存储管理,一次写入,多次读取。datanode定期向namenode提供其保存的数据块的列表,以便于 客户端在获取文件元数据后直接在datanode上进行读写。
secondarynamenode:
一般运行在单独的计算机上,定期从namenode节点获取数据,形成namenode的备份。
客户端:
客户端是hadoop集群的使用者,它通过hdfs的shell和api对系统中的文件进行操作。
机架:
积极是容纳组成集群的普通商用计算机的架子。
hdfs文件数据的存储组织
1.namenode的目录结构

保存数据的文件夹位置由{dfs.name.dir}决定,若配置文件未设置该项,则文件夹放在hadoop安装目录下的/tmp/dfs/name下
(1)current目录:该目录下保存了4个文件
edits:EditLog编辑日志
fsimage:整个系统的空间镜像文件
fstime:上一次检查点的时间
VERSION:保存当前运行的hdfs版本信息
(2)image目录:fsimage文件的保存位置
(3)previous.checkpoint目录:该目录保存的内容与current目录一样,只是这里保存的是上一次检查点的内容。
2.datanode目录结构
保存的数据文件位置由{dfs.data.dir}来决定,若未配置该项。则文件夹放在hadoop安装目录下的/tmp/dfs/data

(1)current目录:已经写入的数据块以及一些系统需要的文件,包括以下文件:
blk_××××,blk_××××.meta:分别表示数据块和对应的元数据
subdir××:当同一目录下文件数超过一定限制时,会新建一个subdir目录,保存多出来的数据块和元数据;这样可以保证同一目录下目录和文件数不会太多,可以提高搜索效率。
VERSION:保存当前运行的hdfs版本信息
(2)tmp:保存的是用户操作引发的写入操作对应的数据块
(3)blockBeingWritten目录:是hdfs系统内部副本创建时(出现副本错误或数据不够等情况)引发的数据块
(4)Detach目录:用于datanode升级

猜你喜欢

转载自blog.csdn.net/weixin_37353303/article/details/82956777
今日推荐