【hadoop】 2001-hdfs原理

2023-11-29 04:32
文章标签 原理 hdfs hadoop 2001

本文主要是介绍【hadoop】 2001-hdfs原理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

HDFS是一个主/从(Mater/Slave)体系结构,从最终用户的角度来看,它就像传统的文件系统一样,可以通过目录路径对文件执行 CRUD(Create、Read、Update和Delete)操作。但由于分布式存储的性质,HDFS集群拥有一个 NameNode和一些  DataNode。NameNode管理文件系统的 元数据,DataNode 存储实际的数据。客户端通过同NameNode和DataNodes的交互访 问文件系统。客户端联系NameNode以获取文件的元数据,而真正的文件I/O操作是直接和DataNode进行交互的。


1、HDFS
由NameNode(管理者)-DataNode(工作者)组成
NameNode:管理文件系统命名、维护所有文件和目录、记录每个文件中各个块在数据节点的信息,接收用户的操作请求。
DataNode: 文件存储基本单元。文件系统工作节点,存储并检索数据块,并且定期向NameNode发送他们所存储块的列表。

fsimage: 存储NameNode内存元数据信息,存储内存数据,内存数据序列化到磁盘上。
edits:操作日志文件
fstime:保持最近一次checkpoint的时间。

fsimage + edits 合并,生成新的fsimage,在本地保存,并将其推送到NameNode,
替换旧的fsimage
fs.checkpoint.period : 两次checkpoint的最大时间间隔,默认3600s。需要满足两足
Hadoop2.x 版本在HDFS中增加对高可用性(HA)的支持,配置一对 活动-备用(active-standby)namenode


HDFS中的数据块(block)
Hadoop1.x版本HDFS默认数据块大小64M
Hadoop2.x版本HDFS默认数据块大小128M
数据块:是文件存储处理的单元


2、HDFS架构



3、元数据存储细节

                                                                      NameNode Metadata



文件名: /test/a.log 
复制因子: 3
文件分成 两块: blk_1,blk_2
每块存储位置: blk_1 存储在 h0,h1,h3 主机上,bllk_2存储在 h0,h2,h4主机上 

      1)NameNode、DataNode和Client

  • NameNode可以看作是分布式文件系统中的管理者,主要负责管理文件系统的命 名空间、集群配置信息和存储块的复制等。NameNode会将文件系统的Meta-data存储在内存中,这些信息主要包括了文件信息、每一个文件对应的 文件块的信息和每一个文件块在DataNode的信息等。
  • DataNode是文件存储的基本单元,它将Block存储在本地文件系统中,保存了Block的Meta-data,同时周期性地将所有存在的Block信息发送给NameNode。
  • Client就是需要获取分布式文件系统文件的应用程序。

  2)文件写入

  • Client向NameNode发起文件写入的请求。
  • NameNode根据文件大小和文件块配置情况,返回给Client它所管理部分DataNode的信息。
  • Client将文件划分为多个Block,根据DataNode的地址信息,按顺序写入到每一个DataNode块中。

  3)文件读取

  • Client向NameNode发起文件读取的请求。
  • NameNode返回文件存储的DataNode的信息。
  • Client读取文件信息。

参考文章: 
hdfs读文件详解: http://www.cnblogs.com/maybob/archive/2013/04/25/3042780.html

hdfs架构: http://blog.csdn.net/xman_2009/article/details/9391745

这篇关于【hadoop】 2001-hdfs原理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/431449

相关文章

MySQL中的MVCC底层原理解读

《MySQL中的MVCC底层原理解读》本文详细介绍了MySQL中的多版本并发控制(MVCC)机制,包括版本链、ReadView以及在不同事务隔离级别下MVCC的工作原理,通过一个具体的示例演示了在可重... 目录简介ReadView版本链演示过程总结简介MVCC(Multi-Version Concurr

Redis主从/哨兵机制原理分析

《Redis主从/哨兵机制原理分析》本文介绍了Redis的主从复制和哨兵机制,主从复制实现了数据的热备份和负载均衡,而哨兵机制可以监控Redis集群,实现自动故障转移,哨兵机制通过监控、下线、选举和故... 目录一、主从复制1.1 什么是主从复制1.2 主从复制的作用1.3 主从复制原理1.3.1 全量复制

Redis主从复制的原理分析

《Redis主从复制的原理分析》Redis主从复制通过将数据镜像到多个从节点,实现高可用性和扩展性,主从复制包括初次全量同步和增量同步两个阶段,为优化复制性能,可以采用AOF持久化、调整复制超时时间、... 目录Redis主从复制的原理主从复制概述配置主从复制数据同步过程复制一致性与延迟故障转移机制监控与维

SpringCloud配置动态更新原理解析

《SpringCloud配置动态更新原理解析》在微服务架构的浩瀚星海中,服务配置的动态更新如同魔法一般,能够让应用在不重启的情况下,实时响应配置的变更,SpringCloud作为微服务架构中的佼佼者,... 目录一、SpringBoot、Cloud配置的读取二、SpringCloud配置动态刷新三、更新@R

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

Hadoop企业开发案例调优场景

需求 (1)需求:从1G数据中,统计每个单词出现次数。服务器3台,每台配置4G内存,4核CPU,4线程。 (2)需求分析: 1G / 128m = 8个MapTask;1个ReduceTask;1个mrAppMaster 平均每个节点运行10个 / 3台 ≈ 3个任务(4    3    3) HDFS参数调优 (1)修改:hadoop-env.sh export HDFS_NAMENOD

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

HDFS—集群扩容及缩容

白名单:表示在白名单的主机IP地址可以,用来存储数据。 配置白名单步骤如下: 1)在NameNode节点的/opt/module/hadoop-3.1.4/etc/hadoop目录下分别创建whitelist 和blacklist文件 (1)创建白名单 [lytfly@hadoop102 hadoop]$ vim whitelist 在whitelist中添加如下主机名称,假如集群正常工作的节

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd