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。

最新文章

  1. Xilinx FPGA全局时钟和全局时钟资源的使用方法
  2. Atitit 跨平台异常处理(2)--------异常转换 -----java c# js异常对象结构比较and转换
  3. ie7下<a></a>标签不反应
  4. Maven Learning - Direct Dependencies & Transitive Dependencies
  5. java信号量PV操作 解决生产者-消费者问题
  6. 延长FLASH和EEPROM芯片写入次数的小方法
  7. kindle使用参考
  8. zookeeper集群实例
  9. foreach笔记
  10. intel Xeon(R) CPU E5-2650 v2 性能测试报告
  11. Linux 命令大全之Red Hat 7常用命令总结二
  12. ecshop添加菜单以及权限分配
  13. jenkins学习之多项目构建
  14. 获取数据库时间sql 以及行级锁总结-共享锁-排他锁-死锁
  15. app与手机其他软件交互测试
  16. freemarker导出word文档
  17. Android jni Crash堆栈信息分析
  18. Flask 中的 特殊装饰器before_request/after_request
  19. ECharts 使用总结
  20. hdu3861 强连通分量缩点+二分图最最小路径覆盖

热门文章

  1. 【C#学习笔记】一、基础知识
  2. CSP内容安全策略
  3. cocos2d-x 读取 json 文件并用 jsoncpp 做解析
  4. JavaScript 的setAttribute兼容性解决
  5. kill tomcat process in window
  6. 关于自定义Adapter实现ListView的使用
  7. Swift中使用构建配置来支持条件编译-b
  8. ASP.NET中Request.ApplicationPath、Request.FilePath、Request.Path、.Request.MapPath
  9. asp.net WebForm 多语言的实现
  10. 转:使用XHProf优化PHP程序