HDFS基本架构及概念介绍
简单介绍
l 设计思想
分而治之:将大文件、大批量文件,分布式存放在大量服务器上,以便于采取分而治之的方式对海量数据进行运算分析;
l 在大数据系统中作用:
为各类分布式运算框架(如:mapreduce,spark,tez,……)提供数据存储服务
l 重点概念:文件切块,副本存放,元数据
HDFS概念和特性
首先,它是一个文件系统,用于存储文件,通过统一的命名空间——目录树来定位文件
其次,它是分布式的,由很多服务器联合起来实现其功能,集群中的服务器有各自的角色;
架构图

- namenode存储文件系统的元数据信息 -->基于内存,不会和磁盘发生交换
- datanode存储实际的数据块
- datanode定时发送心跳还有块报告信息给namenode
- 客户端通过与namenode通信获取文件的元数据信息,再通过获取到的元数据信息直接和datanode交互进行I/O操作
角色介绍
Client:客户端
文件切分,文件上传到HDFS时,Client负责将文件切分成一个个Block进行存储
与Namenode交互,获取文件的元数据信息
与Datanode交互,读取或写入数据
提供一些命令来管理HDFS
通过一些命令来访问HDFS
metadata:元数据
文件owership和permissions
文件大小和时间
(block列表,偏移量)
block每个副本位置(datanode上报)
block:文件线性切割块
偏移量:offset(byte)
分散存储在集群节点中
单一文件block大小一致,文件与文件可以不一致
可以设置副本数,不能超过节点数量,必须分散在不同节点上
已上传文件副本数可以调整,大小不能改变
一次写入多次读取,同时只允许一个用户写入,可以append追加数据
NameNode:主节点
管理 HDFS 的名称空间(NameSpace)
管理数据块(Block)映射信息
配置副本策略
处理客户端读写请求
DataNode:从节点
本地磁盘存储block,文件形式
同时存储block的元数据信息文件
启动DN时向NN汇报block信息
通过向namenode发送心跳保持联系(3s/次),如果namenode10分钟没有收到心跳,则认为其已经lost,并copy其上的block到其他DataNode
Secondary NameNode:非 NameNode 热备。NameNode 挂掉时,它并不能马上替换 NameNode 并提供服务
辅助 NameNode,分担其工作量
定期合并 fsimage和fsedits,并推送给NameNode
在紧急情况下,可辅助恢复 NameNode
(注:适合用来做数据分析,并不适合用来做网盘应用,因为,不便修改,延迟大,网络开销大,成本太高)
HDFS基本架构及概念介绍的更多相关文章
- HDFS 原理、架构与特性介绍--转载
原文地址:http://www.uml.org.cn/sjjm/201309044.asp 本文主要讲述 HDFS原理-架构.副本机制.HDFS负载均衡.机架感知.健壮性.文件删除恢复机制 1:当前H ...
- HDFS 原理、架构与特性介绍
本文主要讲述 HDFS原理-架构.副本机制.HDFS负载均衡.机架感知.健壮性.文件删除恢复机制 1:当前HDFS架构详尽分析 HDFS架构 •NameNode •DataNode •Senc ...
- 【Hadoop】一、HDFS简介及基本概念
当需要存储的数据集的大小超过了一台独立的物理计算机的存储能力时,就需要对数据进行分区并存储到若干台计算机上去.管理网络中跨多台计算机存储的文件系统统称为分布式文件系统(distributed fi ...
- HDFS简介及基本概念
(一)HDFS简介及其基本概念 HDFS(Hadoop Distributed File System)是hadoop生态系统的一个重要组成部分,是hadoop中的的存储组件,在整个Hadoop中 ...
- 【Oracle 集群】ORACLE DATABASE 11G RAC 知识图文详细教程之集群概念介绍(一)
集群概念介绍(一)) 白宁超 2015年7月16日 概述:写下本文档的初衷和动力,来源于上篇的<oracle基本操作手册>.oracle基本操作手册是作者研一假期对oracle基础知识学习 ...
- HBase的基本架构及其原理介绍
1.概述:最近,有一些工程师问我有关HBase的基本架构的问题,其实这个问题仅仅说架构是非常简单,但是需要理解.在这里,我觉得可以用HDFS的架构作为借鉴.(其实像Hadoop生态系统中的大部分组建的 ...
- 初步掌握HDFS的架构及原理
目录 HDFS 是做什么的 HDFS 从何而来 为什么选择 HDFS 存储数据 HDFS 如何存储数据 HDFS 如何读取文件 HDFS 如何写入文件 HDFS 副本存放策略 Hadoop2.x新特性 ...
- 理解MySQL——架构与概念
写在前面:最早接触的MySQL是在三年前,那时候MySQL还是4.x版本,很多功能都不支持,比如,存储过程,视图,触发器,更别说分布式事务等复杂特性了.但从5.0(2005年10月)开始,MySQL渐 ...
- hdfs文件系统架构详解
hdfs文件系统架构详解 官方hdfs分布式介绍 NameNode *Namenode负责文件系统的namespace以及客户端文件访问 *NameNode负责文件元数据操作,DataNode负责文件 ...
随机推荐
- Shell 运算相关
一.${str} 二.变量替换 三.3种计算字符串长度的效率比较 四.(())用法 五.expr 六.bc 4种连续整数求和效率 七.条件测试 八.字符串测试
- 使用syslog服务器存储cp防火墙日志配置
版本:R80.20 step1:创建syslog 服务器,如下图: step2:配置syslog 服务器,如下图: step3:配置网关日志服务器,添加设定的syslog服务器,如下图: st ...
- Python的range()函数用法
Python的range()函数有三种用法,简单地说就是下图的三种用法: 运行结果如下:
- 洛谷 P1426小鱼会有危险吗
题目: 有一次,小鱼要从A处沿直线往右边游,小鱼第一秒可以游7米,从第二秒开始每秒游的距离只有前一秒的98%.有个极其邪恶的猎人在距离A处右边s米的地方,安装了一个隐蔽的探测器,探测器左右x米之内是探 ...
- EasyUI的datagrid加载数据去掉遮罩
转自:https://blog.csdn.net/why15732625998/article/details/77977570 代码: $(".datagrid-mask").r ...
- JavaScript获取扫码枪相关资料
https://blog.csdn.net/jiongxian1/article/details/78906124 https://blog.csdn.net/jifengdalu/article/d ...
- django .all .values .value_list 数据库获取数据
.all 获取所有的对象 .values 获取所有的字典 .value_list 获取所有的元组
- ORACLE窗口函数
--ORACLE窗口函数,是针对分析用的. --create tablecreate table EMP ( empno NUMBER(4) not null, ename VARCHAR2(10), ...
- si_da
1. apt-get 从互联网的软件仓库中搜索.安装.升级.卸载软件或操作系统 一般需要root权限执行,所以一般跟着sudo命令 sudo ifstat apt-get install -y ifs ...
- TCP与UDP基本认识及区别
TCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少: 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 ...