参考:http://www.cnblogs.com/linuxprobe/p/5594431.html

1.初识HDFS

    HDFS作为一个分布式文件系统,具有高容错的特点,它可以部署在廉价的通用硬件上,提供高吞吐率的数据访问(吞吐率:是对一个系统和它的部件处理传输数据请求能力的总体评价),适合那些需要处理海量数据集的应用程序。

1.1 HDFS主要特性

  • 支持超大文件。超大文件在这里指的是几百MB,几百GB甚至几TB大小的文件,一般来说,一个Hadoop文件系统会存储T(1TB = 1024GB)、P(1P = 1024T)级别的数据。Hadoop需要能够支持这种级别的大文件。
  • 检测和快速应对硬件故障。在大量通用硬件平台上构建集群时,故障,特别是硬件故障是常见的问题。一般的HDFS系统是由数百台甚至上千台存储着数据文件的服务器组成,这么的服务器意味着高故障率。因此,故障检测和自动恢复是HDFS的一个设计目标。
  • 流式数据访问。(流式数据:来一点,处理一点)HDFS处理的数据规模都比较大,应用一次需要访问大量的数据。同时,这些应用一般是批量处理,而不是用户交互处理。HDFS使应用程序能够以流的形式访问数据集,注重的是数据的吞吐量,而不是数据访问的速度。
  • 简化的一致性模型。大部分的HDFS程序操作文件时需要一次写入,多次读取。在HDFS中,一个文件一旦经过创建、写入、关闭后,一般就不需要修改了。这样简单的一致性模型,有利于提供高吞吐量的数据访问模型。

不适用:

  • 低延迟访问数据。低延迟数据,如和用户进行交互的应用,需要数据在毫秒或秒的范围内得到响应。由于Hadoop针对高数据吞吐量做了优化,而牺牲了获取数据的延迟,对于低延迟访问,可以考虑使用HBase。
  • 大量的小文件。HDFS支持超大文件,是通过将数据分布在数据节点(DataNode),并将文件的元数据保存在名字节点(NameNode)上。名字节点的内存大小,决定了HDFS文件系统可保存的文件数量,虽然现在的系统内存都比较大,但大量的小文件还是会影响名字节点的性能。
  • 多用户写入文件、修改文件。HDFS中的文件只能有一盒写入者,而且写操作总是在文件末。它不支持多个写入者,也不支持在数据写入后,在文件的任意位置进行修改。

1.2 NameNode

1.2.1 NameNode

NameNode的作用是管理文件目录结构,接受用户操作请求,是管理数据节点的。

文件包括:

  • fsimage(文件系统镜像):元数据镜像文件。存储某一时段NameNode内存元数据信息。
  • edits:操作日志文件。
  • fstime:保存最近一次checkpoint的时间。比如说,在6月1号买的新电脑,在6月5日,做的第一次还原点,在6月18号,由于中病毒。在6月21号是做的第二次还原点。Checkpoint是保存最近的那次做还原点的数据。6月18-21日。

1.2.2 HA原理详解

高可用性(High Availability,简称HA)集群是共同为客户机提供网络资源的一组计算机系统。其中每一台提供服务的计算机称为节点(Node)。当一个节点不可用或者不能处理客户的请求时,该请求会及时转到另外的可用节点来处理,而这些对于客户端是透明的,客户不必关心要使用资源的具体位置,集群系统会自动完成。

参考:http://www.cnblogs.com/sy270321/p/4398815.html

1.3 DataNode

数据库(block):HDFS默认最基本的存储单位是64MB的数据块。和普通文件系统相同的是,HDFS中的文件是被分成大小为64MB一块的数据块存储的。不同于普通文件系统的是,在HDFS中如果一个文件小于一个数据块的大小,那么该文件不占用整个数据块存储空间。

DataNode(数据节点):是文件系统中真正存储数据的地方。客户端或者元数据信息可以向数据节点请求写入或者读出数据块。数据节点周期性地向元数据节点回报其存储的数据块信息。

