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负责文件 ...
随机推荐
- vscode 好用插件
1.查询文件路径../../有提示: Path Intellisense 2.require 时的包提示(最新版的vscode已经集成此功能) : Npm Intellisense 3.自动帮你完成 ...
- Ubuntu 16.04 安装的那点事
通常,Ubuntu都是与windows共存——安装成双系统的 如果在虚拟机上安装,请参照 https://blog.csdn.net/wyx100/article/details/51582617 U ...
- java代码实现简单的认证——图片验证码形式
前言:认证在互联网中会经常见到,其主要作用是安全问题中防止恶意破解.刷票等.在系统开发中认证的实现也有很多种,什么手机短信认证,邮箱认证等.在这里我使用最基本的验证码的形式进行认证,下面例出过程. 验 ...
- OO_多项式求导_单元总结
概述: 面向对象第一单元的作业是三次难度依次递增的多项式求导.第一次作业是仅包含带符号整数和幂函数的多项式求导,例如:-1+xˆ233-xˆ06:第二次是在前面的基础上增加了三角函数的求导,例如:-1 ...
- ASP.NET Core下发布网站图解
与ASP.NET时代不同,ASP.NET Core不再是由IIS工作进程(w3wp.exe)托管,而是使用自托管Web服务器(Kestrel)运行,IIS则是作为反向代理的角色转发请求到Kestrel ...
- 微信支付遇到的坑---缺少参数total_fee
今天在做微信砍价成功后支付,出现了这个报错 看到报错后,去找total_fee这个参数,调试了半天,total_fee是确定有值的 微信支付的步骤 ① 预支付 商户号,商户秘钥,appid,appse ...
- 解决Tomcat文件上传超时问题.
现象描述: 系统支持多文件分片上传,而且支持进度条实时更新.月底当用户集中大批量做文件上传时,文件经常上传到100%就会卡主.按F12打开管理控制台,报错:“XMLHttpRequest:网络错误 0 ...
- jenkins远程执行脚本时报Bad version number in .class file
这几天在学习jenkins的持续集成和部署,到了最后一步启动服务的时候,遇到了一个这个Bad version number in .class file的报错(如下图). 这个报错在最开始手工部署的时 ...
- 找不到org.restlet.ext.jackson 解决办法
检出 转成maven工程 ,不过最后发现有两个包maven没有找到: <dependency> <groupId>org.restlet.jse</groupId> ...
- 参加公司工作总结会要准备的内容 IT 技术部
季度总结PPT内容: 1.工作总概述:在总结期内完成的具有代表性的工作内容(最好是直观的实现界面或功能演示截图,而不是苍白的文字描述): 2.问题总结:操作有难度或者难以把握的问题,在和相关人员沟通后 ...