HDFS的可靠性

1、冗余副本策略   2、机架策略    3、心跳机制    4、安全模式

5、校验和           6、回收站       7、元数据保护    8、快照机制

1、冗余副本策略

可以在hdfs-site.xml中设置复制因子指定副本数量
 所有数据块都有副本
 Datanode启动时,遍历本地文件系统,产生一份hdfs数据块和本地文件的对应关系列表(blockreport)汇报给namenode

2、机架策略

集群一般放在不同机架上,机架间带宽要比机架内带宽要小
 HDFS的“机架感知”
 一般在本机架存放一个副本,在其它机架再存放别的副本,这样可以防止机架失效时
丢失数据,也可以提高带宽利用率

3、心跳机制

Namenode周期性从datanode接收心跳信号和块报告
 Namenode根据块报告验证元数据
 没有按时发送心跳的datanode会被标记为宕机,不会再给它任何I/O请求
 如果datanode失效造成副本数量下降,并且低于预先设置的阈值,namenode会检测出这些数据块,并在合适的时机进行重新复制
 引发重新复制的原因还包括数据副本本身损坏、磁盘错误,复制因子被增大等

4、安全模式

Namenode启动时会先经过一个“安全模式”阶段
 安全模式阶段不会产生数据写
 在此阶段Namenode收集各个datanode的报告,当数据块达到最小副本数以上时,
会被认为是“安全”的
 在一定比例(可设置)的数据块被确定为“安全”后,再过若干时间,安全模式结束
 当检测到副本数不足的数据块时,该块会被复制直到达到最小副本数

5、校验和

在文件创立时,每个数据块都产生校验和
 校验和会作为单独一个隐藏文件保存在命名空间下
 客户端获取数据时可以检查校验和是否相同,从而发现数据块是否损坏
 如果正在读取的数据块损坏,则可以继续读取其它副本

6、回收站

删除文件时,其实是放入回收站/trash
 回收站里的文件可以快速恢复
 可以设置一个时间阈值,当回收站里文件的存放时间超过这个阈值,就被彻底删除,并且释放占用的数据块

7、元数据保护

映像文件刚和事务日志是Namenode的核心数据。可以配置为拥有多个副本
 副本会降低Namenode的处理速度,但增加安全性
 Namenode依然是单点,如果发生故障要手工切换

8、快照机制

支持存储某个时间点的映像,需要时可以使数据重返这个时间点的状态
 Hadoop目前还不支持快照,已经列入开发计划

怎样添加新节点?

在新节点安装好hadoop
 把namenode的有关配置文件复制到该节点
 修改masters和slaves文件,增加该节点
 设置ssh免密码进出该节点
 单独启动该节点上的datanode和tasktracker(hadoop-daemon.sh start datanode/tasktracker)
 运行start -balancer.sh进行数据负载均衡

负载均衡:

作用:当节点出现故障,或新增加节点时,数据块分布可能不均匀,负载均衡可以重新平衡各个datanode上数据块的分布

最新文章

  1. express请求及对应的获取说明
  2. 崽崽帮www.zaizaibang.com精选3
  3. MySql数据源配置
  4. linux查找某一进程并杀死
  5. Google Chrome Uncaught TypeError: object is not a function
  6. String数组转List,List转String数组
  7. vim 跳到指定行
  8. parentNode parentElement childNodes children
  9. IOS 动画的各种实现方法
  10. html5基础知识
  11. Linux - 升级+编译kernel
  12. ubuntu环境下jdk安装及jenkins安装
  13. Dockerfile 构建镜像 - 每天5分钟玩转容器技术(13)
  14. Java基础之 数组详解
  15. 占位符的使用和PreparedStatement接口使用:
  16. java多图片上传--前端实现预览--图片压缩 、图片缩放,区域裁剪,水印,旋转,保持比例。
  17. iview中,table组件在缩进时产生的bug。
  18. [BUG]Appium1.9.1 这个问题竟然花了我5分钟进行定位
  19. 二分搜索-poj1064
  20. 工作笔记—新浪微博Oauth2.0授权 获取Access Token (java)

热门文章

  1. SciTE 文本编辑器
  2. unicode 和 utf-8 的关系和解释
  3. VB6 GDI+ 入门教程[1] GDI+介绍
  4. 【转】 FPGA设计的四种常用思想与技巧
  5. jQuery笔记一
  6. 为MySQL选择合适的备份方式
  7. .NET Reflector 8.2支持VS2013高亮显示和代码地图视图
  8. mysql 各种运算对于null值的处理
  9. hdu-----(4514)湫湫系列故事——设计风景线(树形DP+并查集)
  10. 20145236 《Java程序设计》第八周学习总结