一、HDFS 的设计思路

 1)思路

  • 切分数据,并进行多副本存储;

 2)如果文件只以多副本进行存储,而不进行切分,会有什么问题

  • 缺点

  1. 不管文件多大,都存储在一个节点上,在进行数据处理的时候很难进行并行处理,节点可能成为网络瓶颈,很难进行大数据的处理;
  2. 存储负载很难均衡,每个节点的利用率很低;

二、HDFS 的设计目标

  • Hadoop Distributed File System(HDFS):源于Google 的 GFS 论文;
  • 设计目标

  1. 分布式存储:根据需要,水平横向增加节点;
  2. 运行在普通廉价的硬件上
  3. 易扩展、为用户提供性能不错的(如果廉价的硬件损坏,不会给用户带来严重损失)文件存储服务;

三、HDFS架构

  • 一般一个 HDFS 的集群,由一个 NameNode(NN) 和 多个 DataNodes(DN) 组成;一般 NameNode 和 DataNodes 部署在不同的节点上;
  • NameNode

  • 管理文件系统的 namespace,以及客户端对文件的访问;
  • 功能:

  1. 负责客户端请求的响应;
  2. 负责元数据(文件的名称、副本系数、Block存放的DataNode)的管理;
  • DataNodes

  • 操作bolck的;一般每个节点有一个 DataNodes(集群上有几个节点,就对应有几个DataNodes,也一个节点也可以运行多DataNodes,不过一般不采用,使用一对一),管理文件应该存储到哪个节点上;
  • 功能:

  1. 存储用户的文件对应的数据块(Block);
  2. 定期向NameNode发送本身及其所有的block信息,健康状况;
  • Blocks 是根据blocksize进行切分的;(blocksize=128M,130M==>128M + 2M)
  • namespaces:操作文件的;打开、关闭、重命名文件,或者重命名目录;
  • 四、HDFS 的副本机制

  • HDFS 支持多层级文件存储(文件夹里有其它文件夹),
  • 对文件系统命名空间做的任何操作,都会被记录到 NameNode 中;
  • 一个文件的所有 Block,除了最后一个Bolck,其它所有Block的大小都是一样的(与 Blocksize 相同);

  • 五、HDFS 的副本存放策略

  • 一般默认存放 3 份副本:也是容错安全考虑
  • 第一个副本默认存放在当前操作的节点上;
  • 第二个副本存放在不同与当前节点所在机架的某一个节点上;
  • 第三个副本存放在与第二个副本相同机架的不同节点上;

大数据:Hadoop(HDFS 的设计思路、设计目标、架构、副本机制、副本存放策略)的更多相关文章

  1. 我要进大厂之大数据Hadoop HDFS知识点(1)

    01 我们一起学大数据 老刘今天开始了大数据Hadoop知识点的复习,Hadoop包含三个模块,这次先分享出Hadoop中的HDFS模块的基础知识点,也算是对今天复习的内容进行一次总结,希望能够给想学 ...

  2. 我要进大厂之大数据Hadoop HDFS知识点(2)

    01 我们一起学大数据 老刘继续分享出Hadoop中的HDFS模块的一些高级知识点,也算是对今天复习的HDFS内容进行一次总结,希望能够给想学大数据的同学一点帮助,也希望能够得到大佬们的批评和指点! ...

  3. 大数据 - hadoop - HDFS+Zookeeper实现高可用

    高可用(Hign Availability,HA) 一.概念 作用:用于解决负载均衡和故障转移(Failover)问题. 问题描述:一个NameNode挂掉,如何启动另一个NameNode.怎样让两个 ...

  4. 大数据Hadoop——HDFS Shell操作

    一.查询目录下的文件 1.查询根目录下的文件 Hadoop fs -ls / 2.查询文件夹下的文件 Hadoop fs -ls /input 二.创建文件夹 hadoop fs -mkdir /文件 ...

  5. 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程

    这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ...

  6. 14周事情总结-机器人-大数据hadoop

    14周随着考试的进行,其他该准备的事情也在并行的处理着,考试内容这里不赘述了 首先说下,关于机器人大赛的事情,受益颇多,机器人的制作需要机械和电控两方面 昨天参与舵机的测试,遇到的问题:舵机不动 排查 ...

  7. 成都大数据Hadoop与Spark技术培训班

    成都大数据Hadoop与Spark技术培训班   中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师 ...

  8. [转帖]大数据hadoop与spark的区别

    大数据hadoop与spark的区别 https://www.cnblogs.com/adnb34g/p/9233906.html Posted on 2018-06-27 14:43 左手中倒影 阅 ...

  9. 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析

    这一讲我们主要剖析MapReduce的原理机制和流程. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发 ...

随机推荐

  1. css----单行文本超出部分显示省略号

    width: 300px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis;

  2. python爬虫实例——爬取歌单

    学习自<<从零开始学python网络爬虫>> 爬取酷狗歌单,保存入csv文件 直接上源代码:(含注释) import requests #用于请求网页获取网页数据 from b ...

  3. 基于web公交查询系统----数据库设计

    要求:公交查询系统,管理员可以新增线路,修改车辆参数,发车时间表,删除车次,站名等. 用户可以按线路查询,按站点查询相关信息,也可查询两站点之间的换乘信息等. 数据库应包含管理员表,车站表,线路表,车 ...

  4. 冰多多团队Gamma阶段发布说明

    Bingduoduo 语音Coding(Gamma):项目Github地址 Gamma版本新功能介绍 在gamma阶段我们推出了一个更加完整的IDE,完善了部分编辑器功能,并且优化了UI,增添了新的s ...

  5. UE4命令行参数解析

    转自:https://blog.csdn.net/u012999985/article/details/53544389 一 .命令行参数简述命令行参数是一连串的关键字字符串,当运行可执行文件时可以通 ...

  6. spark listener

    最近在做一个需求,当spark程序在读数据或写数据时,将所读的条数或或所写的条数实时的展现出来,这里用到了SparkListener,sparklisten 可以获取spark 各个运行阶段的状态. ...

  7. IO流—字符流

    字符流 只能读写文本文件 Reader 抽象类 字符输出流的父类 Writer 抽象类 字符输出流的父类 字符转换输出流: OutputStreamWriter(OutputStream out):创 ...

  8. Rancher 构建 CI/CD 自动化流程 - 动态配置 Jenkins-slave(二)

    一.说明 1.1 说明 前面介绍采用 Jenkinsfile + KubernetesPod.yaml 方式进行部署项目(Rancher 构建 CI/CD 自动化流程 - 动态配置 Jenkins-s ...

  9. something want to write

    1.时间戳不能相信是因为机器时间有误差.相当于机器不断电的跑着时钟. 2.写log的时候记得log别人的ip,不然没办法很好的debug.

  10. idea 全局内容搜索和替换

    在做项目时,有时会在整个项目里或指定文件夹下进行全局搜索和替换,这是一个很方便功能.使用方法如下: 一.全局搜索1.使用快捷键Ctrl+Shift+F打开搜索窗口,或者通过点击Edit–>Fin ...