HDFS全称是Hadoop Distributed File System。作为分布式文件系统,具有高容错性的特点。它放宽了POSIX对于操作系统接口的要求,可以直接以流(Stream)的形式访问文件系统中的数据。

HDFS能快速检测到硬件故障,也就是数据节点的Failover,并且自动恢复数据访问。

使用流形式的数据方法特点不是对数据访问时快速的反应,而是批量数据处理时的吞吐能力的最大化。

文件操作原则:

HDFS文件的操作原则是“只写一次,多次读取”。一个文件一旦被创建再写入数据完毕后就不再被修改。这种原则简化了在传统关系型数据库上,高并发模式下的数据一致性问题的问题。

节点通信:

HDFS的数据节点和命名节点,客户端和命名节点间的通信都是基于TCP/ID协议。

文件写入和读取:

对于文件写入的过程,首先客户端发送文件写入请求给命名节点,命名节点告诉客户端它负责管理的数据节点信息,客户端把它要写入的数据按照命名节点告诉它的数据节点信息分割成多个文件块然后发送给数据节点。

对于文件读取的过程,首先客户端发送文件写入请求给命名节点,命名节点告诉客户端它要访问的文件所在的数据节点,客户端去它被告知的数据节点读取数据块。

数据管道式的文件写入:

对于一次文件块的写入,是从客户端向数据节点写入请求文件块写入,数据节点分配一个文件块,客户端写入完毕后需要等待数据节点把该文件块备份到其他的数据节点才算是整个文件块写入的操作完成。然后客户端才可以开始下一个文件块的写入操作。

文件块备份:

对于文件块的备份,一共会有3份。一份放在命名节点指定的数据节点,一份放在所在相同机架上的某个数据节点,一份放在相同机器上的另一个数据节点上(集群中的一台机器可以有多个数据节点)。相同机器上的不同数据节点是应对软件层面上节点失败,而相同机架上不同机器是通过相同的交换机连接通信,在连接线等物理介质和位置上应该是非常接近的,最后的命名节点指定的数据节点应该为了像交换机宕机这种极端的情况而考虑的设计。那么这些备份在什么时候启动呢?心跳检测程序检测数据节点连接失败就启用备份。

文件块复制:

这里的文件复制概念和文件块备份不同的地方时文件块复制是为平衡数据节点存储利用率而设计的。它就是一个Balancer。HDFS中Balancer命名设定了一个起点值来平衡数据节点的磁盘存储利用率。如果某个数据节点被Balancer命令检测到磁盘使用率超过了这个值会把该节点上的文件块复制到其他的磁盘利用率低的节点上。这对于新的节点加入是有帮助的。但是有一点我不明白,这样子就变成是“被动平衡”或者说不是“绝对平衡”。因为如果是绝对平衡就应该检测哪些磁盘上的存储的使用率低,然后从别的节点上把文件块复制过来,最大程度保持整个HDFS的机器上的磁盘使用率平均。但是仔细一想,这样其实弊大于利。为什么?因为这样一来一旦检查频繁就加重了磁盘的繁忙,也没有那么必要这么做,只要磁盘利用率低于我们设定的健康值变可以。

数据校检:

和像SQL Server这类关系数据库产品对于数据页面的提供校检功能一样,HDFS也对文件块进行校检。HDFS用CRC32算法对数据进行校检,产生校检值后存入到数据块文件中,每次读取数据会将校检值和数据进行对比。

安全模式:

HDFS启动时处于安全模式。这段时间内文件系统内的内容不允许被改动和删除。其实这个阶段就跟SQL Server启动时数据库处于Recovering的状态是一样的道理,背面就是在做一些一致性的检查。而HDFS在这段时间就会做像上面说的运行Balancer命令把一些文件块复制到别的数据节点上。

