文档章节

hadoop--HDFS之基本框架

柳大官人
 柳大官人
发布于 2016/12/20 02:47
字数 776
阅读 74
收藏 0

 前言

    HDFS分布式文件系统即Hadoop Distributed Filesystem,采用master/slave架构,具有可靠性、可用性和扩展性,这也是分布式系统的三个关键指标。

一、HDFS架构

    HDFS的架构主要:基本框架、读写流程、高可用、压缩系列化5个方面介绍,本篇介绍:基本框架。

    1.  下面HDFS的基本框架

       

       1.1 NameNode

        用来存储文件系统的元数据(文件/目录的元信息和每个文件对应的数据块列表)和接受客户端的RPC请求。文件包括:fsimage、editlog,也就是说NameNode在内存中的数据有两部分组成:fsimage+不断增加的editlog。

        fsimage:是文件系统的元数据镜像文件。

        editlog:文件系统的操作日志文件(增加、删除文件记录)

       1.2 DataNode

        实际存储数据的地方,是文件系统的工作节点(受客户端或者namenode的调度),并且定期向namenode发送块的列表。文件块block(逻辑概念,便于快速查找和存储,Replication block的存储实例, Replication是多复本。默认是三个。)是存储的基本单元,HDFS默认Block大小是128MB,假如一个文件大小为1G,那么共有8个block(1024/128=8),每个bock有多个复本分布存储在不同的节点上。DataNode会一直保持复本数,如果一个复本损坏,系统会从其他节点读取一个复本复制到一台正常运行的机器上,确保复本数回到正常数值。通过向NameNode发送心跳保持与其联系(3秒一次),如果NameNode10分钟没有收到DataNode的心跳,则认为其已经lost,并copy其上的block到其它DataNode。

    2.  下面介绍NameNode和SecondaryNameNode的关系

          2.1SecondaryNameNode

            SecondaryNameNode不是NameNode的备份,而是一个辅助的NameNode,这个辅助NameNode的重要作用是定期(默认是一个小时)通过合并编辑日志和空间镜像,以防止编辑日志过大。这个辅助的NameNode一般在另一台单独的物理计算机上运行,因为它占用的CPU时间和内存与NameNode相同容量的内存来执行合并操作。                

         2.2CheckPoint Node

        可能是由于Secondary NameNode容易对人产生误导,因此Hadoop 1.0.4 之后建议不要使用Secondary NameNode,而使用CheckPoint Node。Checkpoint Node和Secondary NameNode的作用以及配置完全相同,只是启动命令不同 bin/hdfs namenode -checkpoint。

        2.3联邦HDFS

            NameNode在内存中保存文件系统中每个文件和每个数据块的引用关系,这个意味着在一个拥有大量文件的集群中,内存将成为限制系统横向扩展的瓶颈。在2.x版本中引入联邦HDFS,允许通过添加NameNode实现扩展 ,其中每个NameNode管理文件系统的中的一部分。例如一个NameNode管理/user目录下的所有文件,另一个NameNod可能管理/share目录下的所有文件。

© 著作权归作者所有

柳大官人
粉丝 0
博文 12
码字总数 5964
作品 0
海淀
私信 提问
hadoop1.x和2.x的一些主要区别

当我们安装完毕hadoop2的时候,我们看到为啥没有jobtracker,这是因为hadoop2中已经没有jobtracer了,而是产生了yarn,yarn是什么那,可以看yarn详解,我们为什么已经安装了,但是却不知道已...

chenkechao
2016/11/23
43
0
hadoop(03)、Hadoop Map/Reduce框架的简单实践

本文源码码云地址:https://gitee.com/MaxBill/hadoop 在上篇《hadoop(02)、使用JAVA API对HDFS进行基本操作》中,通过JAVA API连接HDFS系统进行了基本的操作实践,本文将使用Hadoop的Map/R...

MaxBill
2017/11/19
110
0
Hadoop概括——学习笔记转

前言 第一章主要讲的是hadoop基础知识。老师讲的还是比较全面简单的,起码作为一个非专业码农以及数据库管理人员,也能狗大致了解其特点 首先是概括图(以hadoop2.0为例) 一、Hadoop基础架构...

长征2号
2017/10/31
0
0
(第1篇)什么是hadoop大数据?我又为什么要写这篇文章?

前言 这些天,有很多人咨询我大数据相关的一些信息,觉得大数据再未来会是一个朝阳行业,希望能尽早学会、入行,借这个机会,我决定写一下关于大数据的知识和我这些年的感悟。 点击链接 http...

I加加
2017/03/06
0
0
初识hadoop

初识hadoop 概念 hadoop首先是大数据领域。大数据领域至少是分布式的,分布式数据必然是有一定规模了。如果数据只有几个G或者更小就没有什么意义了。 hadoop最核心的概念就是HDFS和MapReduce...

王二狗子11
2018/01/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

用 Sphinx 搭建博客时,如何自定义插件?

之前有不少同学看过我的个人博客(http://python-online.cn),也根据我写的教程完成了自己个人站点的搭建。 点此:使用 Python 30分钟 教你快速搭建一个博客 为防有的同学不清楚 Sphinx ,这...

王炳明
昨天
2
0
黑客之道-40本书籍助你快速入门黑客技术免费下载

场景 黑客是一个中文词语,皆源自英文hacker,随着灰鸽子的出现,灰鸽子成为了很多假借黑客名义控制他人电脑的黑客技术,于是出现了“骇客”与"黑客"分家。2012年电影频道节目中心出品的电影...

badaoliumang
昨天
10
0
很遗憾,没有一篇文章能讲清楚线程的生命周期!

(手机横屏看源码更方便) 注:java源码分析部分如无特殊说明均基于 java8 版本。 简介 大家都知道线程是有生命周期,但是彤哥可以认真负责地告诉你网上几乎没有一篇文章讲得是完全正确的。 ...

彤哥读源码
昨天
13
0
jquery--DOM操作基础

本文转载于:专业的前端网站➭jquery--DOM操作基础 元素的访问 元素属性操作 获取:attr(name);$("#my").attr("src"); 设置:attr(name,value);$("#myImg").attr("src","images/1.jpg"); ......

前端老手
昨天
6
0
Django的ChoiceField和MultipleChoiceField错误提示,选择一个有效的选项

在表单验证时提示错误:选择一个有效的选项 例如有这样一个表单: class ProductForm(Form): category = fields.MultipleChoiceField( widget=widgets.SelectMultiple(), ...

编程老陆
昨天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部