1.hdfs的优缺点

  (1)不适合大量小文件存储;

  (2)不适合并发写入,不支持文件随机修改;(只能append追加)

  (3)不支持随机读等低延时的访问方式

2.基本思想

主从结构
  主节点, namenode
  从节点,有很多个: datanode
namenode负责:
  接收用户操作请求
  维护文件系统的目录结构
  管理文件与block之间关系,block与datanode之间关系
datanode负责:
  存储文件
  文件被分成block存储在磁盘上
  为保证数据安全,文件会有多个副本

总结:

  我们启动hdfs的时候只需要知道hadoop的etc目录下core-site.xml的hadoop的存储目录,

        <!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/hadoop/hadoop-2.4./data/</value>
</property>

  当我们存储文件的时候会hadoop会在这个目录下建好多目录存储我们的文件,我们只需要指定相对于hdfs开始的根目录,hdfs相当于给我们提供了好多虚拟目录。hadoop会自动实现分布式存储,分别存在多个datanode节点,并通过namnode建立文件存储位置的表识。

第二种理解:

hdfs写流程:

通过客户端Client写入数据Data的流程:

(1)Client向NameNode发起写入请求;

(2)NameNode查找自身存储的关于三个DataNode的信息,并反馈给Client;

(3)Client根据反馈信息,将Data分为两个数据块1和2;

(4)Client根据反馈信息将数据块1传给DataNode1,进行保存(datanode自动完成副本备份);

(5)DataNode向NameNode汇报存储完成,NameNode通知客户端。

hdfs读流程:

通过客户端Client读取数据Data的流程,DataNode3存放数据块1与2的备份:

(1)Client向NameNode发起读取请求;

(2)NameNode查找自身存储的关于Data的存储信息,并反馈给Client存储Data各个节点的位置;

(3)Client根据反馈信息,从DataNode1读取数据块1,从DataNode2读取数据块2;

思考:

  基于hdfs我们可以实现类似于百度网盘的功能,将数据分布式存储,当用户申请账号的时候我们可以在hdfs的根目录给该用户创建一个目录。对于限制文件上传大小,我们可以在数据库记录该用户上传的文件大小并进行限制。

hdfs基本思想的更多相关文章

  1. HDFS设计思想

    HDFS设计思想 DataNode:用来在磁盘上存储数据 HDFS  数据存储单元( block ) 1 文件被切分成固定大小的数据block块 •默认数据块大小为 64MB(hadoop1.x版本6 ...

  2. 从一般分布式设计看HDFS设计思想与架构

     要想深入学习HDFS就要先了解其设计思想和架构,这样才能继续深入使用HDFS或者深入研究源代码.懂得了"所以然"才能在实际使用中灵活运用.快速解决遇到的问题.下面这篇博文我们就先 ...

  3. HDFS设计思想、元数据、简单JAVAAPI操作HDFS

    一. 设计思路 分布式文件系统 在Hadoop中文件系统是一个顶层的抽象. 分布式文件系统相当与对文件系统进行了一个扩展(类似于java中的接口). HDFS是分布式文件系统的一个实现,分布式文件系统 ...

  4. HDFS介绍

    一.HDFS概述 1.HDFS设计思想来源于Google的GFS,是GFS的开源实现. 2.HDFS要解决的问题: -存储超大文件,比如TB级别 -防止文件丢失. 3.HDFS的特点 -可以存储超大文 ...

  5. Hadoop学习笔记: HDFS

    注:该文内容部分来源于ChinaHadoop.cn上的hadoop视频教程. 一. HDFS概述 HDFS即Hadoop Distributed File System, 源于Google发表于200 ...

  6. Hadoop 3、Hadoop 分布式存储系统 HDFS

    HDFS是Hadoop Distribute File System 的简称,也就是Hadoop的一个分布式文件系统. 一.HDFS的优缺点 1.HDFS优点: a.高容错性 .数据保存多个副本 .数 ...

  7. hadoop学习之hdfs文件系统

    一.hdfs的概念 Hadoop 实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS. Hadoop是Apache Lucene创始人Doug Cu ...

  8. 【大数据系列】HDFS初识

    一.HDFS介绍 HDFS为了做到可靠性(reliability)创建了多分数据块(data blocks)的复制(replicas),并将它们放置在服务集群的计算节点中(compute nodes) ...

  9. HDFS 详解

    HDFS 概述 基于2.7.3 HDFS 优点: 1.高容错性 数据自动保存多个副本,默认是三个副本 副本丢失后,会自动恢复 2.适合批处理 移动计算而非移动数据,批处理的时候,数据量很大,移动数据是 ...

随机推荐

  1. 在vue项目中使用monaco-editor

    monaco-editor: https://github.com/Microsoft/monaco-editor 在ESM中的使用官方也有对应文档:https://github.com/Micros ...

  2. Delphi SQL语句字符串拼接

    单引号必须成对出现,最外层的单引号表示其内部符号为字符:除最外层以外的单引号,每两个单引号代表一个'字符.加号:+用于字符串之间的连接.字符串常量用四个单引号,例如 ' select * from T ...

  3. deep learning2

    九.Deep learning的常用模型或者方法 9.1.AutoEncoder自动编码器 Deep Learning最简单的一种方法是利用人工神经网络的特点,人工神经网络(ANN)本身就是具有层次结 ...

  4. 2018 杭电多校2 - Naive Operations

    题目链接 Problem Description In a galaxy far, far away, there are two integer sequence a and b of length ...

  5. BZOJ4753:[JSOI2016]最佳团体——题解

    https://www.lydsy.com/JudgeOnline/problem.php?id=4753 JSOI信息学代表队一共有N名候选人,这些候选人从1到N编号.方便起见,JYY的编号是0号. ...

  6. BZOJ1597 & 洛谷2900:[USACO2008 MAR]Land Acquisition 土地购买——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=1597 https://www.luogu.org/problemnew/show/P2900 约翰准 ...

  7. [Leetcode] valid sudoku 有效数独

    Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...

  8. anroid 6.0.1_r77源码编译

    一.源码下载(基本类似4.4.4_r1) 二.必须使用openjdk1.7 sudo add-apt-repository ppa:openjdk-r/ppa sudo apt-get update ...

  9. IE的CSS渲染跟其它浏览器有什么不同

    由于IE系浏览器对标准的支持不够好,导致Web开发中经常需要去处理浏览器兼容性问题,特别有些莫名其妙的问题很让人头疼,今天要说这个问题就是这样的,先从插入CSS的三种方法说起: 外部样式(Extern ...

  10. 关于JavaScript的沙箱模式

    从语言学的角度上来说,允许代码无节制地使用全局变量,是最错误的选择之一.而更可怕的,就是一个变量"可能"成为全局的(在未知的时间与地点).但是这两项,却伴随JavaScript这门 ...