Hadoop ->> HDFS(Hadoop Distributed File System)的更多相关文章

  1. HDFS体系结构:(Distributed File System)

    分布式系统的大概图 服务器越来越多,客户端对服务器的管理就会越来越复杂,客户端如果是我们用户,就要去记住大量的ip. 对用户而言访问透明的就是分布式文件系统. 分布式文件系统最大的特点:数据存储在多台 ...

  2. HDFS(Hadoop Distributed File System )

    HDFS(Hadoop Distributed File System ) HDFS(Hadoop Distributed File System )Hadoop分布式文件系统.是根据google发表 ...

  3. HDFS分布式文件系统(The Hadoop Distributed File System)

    The Hadoop Distributed File System (HDFS) is designed to store very large data sets reliably, and to ...

  4. HDFS(Hadoop Distributed File System )hadoop分布式文件系统。

    HDFS(Hadoop Distributed File System )hadoop分布式文件系统.HDFS有如下特点:保存多个副本,且提供容错机制,副本丢失或宕机自动恢复.默认存3份.运行在廉价的 ...

  5. Yandex Big Data Essentials Week1 Scaling Distributed File System

    GFS Key Components components failures are a norm even space utilisation write-once-read-many GFS an ...

  6. Ceph: A Scalable, High-Performance Distributed File System译文

    原文地址:陈晓csdn博客 http://blog.csdn.net/juvxiao/article/details/39495037 论文概况 论文名称:Ceph: A Scalable, High ...

  7. 5105 pa3 Distributed File System based on Quorum Protocol

    1 Design document 1.1 System overview We implemented a distributed file system using a quorum based ...

  8. HDFS(Hadoop Distributed File System )概述

    目录 一.HDFS概述 二.HDFS特点 三.HDFS集群组成:主从架构---一个主节点,多个从节点 1. NameNode(名称节点 / 主节点)----- HDFS集群的管理者 2. DataNo ...

  9. HDFS(Hadoop Distributed File System)的组件架构概述

    1.hadoop1.x和hadoop2.x区别 2.组件介绍 HDFS架构概述1)NameNode(nn): 存储文件的元数据,如文件名,文件目录结构,文件属性(生成时间,副本数,文件权限),以及每个 ...

随机推荐

  1. window 系统 cygwin swool 问题

    cygwin 终端乱码  端口占用 查看 tcp  端口: netstat -tno  或者 netstat -an | grep 端口 杀死进程号 : kill   进程号 --->  143 ...

  2. 洛谷 P1477 [NOI2008]假面舞会

    题目链接 题目描述 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会. 今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具.每个面具都有一个编号,主办方 ...

  3. 查找表 219.Contains Duplicate(2),217 Contain Duplicate, 220(3)

    思路:滑动窗口(长度为k+1)看这个窗口里的是否有两个元素的值相同.加查找表. //时间:O(n) //空间:O(k) class Solution { public: bool containsNe ...

  4. SPOJ - FREQ2 莫队 / n^1.5logn爆炸

    题意:给定\(a[1...n]\)和\(Q\)次询问,每次统计\([L,R]\)范围内出现频率最高的数的次数 想法没啥好说的,分别统计该数出现的次数和次数出现的次数,然后莫队暴力 注意本题时间卡的很紧 ...

  5. Codeforces - 71E 状压DP

    参考官方题解 #include<bits/stdc++.h> #define rep(i,j,k) for(register int i=j;i<=k;i++) #define rr ...

  6. Oracle Pipelined Table Functions简介

    转自: http://www.linuxidc.com/Linux/2011-05/35797.htm //概况   //基本上,当你希望一个PLSQL(或者java或者c)程序作为数据源,而不是表, ...

  7. Tomcat(一)Tomcat常用配置

    操作系统:win8 Jdk版本:1.7.0_51 Jdk目录:C:\Program Files\Java\jdk1.7.0_51 Tomcat版本:8.0.3 Tomcat目录:D:\Program  ...

  8. PIE SDK打开网络地图数据

    1. 数据介绍 网络地图数据是在线地图服务发布出来的数据,其支持数据的网络查看和传输,极大的促进了GIS的发展. 目前PIE SDK支持百度地图.谷歌地图.高德地图.天地图.Bing地图.ArcGIS ...

  9. C/S架构与B/S架构的区别

    什么是C/S结构和B/S结构? C/S结构 C/S结构是指Client/Server (客户机/服务器) 结构,是大家熟知的软件系统体系结构,通过将任务合理分配到Client端和Server端,降低了 ...

  10. 一套完整的VI包含哪些元素

    VI设计,即视觉识别系统,企业VI设计是企业品牌建设的重中之重.最近很多人都在问,一套完整的企业VI设计都包括哪些内容?笔者站在一个高级设计师的角度,来简单谈一谈VI设计包括哪些内容.文中指出,一套完 ...