单击模式(Standalone):

单机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。

伪分布式(Pseudo-Distributed Mode):

伪分布模式在“单节点集群”上运行Hadoop,其中所有的守护进程都运行在同一台机器上。该模式在单机模式之上增加了代码调试功能,允许你检查内存使用情况,HDFS输入输出,以及其他的守护进程交互。5个进程的介绍http://www.aboutyun.com/thread-7088-1-1.html

完全分布式(Fully Distributed Mode):

Hadoop守护进程运行在一个集群上.

master上看到namenode,jobtracer,secondarynamenode可以安装在master节点,也可以单独安装。slave节点能看到datanode和nodeManage

HDFS起源:

HDFS源于Google的GFS论文 发表于2003年10月  HDFS是GFS的克隆版!

http://www.cnblogs.com/999-/p/7120490.html

GFS是一个可扩展的分布式文件系统,用于大型的、分布式的、对大量数据进行访问的应用。它运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。

GFS 也就是 google File System,Google公司为了存储海量搜索数据而设计的专用文件系统。

HDFS简介:

HDFS(Hadoop Distributed File System,Hadoop 分布式文件系统)是一个高度容错性的系统,适合部署在廉价的机器上。HDFS 能提供高吞吐量的数据访问,适合那些有着超大数据集(largedata set)的应用程序。

1. HDFS体系结构

1.1 NameNode

节点进程存在于集群的Master主机上

作用:

       1.1.1管理文件的命名空间

      1.1.2协调客户端对文件的访问

      1.1.3记录每个文件数据在各个DataNode上的位置和副本信息

    主要文件:

VERSION:版本信息,文件系统标识符

seen_txid:事物管理文件

Fsimage_*|

Fsimage_*.md5|-----------源数据文件

Edits_*|

1.1 DataNode

  节点进程存在于集群的Slave子机器上

  作用:

     1.2.1真实数据的存储管理

     1.2.2一次写入,并行读取(不修改)

     1.2.3文件由数据块组成,典型的块大小是64MB

     1.2.4数据块尽量散布在各个节点

主要文件:

blk<id>:HDFS的数据块,保存具体的二进制数据

blk<id>.meta:数据块的属性信息:版本信息,类型信息等

写入文件流程:

读取文件流程:

1.1 SecondaryNameNode

节点进程存在于集群的master上,也可以是单独一台机器

作用:

1.3.1 NameNode的一个快照

1.3.2周期性备份NameNode

1.3.3记录NameNode中的MateData以及其他数据

1.3.4可以用来恢复NameNode,但是不能替换NameNode

HDFS二.HDFS实现分布式文件存储---体系结构的更多相关文章

  1. .Net平台下,分布式文件存储的实现

    遇到的问题 对于Web程序,使用一台服务器的时候,客户端上传的文件一般也都是存储在这台服务器上.但在集群环境中就行不通了,如果每个服务器都存储自己接受到的文件,就乱套了,数据库中明明有这个附件的记录, ...

  2. 【网络爬虫入门05】分布式文件存储数据库MongoDB的基本操作与爬虫应用

    [网络爬虫入门05]分布式文件存储数据库MongoDB的基本操作与爬虫应用 广东职业技术学院  欧浩源 1.引言 网络爬虫往往需要将大量的数据存储到数据库中,常用的有MySQL.MongoDB和Red ...

  3. 分布式文件存储:FastDFS简单使用与原理分析

    引言 FastDFS 属于分布式存储范畴,分布式文件系统 FastDFS 非常适合中小型项目,在我接手维护公司图片服务的时候开始接触到它,本篇文章目的是总结一下 FastDFS 的知识点. 用了 2 ...

  4. 分布式文件存储数据库 MongoDB

    MongoDB 简介 Mongo 并非芒果(Mango)的意思,而是源于 Humongous(巨大的:庞大的)一词. MongoDB 是一个基于分布式文件存储的 NoSQL 数据库.由 C++ 语言编 ...

  5. Hadoop HDFS概念学习系列之分布式文件管理系统(二十五)

    数据量越来越多,在一个操作系统管辖的范围存在不了,那么就分配到更多的操作系统管理的磁盘中,但是不方便管理和维护,因此迫切需要一种系统来 管理多台机器上的文件,这就是分布式文件管理系统. 是一种允许文件 ...

  6. AppBoxFuture(五): 分布式文件存储-Store Everything

      本来本篇是想介绍前端组件化开发用户界面,发现框架还未实现文件存储,原本计划是后续设计开发的,索性把计划提前,所以本篇将介绍基于Raft实现分布式的文件存储引擎. 一. 实现思路   既然是分布式存 ...

  7. (转) 分布式文件存储FastDFS(一)初识FastDFS

    http://blog.csdn.net/xingjiarong/article/details/50559849 一.FastDFS简介 FastDFS是一款开源的.分布式文件系统(Distribu ...

  8. 分布式文件存储FastDFS(一)初识FastDFS

    一.FastDFS简单介绍 FastDFS是一款开源的.分布式文件系统(Distributed File System),由淘宝开发平台部资深架构师余庆开发.作为一个分布式文件系统,它对文件进行管理. ...

  9. 分布式文件存储FastDFS(七)FastDFS配置文件具体解释

    配置FastDFS时.改动配置文件是非常重要的一个步骤,理解配置文件里每一项的意义更加重要,所以我參考了大神的帖子,整理了配置文件的解释.原帖例如以下:http://bbs.chinaunix.net ...

