文档章节

HDFS原理学习

cjxcloud
 cjxcloud
发布于 06/24 14:59
字数 828
阅读 4
收藏 0

一、概述

    1、 Hadoop整合了众多的文件系统,首先提供了一个高层的文件系统抽象org.apache.hadoop.fs.FileSystem。然后有各个文件系统的实现类。

   2、Hadoop是JAVA编写的,不同文件系统之间的交互是由Java API进行的。其中:Hadoop fs -ls file:// 就是一个Java应用。

   3、Apache Thrift API为其他语言与Hadoop文件系统进行交互提供了接口。

   4、还有Http接口和FTP接口。  

   5、主要特点:处理超大文件、流式地访问数据、运行在廉价的集群上、不适合低延迟数据访问、无法高效存储大量小文件、不支持多用户写入及任意修改。

二、HDFS体系结构

    1、文件块(Block)

        A、可以将文件分成众多的块,分别存储在集群的各个机器上

        B、块的大小固定,简化了存储系统的管理,其中元数据和文件块内容可以分开存储

        C、默认将文件块副本数设置为3,当一个Block出现故障时,系统会通过NameNode获取元数据信息,在另外一台机器上读取一个副本块

       E、NameNode:1、管理命名空间;2、维护整个文件系统的文件目录树以及这些文件的索引目录。这些信息以两种形式存储在本地文件系统中——命名空间镜像以及编辑日志。

        F、DataNode:1、存储文件块;2、被客户端和NameNode调用;3、定时通过心跳(heartbeat)向NameNode发送所存储的文件块信息。

    2、副本存放与读取策略

        A、机架感知策略,将副本均匀地分布在集群中。

        B、考虑到带宽消耗和整体的带宽延时,HDFS会让程序读取离客户端最近的副本。

    3、安全模式

        NameNode启动的时候会进入一个安全模式,此时NameNode不会进行数据块的复制。NameNode会从所有的DataNode接受心跳信号和块状态报告。每个数据块都有一个指定的最小副本数,当NameNode检测确认某个数据块的副本数达到最小值时,该数据块就会被认为是副本安全的:在一定百分比(这个参数是可配置的)的数据块被NameNode检测确认是安全之后(在加上一个额外等待的30秒后),退出安全模式。接下来它还会确定有哪些 数据块的副本数没有达到指定数目,并将这些数据块复制到其他DataNode上。

    4、文件安全

          A、备份NameNode上持久化的元数据文件,同步的、原子地将NameNode中的元数据转储到远程的NFS文件系统上。

         B、系统中同步运行一个Secondary NameNode,周期性地合并编辑日志中的命名空间镜像。单数这样的额同步备份总是滞后的,损失是必然的。

© 著作权归作者所有

共有 人打赏支持
cjxcloud

cjxcloud

粉丝 4
博文 16
码字总数 11935
作品 0
海淀
私信 提问
大数据教程(7.1)客户端向HDFS写数据流程分析

上一章为大家分享了hadoop入门的基础知识,本章博主将带领大家一起升入了解hadoop的HDFS底层原理以及hadoop内部rpc框架的原理和使用。 一、本节目的 HDFS工作机制的学习主要是为了加深大家对...

em_aaron
11/07
0
0
深入浅出、点金赋能!Hadoop体系大数据开发案例实战

感谢关注天善智能,走好数据之路↑↑↑ 欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定! 课程名称:深入浅出、点金赋...

天善智能
01/03
0
0
经典漫画讲解HDFS原理 『转载』

分布式文件系统比较出名的有HDFS 和 GFS,其中HDFS比较简单一点。本文是一篇描述非常简洁易懂的漫画形式讲解HDFS的原理。比一般PPT要通俗易懂很多。不难得的学习资料。 1、三个部分: 客户端、...

o0无忧亦无怖
2015/10/05
101
0
Hadoop大数据入门到实战(第三节) - HDFS文件系统上(入门)

本小节我们来学习Hadoop的HDFS系统,我们先来体验一下HDFS然后再来了解他的原理。 HDFS初体验 HDFS(分布式文件管理系统),顾名思义,它就是我们用来管理海量文件的一个系统。现在是一个数据...

MasterXiao
05/29
0
0
零基础学习hadoop到上手工作线路指导(中级篇)

此篇是在零基础学习hadoop到上手工作线路指导(初级篇)的基础,一个继续总结。 五一假期:在写点内容,也算是总结。上面我们会了基本的编程,我们需要对hadoop有一个更深的理解: hadoop分为...

一枚Sir
2014/08/07
85
0

没有更多内容

加载失败,请刷新页面

加载更多

Qt那些事0.0.9

关于QThread,无F*k说的。文档说的差不多,更多的是看到很多人提到Qt开发者之一的“你TM的做错了(You're doing it wrong...)”,这位大哥2010年写的博客,下面评论很多,但主要还是集中在2...

Ev4n
4分钟前
0
0
constructor / destructor

_attribute__表示属性,是Clang提供的一种源码注释,方便开发者向编译器表达诉求,一般以__attribute__(*)的方式出现在代码中。为了方便使用,一些常用属性被定义成了宏,经常出现在系统头文...

HeroHY
4分钟前
0
0
大数据教程(7.6)shell脚本定时采集日志数据到hdfs

上一篇博客博主分享了hadoop内置rpc的使用案例,本节博主将为小伙伴们分享一个在实际生产中使用的日志搜集案例。前面的文章我们有讲到过用户点击流日志分析的流程,本节就是要完成这个分析流...

em_aaron
32分钟前
1
0
wave和pcm互转

wav->pcm pcm->wav c#代码: using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.IO;using Sys......

whoisliang
35分钟前
1
0
Win10:默认的图片打开应用,打开图片时速度明显很慢的解决办法

首先,我们随便地打开一张图片。然后,点击右上角的三个小点,最后点击弹出菜单最下面的“设置”。如下图: 在“设置”中找到下面的“人物”,把它关掉就好了。 原来,默认情况下,Win 10的图...

LivingInFHL
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部