大数据笔记05:大数据之Hadoop的HDFS(数据管理策略)
HDFS中数据管理与容错
1.数据块的放置

每个数据块3个副本,就像上面的数据库A一样,这是因为数据在传输过程中任何一个节点都有可能出现故障(没有办法,廉价机器就是这样的),为了保证数据不能丢失,所以存在3个副本,这样保证了硬件上的容错,保证数据传递过程中准确性。
3个副本数据,放在两个机架上。比如上面机架1存在2个副本,机架2存在1个副本。
(1)如果就像下面的DataNode1数据块无法使用了,可以在机架1上的DataNode2和DataNode3取数据 或者 在机架2上取数据;

(2)如果就像下面这样,机架1不能使用了,我们可以在机架2上取数据;

2.心跳检测

DataNode每隔一段时间就会发送心跳消息给NameNode,NameNode通过解析这些心跳消息判断DataNode的状态,比如判断哪些DataNode是挂掉的,哪些是可以使用的。

3. 二级NameNode

NameNode节点只有一个,但是如果NameNode出现故障,整个集群就会出现问题,所以这里出现一个NameNode的备份,也就是SecondaryNameNode。元数据会定期同步到这个SecondaryNameNode上面。
注意在NameNode正常状态下,这里的SecondaryNameNode只会接收备份,不会接收请求。
如果NameNode出现了故障,如下:

SecondaryNameNode会替换NameNode,成为主的NameNode。
大数据笔记05:大数据之Hadoop的HDFS(数据管理策略)的更多相关文章
- 大数据笔记(二)——Apache Hadoop的体系结构
一.分布式存储 NameNode(名称节点) 1.维护HDFS文件系统,是HDFS的主节点. 2.接收客户端的请求:上传.下载文件.创建目录等. 3.记录客户端操作的日志(edits文件),保存了HD ...
- hadoop基础学习---数据管理策略
上图中的ABCDE都代表默认大小64M的数据块 nameNode与dataNode之间有一个心跳机制,datanode每隔多秒钟定期的发送心跳到nameNode
- 大数据笔记01:大数据之Hadoop简介
1. 背景 随着大数据时代来临,人们发现数据越来越多.但是如何对大数据进行存储与分析呢? 单机PC存储和分析数据存在很多瓶颈,包括存储容量.读写速率.计算效率等等,这些单机PC无法满足要求. 2. ...
- 大数据笔记02:大数据之Hadoop的生态系统和版本
1.Hadoop的生态系统: (1)图1: (2)图2: 图1 和 图2 都是形象说明了Hadoop的生态圈. 2.举例介绍Hadoop生态圈的小工具: (1)Hive工具(中文意思:小蜜蜂) 利用H ...
- discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现
discuz论坛apache日志hadoop大数据分析项目:清洗数据核心功能解说及代码实现http://www.aboutyun.com/thread-8637-1-1.html(出处: about云 ...
- 大数据学习(一) | 初识 Hadoop
作者: seriouszyx 首发地址:https://seriouszyx.top/ 代码均可在 Github 上找到(求Star) 最近想要了解一些前沿技术,不能一门心思眼中只有 web,因为我目 ...
- 【学习笔记】大数据技术原理与应用(MOOC视频、厦门大学林子雨)
1 大数据概述 大数据特性:4v volume velocity variety value 即大量化.快速化.多样化.价值密度低 数据量大:大数据摩尔定律 快速化:从数据的生成到消耗,时间窗口小,可 ...
- 别老扯什么Hadoop了,你的数据根本不够大
本文原名“Don't use Hadoop when your data isn't that big ”,出自有着多年从业经验的数据科学家Chris Stucchio,纽约大学柯朗研究所博士后,搞过 ...
- Hadoop! | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户
你正在使用过时的浏览器,Amaze UI 暂不支持. 请 升级浏览器 以获得更好的体验! 深度好文丨读完此文,就知道Hadoop了! 来源:BiThink 时间:2016-04-12 15:1 ...
随机推荐
- 多核CPU利用测试
一直在想程序上是否特意让线程在指定的CPU上去运行,这样可以提高运行效率,所以特地写个代码让CPU使用率画正弦曲线的实验,我使用的是AMD X4 641的CPU,为四核四线程的片子. 代码如下 # ...
- ajax页面数据的传递
在上一篇文章中,简单提到了ajax的工作流程,那么在这里我们就得实战一回了,真正将ajax的用途展现出来,这一整套流程就是在页面上触发一个ajax事件,然后发送请求,紧接着到数据库读取数据,返回值,然 ...
- 自己写的一个banner动画
html <div class="nav" > <div class="nav_son" id="nav"> < ...
- The ultimate jQuery Plugin List(终极jQuery插件列表)
下面的文章可能出自一位奥地利的作者, 列出很多jQuery的插件.类似的网站:http://jquerylist.com/原文地址: http://www.kollermedia.at/archiv ...
- getUrlParam,jQuery中的URL参数获取
大家经常会需要在一段URL中截取到自己所需参数的值,下面的方法也许能帮到您: $.getUrlParam = function(name){ var reg = new RegExp("(^ ...
- python模块之time和datetime
33.python模块之time 1.>>> time.time() 1470900847.8458395 ==>时间戳,从1970年到现在. 2.> ...
- Java多线程中易混淆的概念
概述 最近在看<ThinKing In Java>,看到多线程章节时觉得有一些概念比较容易混淆有必要总结一下,虽然都不是新的东西,不过还是蛮重要,很基本的,在开发或阅读源码中经常会遇到,在 ...
- Linux bash重拾 2016-8-16
bash支持的引号: "" 双引号:弱引用,可以实现变量替换(变量会替换为值) [root@localhost ssh-6Xolw4LLAMwe]# echo "dire ...
- Spark笔记--使用Maven编译Spark源码(windows)
1. 官网下载源码 source code,地址: http://spark.apache.org/downloads.html 2. 使用maven编译: 注意在编译之前,需要设置java堆大小以及 ...
- springboot工程读取配置文件application.yml的写法
现在流行springboot框架的项目,里面的默认配置文件为application.yml,我们怎样读取这个配置文件呢? 先贴上我得配置文件吧 目录结构 里面内容 1 写读取配置文件的工具类 @Con ...