大数据:Hadoop(HDFS 的设计思路、设计目标、架构、副本机制、副本存放策略)
一、HDFS 的设计思路
1)思路
- 切分数据,并进行多副本存储;
2)如果文件只以多副本进行存储,而不进行切分,会有什么问题
 
- 缺点
- 不管文件多大,都存储在一个节点上,在进行数据处理的时候很难进行并行处理,节点可能成为网络瓶颈,很难进行大数据的处理;
- 存储负载很难均衡,每个节点的利用率很低;
二、HDFS 的设计目标
- Hadoop Distributed File System(HDFS):源于Google 的 GFS 论文;
- 设计目标
- 分布式存储:根据需要,水平横向增加节点;
- 运行在普通廉价的硬件上
- 易扩展、为用户提供性能不错的(如果廉价的硬件损坏,不会给用户带来严重损失)文件存储服务;
三、HDFS架构
- 一般一个 HDFS 的集群,由一个 NameNode(NN) 和 多个 DataNodes(DN) 组成;一般 NameNode 和 DataNodes 部署在不同的节点上;
- NameNode:
- 管理文件系统的 namespace,以及客户端对文件的访问;
- 功能:
- 负责客户端请求的响应;
- 负责元数据(文件的名称、副本系数、Block存放的DataNode)的管理;
- DataNodes
- 操作bolck的;一般每个节点有一个 DataNodes(集群上有几个节点,就对应有几个DataNodes,也一个节点也可以运行多DataNodes,不过一般不采用,使用一对一),管理文件应该存储到哪个节点上;
- 功能:
- 存储用户的文件对应的数据块(Block);
- 定期向NameNode发送本身及其所有的block信息,健康状况;
- Blocks 是根据blocksize进行切分的;(blocksize=128M,130M==>128M + 2M)
- namespaces:操作文件的;打开、关闭、重命名文件,或者重命名目录;
 
- 四、HDFS 的副本机制
- HDFS 支持多层级文件存储(文件夹里有其它文件夹),
- 对文件系统命名空间做的任何操作,都会被记录到 NameNode 中;
- 一个文件的所有 Block,除了最后一个Bolck,其它所有Block的大小都是一样的(与 Blocksize 相同);

- 五、HDFS 的副本存放策略
- 一般默认存放 3 份副本:也是容错安全考虑
- 第一个副本默认存放在当前操作的节点上;
- 第二个副本存放在不同与当前节点所在机架的某一个节点上;
- 第三个副本存放在与第二个副本相同机架的不同节点上;
 
大数据:Hadoop(HDFS 的设计思路、设计目标、架构、副本机制、副本存放策略)的更多相关文章
- 我要进大厂之大数据Hadoop HDFS知识点(1)
		01 我们一起学大数据 老刘今天开始了大数据Hadoop知识点的复习,Hadoop包含三个模块,这次先分享出Hadoop中的HDFS模块的基础知识点,也算是对今天复习的内容进行一次总结,希望能够给想学 ... 
- 我要进大厂之大数据Hadoop HDFS知识点(2)
		01 我们一起学大数据 老刘继续分享出Hadoop中的HDFS模块的一些高级知识点,也算是对今天复习的HDFS内容进行一次总结,希望能够给想学大数据的同学一点帮助,也希望能够得到大佬们的批评和指点! ... 
- 大数据 - hadoop - HDFS+Zookeeper实现高可用
		高可用(Hign Availability,HA) 一.概念 作用:用于解决负载均衡和故障转移(Failover)问题. 问题描述:一个NameNode挂掉,如何启动另一个NameNode.怎样让两个 ... 
- 大数据Hadoop——HDFS Shell操作
		一.查询目录下的文件 1.查询根目录下的文件 Hadoop fs -ls / 2.查询文件夹下的文件 Hadoop fs -ls /input 二.创建文件夹 hadoop fs -mkdir /文件 ... 