随机推荐

  1. 【转】jira迁移数据

    jira迁移数据有两种方式 方式一: jira系统自带的备份恢复操作 最简单的,但不一定能成功   从/export/atlassian/application-data/jira/export下载至 ...

  2. 如何导出不带.svn的文件夹项目

    实际工作中有需要导出项目,却含有大量的.svn文件夹,有以下几种方式导出: 一.TortoiseSVN导出 项目文件夹,右键->TortoiseSVN->导出(Export),勾选“导出无 ...

  3. IP通信基础学习第三周(上)

    TCP的连接情况有:同时打开,同时关闭,拒绝连接,异常终止连接. TCP流量控制的折中方法是滑动窗口协议,且TCP标准强烈不赞成发送窗口沿向后缩回. 在滑动窗口中,当A发送了11个字节的数据时,P3- ...

  4. flutter key

    随意点开一个Widget,就会发现,可以传递一个参数Key.那这个Key到底是干啥子,有什么用呢? Flutter是受React启发的,所以Virtual Dom的diff算法也参考过来了(应该是略有 ...

  5. Yii1打印当前请求所有执行的SQL及耗时

    我们在熟悉新的项目了解业务的时候,可以有很多方式.看项目文档说明:和了解项目身边的人沟通:通过自己度代码调试,但是一步步调试打印语句或许有点慢,如果可以调出当前请求的所有语句,那么很快可以熟悉他的业务 ...

  6. Python3 批量更改文件后缀名

    Python3 批量更改文件后缀名 示例: # coding:utf8 import os import sys def Rename(): #Path = "F:\\test\\" ...

  7. Codeforces 528E Triangles 3000 - 计算几何

    题目传送门 传送点I 传送点II 传送点III 题目大意 给定$n$的平面上的直线,保证没有三条直线共点,两条直线平行.问随机选出3条直线交成的三角形面积的期望. 显然$S=\frac{1}{2}ah ...

  8. bind封装

    原理:通过apply或者call方法来实现. (1)初始版本 Function.prototype.bind=function(obj,arg){ var arg=Array.prototype.sl ...

  9. BZOJ5487: [Usaco2018 Dec]Cowpatibility

    Description 研究证明,有一个因素在两头奶牛能否作为朋友和谐共处这方面比其他任何因素都来得重要--她们是不是喜欢同 一种口味的冰激凌!Farmer John的N头奶牛(2≤N≤50,000) ...

  10. 如何使用JavaScript UI控件(WijmoJS)构建Electron应用程序

    概述 What is Electron? Electron是一个使用JavaScript.HTML和CSS构建跨平台桌面应用程序的框架. 您可以将Electron与纯JavaScript或您选择的Ja ...