HDFS的简介

分布式的文件系统,基于流数据模式访问和处理超大文件的分布式文件系统





Hadoop Distributed File System









HDFS的优点

处理超大文件

流数据访问

运行廉价的商用服务器上





HDFS的缺点

无法高效存储大量的小文件(元数据信息增大会造成NameNode的压力增大)

不适合处理低延迟的数据访问

不支持多用户对同一个文件的写入

不支持任意的修改





HDFS的特点

高容错性,三个副本,

可扩展和配置性(可以任意增加节点)

夸平台

机架感知

负载均衡

shell命令接口

安全模式(不允许写,监测数据块,不允许执行JOB)





HDFS的核心设计

数据块(Block):数据以块固定大小的方式进行存储,128M

数据复制:以块来进行复制,可以配置复制因子 默认是3个

数据副本的存放策略:

分布存储在不同的节点上

每个数据块保存默认是3个副本

同一个数据的三个副本的存放

第一个副本存在离客户端近的机架上的某一台节点上

第二个副本存在相邻或者另外一个机架上的某一台节点上

机架感知

心跳机制:从节点通过NodeManager 向主节点ResourceManager每隔3秒钟发送心跳数据(从节点的cup 内存 磁盘等等资源使用情况)

ResourceManager在心跳的返回值中分配任务和指令给从节点的NodeManager









HDFS的体系结构

主从架构

Master/Slave

NameNode(元数据管理和存放)

SecondaryNameNode(辅助NameNode将edit和fsimage文件进行合并,生成新的fsimage,然后将文件返回给NameNode)

DataNode 从节点,用来存放数据的



Write:向HDFS写入文件

客户端-------》ResourceManager

NameNode  DataNode

Client-----》NameNode (提供blockId的列表)

Client-----》DataNode



Read:向HDFS读取文件

Client-----》ResourceManager

NameNode  DataNode

Client-----》NameNode(文件的名字...)

Clinet-----》DataNode

HDFS的设计目标

监测故障和快速恢复

大规模数据集的处理

流式数据访问

简化一致性模型,一次写入,多次读取

移动计算要比移动数据的代价要低

在异构的平台上可以移植

通信协议是基于tcpip的ipc rpc协议

HDFS--笔记的更多相关文章

  1. HDFS笔记——技术点汇总

    目录 · 概况 · 原理 · HDFS 架构 · 块 · NameNode · SecondaryNameNode · fsimage与edits合并 · DataNode · 数据读写 · 容错机制 ...

  2. HDFS笔记(一)

    1. HDFS 是什么? Hadoop分布式文件系统(Distributed File System)-HDFS(Hadoop Distributed File System) 2. HDFS 架构 ...

  3. hdfs笔记

    Distributed File System 数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来管理多台机器上的文 ...

  4. 【Hadoop】HDFS笔记(三):HDFS的Shell操作

    HDFS处理文件的命令和Linux命令差不多,但注意区分大小写. (Linux区分大小写,Windows不区分大小写) 一.fs命令 键入命令"./bin/hadoop fs"将输 ...

  5. 【Hadoop】HDFS笔记(二):HDFS的HA机制和Federation机制

    HA解决了HDFS的NameNode的单点问题: Federation解决了整个HDFS集群中只有一个名字空间,并且只有单独的一个NameNode管理所有DataNode的问题. 一.HA机制(Hig ...

  6. 【Hadoop】HDFS笔记(一):Hadoop的RPC机制

    RPC(Remote Procedure Call, 远程过程调用)主要面对两个问题: 1.对象调用方式: 2.序列/反序列化机制. Hadoop实现的RPC组件依赖于Hadoop Writable类 ...

  7. HDFS笔记(二)

    fsimage : NameNode启动时,对文件系统的快照 eidt logs : NameNode启动后,对文件系统的改动序列 namenode在全局里就一个进程,所以存在单点问题 DataNod ...

  8. 学习笔记—MapReduce

    MapReduce是什么 MapReduce是一种分布式计算编程框架,是Hadoop主要组成部分之一,可以让用户专注于编写核心逻辑代码,最后以高可靠.高容错的方式在大型集群上并行处理大量数据. Map ...

  9. Hadoop1.x HDFS系统架构

    1. HDFS中的一些概念1.1 数据块1.2 NameNode和DataNode1.2.1 管理者:Namenode1.2.1 工作者:Datanode1.3 Secondary Namenode1 ...

  10. HDFS Federation (读书笔记)

    HDFS Federation (读书笔记) HDFS的架构 HDFS包含两个层次:命名空间管理(Namespace) 和 块/存储管理(Block Storage). 命名空间管理(Namespac ...

随机推荐

  1. oracle数据库知识点

    1.oracle启动后的服务 1. Oracle ORCL VSS Writer Service:Oracle卷映射拷贝写入服务,VSS(Volume Shadow Copy Service)能够让存 ...

  2. UNREFERENCED_PARAMETER

    作用:告诉编译器,已经使用了该变量,不必检测警告! 在VC编译器下,如果您用最高级别进行编译,编译器就会很苛刻地指出您的非常细小的警告.当你生命了一个变量,而没有使用时,编译器就会报警告:" ...

  3. 【POJ】2348 Euclid's Game(扩欧)

    Description Two players, Stan and Ollie, play, starting with two natural numbers. Stan, the first pl ...

  4. hdu4081(秦始皇的道路系统)

    During the Warring States Period of ancient China(476 BC to 221 BC), there were seven kingdoms in Ch ...

  5. JAVA提高一:静态导入、可变参数、增强型for循环、装拆箱

    国庆假期已结束,假期8天,全部在家带娃,体会到了妻子的不容易,需要好好努力来多赚钱了,言归正传.10月份开始进去JAVA 高级语法知识学习,本节复习学习的为:静态导入.可变参数.增强型for循环.装拆 ...

  6. FTP基本操作类大全,外加c#基础公共帮助类

    总结平时用到的一些FTP操作类,方便需要的用到.github地址:https://github.com/Jimmey-Jiang/Common.Utility 1.连接FTP服务器 /// <s ...

  7. gulp使用2-gulp-less及watch和错误提示

    gulpfile.js /** * Created by Administrator on 2017/4/4 0004. */ const gulp = require('gulp'), less = ...

  8. es6的箭头函数

    1.使用语法 : 参数 => 函数语句; 分为以下几种形式 : (1) ()=>语句 (  )=> statement 这是一种简写方法省略了花括号和return 相当于 ()=&g ...

  9. 【转载】使用CSS将图片转换成黑白(灰色、置灰)

    文章转载自 张鑫旭-鑫空间-鑫生活 http://www.zhangxinxu.com/ 原文链接:http://www.zhangxinxu.com/wordpress/?p=2547原文摘要: . ...

  10. 【转载】兼容所有浏览器的JQuery zClip插件实现复制到剪贴板功能

    文章转载自 代码家园 http://www.daimajiayuan.com/ 原文链接:http://www.daimajiayuan.com/sitejs-17973-1.html原文摘要: 相信 ...