- 云计算分布式大数据Hadoop实战高手之路第七讲Hadoop图文训练课程:通过HDFS的心跳来测试replication具体的工作机制和流程
		这一讲主要深入使用HDFS命令行工具操作Hadoop分布式集群,主要是通过实验的配置hdfs-site.xml文件的心跳来测试replication具体的工作和流程. 通过HDFS的心跳来测试repl ... 
- 14周事情总结-机器人-大数据hadoop
		14周随着考试的进行,其他该准备的事情也在并行的处理着,考试内容这里不赘述了 首先说下,关于机器人大赛的事情,受益颇多,机器人的制作需要机械和电控两方面 昨天参与舵机的测试,遇到的问题:舵机不动 排查 ... 
- 成都大数据Hadoop与Spark技术培训班
		成都大数据Hadoop与Spark技术培训班 中国信息化培训中心特推出了大数据技术架构及应用实战课程培训班,通过专业的大数据Hadoop与Spark技术架构体系与业界真实案例来全面提升大数据工程师 ... 
- [转帖]大数据hadoop与spark的区别
		大数据hadoop与spark的区别 https://www.cnblogs.com/adnb34g/p/9233906.html Posted on 2018-06-27 14:43 左手中倒影 阅 ... 
- 王家林的“云计算分布式大数据Hadoop实战高手之路---从零开始”的第十一讲Hadoop图文训练课程:MapReduce的原理机制和流程图剖析
		这一讲我们主要剖析MapReduce的原理机制和流程. “云计算分布式大数据Hadoop实战高手之路”之完整发布目录 云计算分布式大数据实战技术Hadoop交流群:312494188,每天都会在群中发 ... 
随机推荐
- nginx 日志之 access_log分割
			如果任由访问日志写下去,日志文件会变得越来越大,甚至是写满磁盘. 所以,我们需要想办法把日志做切割,比如每天生成一个新的日志,旧的日志按规定时间删除即可. 实现日志切割可以通过写shell脚本或者系统 ... 
- concurrent (一)concurrent
			参考文档: 跳跃表原理分析:https://blog.csdn.net/a1259109679/article/details/46442895 一.阻塞队列 ArrayBlockingQueue : ... 
- elasticsearch 官方监控文档 老版但很有用
			https://zhaoyanblog.com/page/1?s=elasticsearch 监控每个节点(jvm部分) 操作系统和进程部分 操作系统和进程部分的含义是很清楚的,这里不会描述的很详细. ... 
- Python argparse 处理命令行小结
			Python argparse 处理命令行小结 1. 关于argparse是python的一个命令行解析包,主要用于处理命令行参数 2. 基本用法test.py是测试文件,其内容如下: import ... 
- 【Activiti学习之六】BPMN任务
			环境 JDK 1.8 MySQL 5.6 Tomcat 7 Eclipse-Luna activiti 6.0 一.任务任务表示流程中将要完成的工作. 1.任务继承 2.任务类型Service Tas ... 
- Shell脚本之七 选择、循环结构
			一.if else if 语法格式 if condition then command1 command2 ... commandN fi 写成一行(适用于终端命令提示符): if [ $(ps -e ... 
- Linux简介和各发行版介绍
			一.Linux 简介 Linux 内核最初只是由芬兰人李纳斯·托瓦兹(Linus Torvalds)在大学上学时出于个人爱好而编写的. Linux 是一套免费使用和自由传播的类 Unix 操作系统,是 ... 
- python入门之函数对象
			目录 函数是第一类对象 1.函数名可以被引用 2.函数名可以当做参数传递 3.函数名可以当做返回值使用 4.函数名可以被当做容器类型的元素 函数是第一类对象 First-Class Object : ... 
- Matlab的solve()函数的使用方法
			Matlab的solve()函数的使用方法 1.首先是对方程的求解 不废话直接上例子 syms x: eq=x^2+2*x+1; s=solve(eq,x); 结果如下 完美的算出了方程的解 现在对上 ... 
- Git新建分支,分支合并,版本回退详解
			一.git基本命令 git拉取仓库代码 #拉取master代码 git clone git仓库地址 #拉取分支代码 git clone -b 分支名称 git仓库地址 2.git添加代码到本地仓库 g ... 
