高端品牌网站建设方案,怎么利用网站上的图片,微信h5页面制作模板,wordpress修改版权 违法HDFS架构刨析 概述HDFS架构图整体概述主角色#xff1a;namenodefsimage内存元数据镜像文件edits log#xff08;Journal#xff09;编辑日志 从角色#xff1a;datanode主角色辅助角色#xff1a;secondarynamenode 重要特性主从架构分块存储机制副本机制namespace元数据… HDFS架构刨析 概述HDFS架构图整体概述主角色namenodefsimage内存元数据镜像文件edits logJournal编辑日志 从角色datanode主角色辅助角色secondarynamenode 重要特性主从架构分块存储机制副本机制namespace元数据管理数据块存储 概述
HDFS是Hadoop distribute file system的简称意味Hadoop分布式文件系统HDFS是Hadoop核心组件之一作为大数据生态圈最底层的分布式存储服务而存在HDFS解决的问题就是大数据如何存储它是横跨在多台计算机上的文件存储系统并且具有高度的容错能力
HDFS架构图
HDFS集群遵循主从架构master/slave。通常包括一个主节点和多个从节点在内部文件分块存储每个块根据复制因子存储在不同的从节点计算机上形成备份主节点存储和管理文件系统namespace即有关文件块的信息例如块位置权限等从节点存储文件的数据块主从各司其职相互配合共同对外提供文件分布式存储服务。当然内部细节对用户来说是透明的
整体概述
HDFS遵循主从架构namenode是主节点负责存储和管理文件系统元数据信息包括namespace目录结构文件块位置信息等datanode是从节点负责存储文件具体的数据块两种角色各司其职共同协调完成分布式的文件存储服务secondarynamenode是主角色的辅助角色帮助主角色进行元数据的合并
主角色namenode
namenode是Hadoop分布式系统的核心架构中的主角色namenode维护和管理文件系统元数据包括名称空间目录树结构文件和块的位置信息访问权限等信息基于此namenode成为访问HDFS的唯一入口namenode内部通过内存和磁盘文件两种方式管理元数据其中磁盘上的元数据文件包括simage内存元数据镜像文件和edits logJournal编辑日志在Hadoop2之前namenode是单点故障。Hadoop2中引入高可用性。Hadoop集群体系结构允许在集群中以热备配置运行两个或多个namenode
fsimage内存元数据镜像文件
fsimage 是 Hadoop 分布式文件系统HDFS的内存元数据镜像文件。它包含了关于文件系统命名空间、文件块信息、权限和属性等元数据的详细记录。
fsimage 文件是 HDFS 中重要的元数据文件用于恢复文件系统的状态和内容。当 HDFS 启动时它会读取 fsimage 文件并将其中的元数据加载到内存中以便提供文件系统的元数据服务。当文件系统发生变化时如创建、删除或修改文件HDFS 会将这些变化记录在编辑日志edits log中然后可以根据编辑日志和当前的 fsimage 文件来恢复文件系统的状态。
由于 fsimage 文件是完整的元数据镜像它可以在文件系统启动时快速加载到内存从而加快了文件系统的启动速度。此外fsimage 文件还可以进行压缩来减小文件大小并且可以定期生成检查点以保证文件系统的一致性和可靠性。
需要注意的是fsimage 文件只包含元数据信息不包含实际的文件数据。实际的文件数据存储在 HDFS 的数据块中而不是 fsimage 文件中。
总结起来fsimage 文件是 HDFS 中的内存元数据镜像文件用于恢复文件系统的状态和内容。通过读取 fsimage 文件和编辑日志HDFS 可以在启动时加载元数据并提供文件系统的服务。
edits logJournal编辑日志
edits log也称为编辑日志是 Hadoop 分布式文件系统HDFS中的一种日志文件用于记录对文件系统的变更操作。
在 HDFS 中当发生文件系统的变更操作时例如创建、删除、重命名文件或目录以及修改文件的权限或属性这些变更将会被记录在 edits log 中。edits log 记录了文件系统的逻辑操作而不是实际的数据块内容。
edits log 具有持久性和顺序性的特点。它是一个追加写日志文件新的变更操作将会被追加到日志文件的末尾。这种顺序写入的方式使得 HDFS 可以快速写入变更操作同时保证了操作的顺序性。
通过记录变更操作在 edits log 中HDFS 可以保证数据的一致性和可恢复性。当文件系统启动时HDFS 会加载 fsimage 文件和最后一个 edits log 文件并根据其中的操作重放文件系统的变更过程从而恢复文件系统的状态。这个过程被称为“日志回放”log replay。
在运行过程中HDFS 会定期将 edits log 合并成较大的文件并创建一个新的空的 edits log 文件以减少日志文件的数量和提高效率。
总结起来edits log 是 HDFS 中的一种日志文件用于记录对文件系统的变更操作。它具有持久性和顺序性特点通过日志回放HDFS 可以恢复文件系统的状态并保证数据的一致性和可恢复性。
从角色datanode
datanode是Hadoop HDFS中的从角色负责具体的数据块存储datanode的数量决定了HDFS集群的整体数据存储能力通过和namenode配合维护着数据块
主角色辅助角色secondarynamenode
除了datanode和namenode之外还有lingerie守护进程它称为secondarynamenode。充当namenode的辅助节点但不能替代namenode当namenode启动时namenode合并Fsimage和edits log文件以还原当前文件系统名称空间。如果edits log过大不利于加载secondarynamonode就辅助namenode从namenode下载Fsimage文件和edits log文件进行合并
重要特性
主从架构
HDFS采用master/slave架构。一般一个HDFS集群是有一个namenode和一定数目的datanode组成namonode是HDFS主角点datanode是HDFS从节点两种角色各司其职共同协调完成分布式的文件存储服务
分块存储机制
HDFS中的文件在物理上是分块存储block的快的大小可以通过配置参数来规定参数位于hdfs-default.xml中dfsblocksize默认大小是128m
副本机制
文件的所有block都会有副本。每个文件的block大小dfs.blocksize)和副本系数dfs.replication)都是可配置的。副本系数可以在文件创建的时候指定也可以在之后通过命令改变默认dfs.replication的值是3也就是会额外再复制2份连同本身共3份副本 namespace
HDFS支持传统的层次型文件组织结构。用户可以创建目录然后将文件保存在这些目录里。文件系统名字空间的层次结构和大多数现有的文件系统类似用户可以创建删除移动或重命名文件namenode负责维护文件系统的namespace名称空间任何对文件系统名称空间或属性的修改都将被namenode记录下来HDFS会给客户端提供一个统一的抽象目录树客户端通过路径来访问文件例如hdfs://namenode:port/dir-a/dir-b/dir-c/file-data 元数据管理
在HDFS中namenode管理的元数据具有两种类型
文件自身属性 文件名称权限修改时间文件大小复制因子数据块大小 文件块位置映射信息 记录文件块和datanode之间的映射信息即哪个块位于哪个节点上 数据块存储
文件的各个block的具体存储管理由datanode节点承担。每一个block都可以在多个datanode上存储