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负责文件 ...
随机推荐
- Mysql数据库左外连接,右外连接,模糊查询
内连接,左外连接,右外连接都是数据库的常用连接与使用手段 内连接 select * from assets_car c inner join category c on a.id = c.id; 左外 ...
- python相关注册登录方式
1.使用django自带功能实现登录/退出登录 使用django自带登录功能,前提生成用户(用户注册)使用的是django自带的user,或称models中用户表继承于django自带的user 1. ...
- 【LeetCode刷题系列 - 003题】Longest Substring Without Repeating Characters
题目: Given a string, find the length of the longest substring without repeating characters. Example 1 ...
- java基础 -- 经典排序
---- 冒泡排序 方法: 1.每次比较相邻的两个数 2. 小的交换在前面 3.每轮结束后最大的数交换到最后 代码实现: /* * 冒泡排序 * */ public class SortNum { ...
- sql语句order by排序问题
根据某个字段的值排序,等于这个值的放最前面,不等的放后面 select * from [DTS_Interface] order by case when from_tag_name='木质饰条' t ...
- CRM--自定义stark
一:启动 解释django的启动 完成以上两步,在app01下创建stark.py文件,就会被加载 (admin.py就是这样启动的) 二:注册 三:设计urls 四:增删改查
- c#Dapper mysql按时间段查询和过滤
#endregion /// <summary> /// 根据条件获取集合 /// </summary> /// <param name="id"&g ...
- windows下运行Eigen
参看:https://blog.csdn.net/zhujiahui622/article/details/50504678## 下载C++下的一个线性代数运算库Eigen并解压:http://eig ...
- struts 1.x 方法探析
public ActionForward index(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpS ...
- java maven compiler设置默认1.8
方法一: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupI ...