HDFS分布式存储中NameNode 和DataNode 有哪些区别
这篇文章主要介绍了HDFS分布式存储中NameNode 和DataNode 有哪些区别,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
分布式存储框架
分布式存储技术的实现,往往离不开底层的分布式存储框架。根据其存储的类型,可分为块存储,对象存储和文件存储。在主流的分布式存储技术中,HDFS 属于文件存储,Swift 属于对象存储,而Ceph 可支持块存储、对象存储和文件存储,故称为统一存储。
HDFS 是Hadoop 核心组成之一,是分布式计算中数据存储管理的基础,被设计成适合运行在通用硬件上的分布式文件系统。
HDFS 的功能模块
(1) Client
Client 是用户与HDFS 交互的手段,当文件上传 HDFS 的时候,Client 将文件切分成一个一个的 Block ,然后进行上传;Client通过与NameNode 交互,来获取文件的位置信息;与 DataNode 交互,读取或者写入数据;Client 还可以提供NameNode 格式化等一些命令来管理HDFS ;同时,Client 可以通过对HDFS 的增删改查等操作来访问HDFS 。
(2) NameNode
NameNode 就是HDFS 的Master 架构,它维护着文件系统树及整棵树内所有的文件和目录,HDFS 文件系统中处理客服端读写请求、管理数据块(Block )的映射信息、配置副本策略等管理工作由NameNode 来完成。
(3) DataNode
NameNode 下达命令,DataNode 执行实际操作。DataNode 表示实际存储的数据块,同时可以执行数据块的读写操作。
(4) Secondary NameNode
Secondary NameNode 的功能主要是辅助NameNode ,分担其工作量;在紧急情况下可以辅助恢复NameNode ,但是它不能替换NameNode 并提供服务。
HDFS 的优势
容错性:数据自动保存多个副本。通过增加副本的形式,提高容错性。其中一个副本丢失以后,可以自动恢复。
可以处理大数据:能够处理数据规模达到GB 、TB 甚至PB 级别的数据;能够处理百万规模以上的文件数量。
可以构建在廉价的机器上,通过多副本机制,提高可靠性。
HDFS 的特点
故障检测和恢复 – 由于 HDFS 包含大量产品硬件,组件故障频繁。因此, HDFS 应具有快速自动故障检测和恢复的机制。
数据集的管理 – HDFS 每个群集都有数百个节点来管理具有大型数据集的应用程序。
数据硬件处理 – 当计算在数据物理附近时,可以高效地完成请求的任务。特别是在涉及大量数据集时,它减少了网络流量并提高了吞吐量。
HDFS 的功能
数据的分布式存储和处理。
Hadoop 提供了一个命令接口来与 HDFS 进行交互。
namenode 和 datanode 的内置服务器可帮助用户轻松检查群集的状态。
对文件系统数据的流式处理访问。
HDFS 提供文件权限和身份验证。
HDFS的架构
下面给出的是 Hadoop 文件系统的体系结构:
HDFS 的元素:
(1) Namenod
Namenode 是包含 GNU/Linux 操作系统的产品硬件。它是一种可以在产品硬件上运行的软件。具有 Namenode 的系统充当主服务器,并执行以下任务。
管理文件系统命名空间
调节客户端对文件的访问
执行文件系统操作,如重命名、关闭和打开文件和目录。
(2) Datanode
Datanode 是具有 GNU/Linux 操作系统和数据内核软件的产品硬件。对于 cluster (群集)中的每个产品硬件 / 系统,都将有一个数据节点,这些节点管理其系统的数据存储。
根据客户端请求在文件系统上执行读写操作。
根据 namenode 的说明执行块创建、删除和复制等操作。
(3) Block
通常,用户数据存储在 HDFS 的文件中。文件系统中的文件将分为一个或多个片段存储在单个数据节点中。这些文件段称为block 。换句话说, HDFS 可以读取或写入的最小数据量称为 block 。默认块大小为 64MB ,可以根据 HDFS 配置进行更改。
感谢你能够认真阅读完这篇文章,希望小编分享的"HDFS分布式存储中NameNode 和DataNode 有哪些区别"这篇文章对大家有帮助,同时也希望大家多多支持,关注行业资讯频道,更多相关知识等着你来学习!