文档章节

HDFS原理学习

cjxcloud
 cjxcloud
发布于 06/24 14:59
字数 828
阅读 4
收藏 0
点赞 0
评论 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
海淀
深入浅出、点金赋能!Hadoop体系大数据开发案例实战

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

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

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

o0无忧亦无怖
2015/10/05
101
0
零基础学习hadoop到上手工作线路指导(中级篇)

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

一枚Sir
2014/08/07
85
0
大数据Hadoop需要了解哪些内容?

一、Hadoop环境搭建 1. Hadoop生态环境介绍 2. Hadoop云计算中的位置和关系 3. 国内外Hadoop应用案例介绍 4. Hadoop概念、版本、历史 5. Hadoop核心组成介绍及hdfs、mapreduce体系结构 6. H...

mo默瑶
05/05
0
0
大数据学习之路(持续更新中...)

在16年8月份至今,一直在努力学习大数据大数据相关的技术,很想了解众多老司机的学习历程。因为大数据涉及的技术很广需要了解的东西也很多,会让很多新手望而却步。所以,我就在自己学习的过...

青夜之衫
2017/12/05
0
0
大数据hadoop是什么?初学者如何进行系统学习?

大数据的火爆程度在不断的增加,似乎一个行业不和大数据相对接就会显得很“LOW”。大数据行业的薪资水平越来越高,决定了更多的人纷纷学习大数据,hadoop作为大数据的一个核心自然就是学习的...

hainiubuluo
05/25
0
0
大数据经典学习路线(及供参考)之 一

1.Linux基础和分布式集群技术 学完此阶段可掌握的核心能力: 熟练使用Linux,熟练安装Linux上的软件,了解熟悉负载均衡、高可靠等集群相关概念,搭建互联网高并发、高可靠的服务架构; 学完此...

柯西带你学编程
05/22
0
0
当我说要做大数据工程师时他们都笑我,直到三个月后……

GitChat 作者:Fickr孫啟誠 原文: 三个月大数据研发学习计划实战解析 关注微信公众号:「GitChat 技术杂谈」 一本正经的讲技术 【不要错过文末彩蛋】 申明: 本文旨在为普通程序员(Java程序...

gitchat
2017/10/25
0
0
2014-11-09---Hadoop的基础学习(二)----HDFS的特性和JavaAPI源码分析

1.HDFS概览 HDFS 是一个 Apache Software Foundation 项目,是 Apache Hadoop 项目的一个子项目。Hadoop 非常适于存储大型数据(比如 terabytes和petabytes),并使用 HDFS 作为其存储系统。...

查封炉台
2014/11/10
0
6
Spark(十):Spark Streaming

一:Spark Streaming 概览。 1.1 简单了解 Spark Streaming。 Spark Streaming 是核心 Spark API的一个扩展。具有可扩展性,高吞吐量,容错性,实时性等特征。 数据从许多来如中摄入数据,如...

牧羊人Berg
2016/06/08
138
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

设计模式:单例模式

单例模式的定义是确保某个类在任何情况下都只有一个实例,并且需要提供一个全局的访问点供调用者访问该实例的一种模式。 实现以上模式基于以下必须遵守的两点: 1.构造方法私有化 2.提供一个...

人觉非常君
7分钟前
0
0
《Linux Perf Master》Edition 0.4 发布

在线阅读:https://riboseyim.gitbook.io/perf 在线阅读:https://www.gitbook.com/book/riboseyim/linux-perf-master/details 百度网盘【pdf、mobi、ePub】:https://pan.baidu.com/s/1C20T......

RiboseYim
17分钟前
0
0
conda 换源

https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config --add channels https://mir......

阿豪boy
27分钟前
0
0
Confluence 6 安装补丁类文件

Atlassian 支持或者 Atlassian 缺陷修复小组可能针对有一些关键问题会提供补丁来解决这些问题,但是这些问题还没有放到下一个更新版本中。这些问题将会使用 Class 类文件同时在官方 Jira bug...

honeymose
37分钟前
0
0
非常实用的IDEA插件之总结

1、Alibaba Java Coding Guidelines 经过247天的持续研发,阿里巴巴于10月14日在杭州云栖大会上,正式发布众所期待的《阿里巴巴Java开发规约》扫描插件!该插件由阿里巴巴P3C项目组研发。P3C...

Gibbons
45分钟前
0
0
Tomcat介绍,安装jdk,安装tomcat,配置Tomcat监听80端口

Tomcat介绍 Tomcat是Apache软件基金会(Apache Software Foundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。 java程序写的网站用tomcat+jdk来运行...

TaoXu
46分钟前
0
0
TensorFlow,从一个 Android Demo 开始

TensorFlow Android Demo 项目地址 Machine Learning 既然提到了 TensorFlow,那是不是得神经网络、机器学习了解下? 如果你能坚持把 机器学习速成课程 给啃完了,觉得还挺有兴趣的,那可以考...

孟飞阳
47分钟前
0
0
JVM学习笔记二:内存结构规范

1、JVM基本结构图 2、java堆(Heap) 3、方法区(Method Area) 4、程序计数器 5、JAVA栈图解 局部变量表:八大基本类型,还可以存储引用类型 上一篇:JVM学习笔记一:类加载机制介绍...

刘祖鹏
53分钟前
0
0
mui集成微信H5支付(返回白屏问题已经解决)

一.项目需求 因为公司人员缺少,没有专门开发安卓和ios的人员,为了项目尽早上线采用了混合APP开发的方式,我选择了MUI混合开发框架,项目中需要在用户购买VIP会员的时候进行支付,所以需要在项目...

银装素裹
57分钟前
1
0
SpringBoot集成Redis--配置自定义的RedisCacheManager

配置自定义的RedisCacheManager--1自定义键生成规则 默认的键生成器 当不指定缓存的key时,SpringBoot会使用SimpleKeyGenerator生成key。 SimpleKeyGenerator SimpleKey 查看源码可以发现,它...

karma123
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部