Hadoop(1): HDFS基础架构
1. What's HDFS?
Hadoop Distributed File System is a block-structured file system where each file is divided into blocks of a pre-determined size. These blocks are stored across a cluster of one or several machines. Apache Hadoop HDFS Architecture follows a Master/Slave Architecture, where a cluster comprises of a single NameNode (Master node) and all the other nodes are DataNodes (Slave nodes). In the practical world, these DataNodes are spread across various machines.
2. Basic ideas of HDFS
a.面向大数据:当需要存储巨大的数据集时,有两个选择:其一是所谓的Scale Up or Vertical Scaling,也就是升级你的单机存储空间,并且将该数据集放置在这个单独的存储空间中;其二是Scale Out or Horizontal Scaling,使用多个存储空间,将数据集分割成子集,存放在不同的地方。例如下图:当一辆荷载25人的Bus,坐不下50人时的解决方案:
b.数据存储于Commodity Hardware:使用普通商业硬件存储数据,意味着硬件Failure是正常状态之一,而不是异常,文件系统需要有容错能力(fault tolerance)。所以HDFS中的文件会被复制多份,备份存储于不同的硬件中。
c.数据块(Blocks):HDFS将大数据集,分割成默认为128m的Block进行存储,除最后一个Block之外,其余的Block大小相同。
d.流数据(Streaming Data Access):HDFS采用的并非是面向日常运营活动的OLTP(OnLine Transaction Processing)模式,而是面向分析的OLAP (OnLine Analytical Processing),其基本思想是一次写入,多次读取(Write-Once-Read-Only)
3. Master/Slave Architecture:
a. Name Node (Master)
每个集群(Cluster)有1至2个Name Node,对集群内数据块存储和分布进行管理。Name Node只存储Metadata,而不存储任何用户数据(User data never resides on the NameNode. The data resides on DataNodes only.)。Master Deamon会在Name Node上面运行,用于管理Data Node。在Metadata中存储着Cluster中所有block的存储位置、大小以及filesystem的变更记录(FsImage,EditLogs)。
b.Data Node (Slave)
每个Cluster中,有众多Data Node,用来存储数据。每个Data Node是一个Commodity Hardware,即性能无法保证,访问失败属于正常状态。Slave Deamon会在Data Node上面运行,并且周期性地向Name Node上报Heartbeat(3s).
4. Blocks:Hadoop将超大文件分割为一个个的Blocks,然后将各个Blocks分散到Cluster的各个Data Nodes中。除最后一个Block外,各个Blocks都有相同的大小(128m)。见下图的例子。
Hadoop(1): HDFS基础架构的更多相关文章
- Hadoop系列-HDFS基础
基本原理 HDFS(Hadoop Distributed File System)是Hadoop的一个基础的分布式文件系统,这个分布式的概念主要体现在两个地方: 数据分块存储在多台主机 数据块采取冗余 ...
- 每天收获一点点------Hadoop之HDFS基础入门
一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多 ...
- 深入理解Hadoop之HDFS架构
Hadoop分布式文件系统(HDFS)是一种分布式文件系统.它与现有的分布式文件系统有许多相似之处.但是,与其他分布式文件系统的差异是值得我们注意的: HDFS具有高度容错能力,旨在部署在低成本硬件上 ...
- Hadoop(分布式系统基础架构)---Hive与HBase区别
对于刚接触大数据的用户来说,要想区分Hive与HBase是有一定难度的.本文将尝试从其各自的定义.特点.限制.应用场景等角度来进行分析,以作抛砖引玉之用. Hive是什么? Apache Hive是 ...
- hadoop之yarn详解(基础架构篇)
本文主要从yarn的基础架构和yarn的作业执行流程进行阐述 一.yarn的概述 Apache Yarn(Yet Another Resource Negotiator的缩写)是hadoop集群资源管 ...
- hadoop - hdfs 基础操作
hdfs --help # 所有参数 hdfs dfs -help # 运行文件系统命令在Hadoop文件系统 hdfs dfs -ls /logs # 查看 hdfs dfs -ls /user/ ...
- Hadoop 分布式文件系统:架构和设计
引言 Hadoop分布式文件系统(HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.它和现有的分布式文件系统有很多共同点.但同时,它和其他的分布式文件系统 ...
- b2c项目基础架构分析(二)前端框架 以及补漏的第一篇名词解释
继续上篇,上篇里忘记了也很重要的前端部分,今天的网站基本上是以一个启示页,然后少量的整页切换,大量的浏览器后台调用web服务局部.动态更新页面显示状态这种方式在运作的,从若干年前简单的ajax流行起来 ...
- b2c项目基础架构分析(一)b2c 大型站点方案简述 已补充名词解释
我最近一直在找适合将来用于公司大型bs,b2b b2c的基础架构. 实际情况是要建立一个bs架构b2b.b2c的网站,当然还包括wap站点.手机app站点. 一.现有公司技术人员现状: 1.熟悉asp ...
随机推荐
- hdu6351 Beautiful Now (全排列+循环节)
题目传送门 题意: 给你n和k,你每次能交换n的两个位,问最多k次后的最小和最大值 思路: 考虑到n到1e9,所以可以用全排列来暴力,但是我们不能全排列之前的数位, 因为n中的位数可能相等,那样很难计 ...
- k3 cloud中获取年月日
日期类型字段元素.Date.Year(获取年) 日期类型字段元素.Date.Month(获取月)日期类型字段元素.Date.Day(获取天)
- Windows平台网站图片服务器架构的演进
在主流的Web站点中,图片往往是不可或缺的页面元素,尤其在大型网站中,几乎都将面临“海量图片资源”的存储.访问等相关技术问题.在针对图片服务器的架构扩展中,也会历经很多曲折甚至是血泪教训(尤其是早期规 ...
- tcp 建立连接三次握手
众所周知,tcp是安全的,可靠的,但是为什么呢.要理解这一点,首先先了解tcp的建立连接的原理. 三次握手 第一次握手:由客户端向服务器发送请求,SYN 表示请求连接,seq是序列号(随机选取). 第 ...
- Math对象(min()-max()-ceil()-floor()-round()和abs())
1.Math.min() 功能:求一组数的最小值,返回值:Number 如果里面有非数字则返回NaN 2.Math.max() 功能:求一组数的最大值,返回值:Number 3.Math.ceil() ...
- Python之路-函数基础&局部变量与全局变量&匿名函数&递归函数&高阶函数
一.函数的定义与调用 函数:组织好的.可重复使用的.用户实现单一或者关联功能的代码段.函数能够提高应用的模块性和代码的重复利用率.Python提供了很多内置的函数,比如len等等,另外也可以根据自己的 ...
- SQLServer死锁查询
--查询死锁 select request_session_id spid, OBJECT_NAME(resource_associated_entity_id) tableName from sys ...
- VirtualBox中安装CentOS 7后无法上网问题
1.在VirtualBox的设置界面,点击“网络”, 将虚拟机的“连接方式”设置为桥接模式, “界面名称”选择笔记本的无线网卡(一般是“wireless Network”的选项) 将“接入网线”勾选上 ...
- 模块学习笔记-IR2110/IR2130(上)
引言 IR2110 / IR2113是高压,高速功率MOSFET和IGBT驱动器,具有独立的高端和低端参考输出通道.逻辑输入与标准CMOS或LSTTL输出兼容,低至3.3V逻辑.浮动通道可用于驱动高端 ...
- V7双雄-基于Virtex7XC7VX690T的高性能计算板卡解决方案
北京太速V7双雄-基于Virtex7XC7VX690T的高性能计算板卡