2016/06/27 HDFS概述的更多相关文章

  1. 27 GroupSock概述(一)——live555源码阅读(四)网络

    27 GroupSock概述(一)——live555源码阅读(四)网络 27 GroupSock概述(一)——live555源码阅读(四)网络 简介 1.网络通用数据类型定义 2.Tunnel隧道封装 ...

  2. HDFS概述

    HDFS概述 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.HDFS产出背景及定义 1>.HDFS产生背景 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配 ...

  3. http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/

    转载自:http://stormzhang.com/opensource/2016/06/26/android-open-source-project-recommend1/ 推荐他的所有博文~ 图片 ...

  4. HDFS概述(一)

    HDFS概述(一) 1. HDFS产出的背景及定义 1.1 HDFS产生的背景 随着数据量越来越大,在一个操作系统存不下所有的数据,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,迫切需 ...

  5. HDFS概述和Shell操作

    大数据技术之Hadoop(HDFS) 第一章 HDFS概述 HDFS组成架构 HDFS文件块大小 第二章 HDFS的Shell操作(开发重点) 1.基本语法 bin/hadoop fs 具体命令    ...

  6. 2016.03.27,英语,《Vocabulary Builder》Unit 06

    equ: from Latin aequus, meaning 'equal', equalize:使相等; equivalent:[ɪ'kwɪvələnt], A is equivalent to ...

  7. HDFS概述(6)————用户手册

    目的 本文档是使用Hadoop分布式文件系统(HDFS)作为Hadoop集群或独立通用分布式文件系统的一部分的用户的起点.虽然HDFS旨在在许多环境中"正常工作",但HDFS的工作 ...

  8. HDFS概述(5)————HDFS HA

    HA With QJM 目标 本指南概述了HDFS高可用性(HA)功能以及如何使用Quorum Journal Manager(QJM)功能配置和管理HA HDFS集群. 本文档假设读者对HDFS集群 ...

  9. HDFS概述(4)————HDFS权限

    概述 Hadoop分布式文件系统(HDFS)的权限模型与POSIX模型的文件和目录权限模型一致.每个文件和目录与所有者和组相关联.该文件或目录将权限划分为所有者的权限,作为该组成员的其他用户的权限.以 ...

随机推荐

  1. Obtaining the backtrace - libunwind

    Sometimes when working on a large project, I find it useful to figure out all the places from which ...

  2. Java基础语法(二)

    目录 一.强类型语言 二.数据类型分类 1.基本数据类型 整数类型 字符类型 浮点类型 布尔类型 2.引用数据类型 三.基本类型转换 自动类型转换 强制类型转换 四.表达式类型的自动提升 承接上篇,谈 ...

  3. 【集训Day4 动态规划】轮船问题

    轮船问题(ship) [问题描述] 某国家被一条河划分为南北两部分,在南岸和北岸总共有N对城市,每一城市在对岸都有唯一的友好城市,任何两个城市都没有相同的友好城市.每一对友好城市都希望有一条航线来往, ...

  4. ssm通用 POM

    <?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven ...

  5. 《程序人生》系列-害敖丙差点被开除的P0事故

    你知道的越多,你不知道的越多 点赞再看,养成习惯 GitHub https://github.com/JavaFamily上已经收录有一线大厂面试点脑图.个人联系方式和技术交流群,欢迎Star和指教 ...

  6. 批量更新Linux文件后缀名

    #!/bin/bash#Create_Time 2019-08-06#use: small_wei #查找并,批量修改文件后缀 #后缀为 .txt 修改为 .log find /opt -name & ...

  7. Java中标识符和变量的区别

    1.标识符 在JAVA的组成部分中包括了对包.类.方法.变量等的起名,这些名字是要有一定的规则的: 标识符可以包含数字.字母.$._,但是不能以数字开头: 关键字不能用作标识符: 标识符是大小写敏感的 ...

  8. java8 按两个属性分组,并返回扁平List; stream排序

    --------------- java8 按两个属性分组,并返回扁平List /** * 设置大区小区分组排序 * @param dtoList */ private List<Perform ...

  9. HBase(2) Java 操作 HBase 教程

    目录 一.简介 二.hbase-client 引入 三.连接操作 四.表操作 五.运行测试 FAQ 参考文档 一.简介 在上一篇文章 HBase 基础入门 中,我们已经介绍了 HBase 的一些基本概 ...

  10. 【并发编程】ThreadLocal的兄弟InheritableThreadLocal

    本博客系列是学习并发编程过程中的记录总结.由于文章比较多,写的时间也比较散,所以我整理了个目录贴(传送门),方便查阅. 并发编程系列博客传送门 引子 public class InheritableT ...