一、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. Spring Boot 构造器参数绑定,越来越强大了!

    在之前的文章:Spring Boot读取配置的几种方式,我介绍到 Spring Boot 中基于 Java Bean 的参数绑定,在一个 Java Bean 类上用 @ConfigurationPro ...

  2. 使用IDEA创建一个Servlet应用程序

    使用IDEA创建一个Servlet应用程序 第一步:创建web应用 选择web application应用,之后填写项目名称等. 第二步:项目配置 在WEB-INF目录下创建两个文件夹:classes ...

  3. k8s 相关的命令

    查看node信息 kubectl describe node k8s-node- 查看dashboard token kubectl describe pod kubernetes-dashboard ...

  4. gcc 在c代码中内嵌汇编调用c函数: 只是证明曾经我来过

    我怕我不写下来,将来我都不记得我还在 c 中嵌套过汇编语言,用汇编代码调用一个c函数的过程. 折腾了一下午,在网上查看相关的资料,然后照葫芦画瓢地在c代码中嵌套汇编,希望解决我所遇到的问题,可最后发现 ...

  5. Hive常见错误

    1.root is not allowed to impersonate root 修改etc/hadoop/core-site.xml,增加如下配置: <property> <na ...

  6. CentOS环境设置Hbase自启动

    1.在/etc/init.d/目录创建hbase文件 #!/bin/bash # chkconfig: #export JAVA_HOME=/usr/local/jdk1.8.0_191 HBASE_ ...

  7. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time

    Tomcat在启动是提示: INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least on ...

  8. cmder是一个增强型命令行工具,不仅可以使用windows下的所有命令,更爽的是可以使用linux的命令,shell命令。

    cmder使用简介 Cmder is a software package created out of pure frustration over the absence of nice conso ...

  9. IO流—其他流

    内存操作流 这个流不关联任何文件,只能在内存中数据,自己在内存中维护着一个缓冲区,我们可以往他维护的缓冲区不断的写入数据,也可以从缓冲区中取出我们写入的数据 ByteArrayOutputStream ...

  10. Java面向对象入门

    Java面向对象入门 一.Java面向对象的基本组成 Java类及类的成员:属性.方法.构造器:代码块.内部类 面向对象三大特征:封装.继承.多态(抽象) 关键字:this.super.static. ...