AnyBackup
性能爆表
AnyShare
如何购买
我已是Anyshare 客户
AnyRobot
如何购买
购买 AnyRobot 订阅服务
我已是 AnyRobot 客户
一对一在线咨询
我是 AnyRobot 新客户
一对一在线咨询
AnyDATA

爱数博客

全部 AnyBackup AnyShare AnyRobot AnyDATA AnyFabric

Hadoop备份恢复原理解析

2020-12-23 5174 0
早在2016年IDC就预测,全球大数据市场将达170亿美元规模,市场发展前景很大。而Hadoop作为新一代的架构和技术,因为有利于并行分布处理 “大数据”而备受重视。Hadoop分布式文件系统(Hadoop Distributed File System)能提供高吞吐量的数据访问,适合大规模数据集方面的应用,为海量数据提供存储服务,提供类POSIX接口。

Hadoop的核心组件
Hadoop的核心组件是MapReduce和HDFS,MapReduce是一种编程模型,用于大规模数据集的并行运算。Map(映射)和Reduce(化简),采用分而治之思想,先把任务分发到集群多个节点上,并行计算,然后再把计算结果合并,从而得到最终计算结果。HDFS是一个高度容错性的分布式文件系统,能提供高吞吐量的数据访问,非常适合大规模数据集上的应用。

Hadoop分布式文件系统(Hadoop Distributed File System)能提供高吞吐量的数据访问,适合大规模
在HDFS内部,一个文件分成一个或多个“数据块”,这些“数据块”存储在DataNode集合里,NameNode负责保存和管理所有的HDFS元数据。客户端连接到NameNode,执行文件系统的“命名空间”操作,例如打开、关闭、重命名文件和目录,同时决定“数据块”到具体DataNode节点的映射。DataNode在NameNode的指挥下进行“数据块”的创建、删除和复制。客户端连接到DataNode,执行读写数据块操作。

备份流程
(以3个AnyBackup Client 为例):
1.发起备份,相关HDFS节点上的AnyBackup Client执行进程启动,解析备份数据源、备份类型等。
2.执行进程(后称 hdfsclient )请求下载文件,将需要备份的数据对象传递给NameNode 。
3.NameNode返回文件block信息。 (输入流FSDataOutputStream对象与NameNode建立连接,通过RPC getBlockLocations () 确定文件block的保存位置,即DataNode 地址 ;不会一次返回文件所有的block信息,需多次调用getBlockLocations () )
4.hdfsclient解析NameNode返回的备份对象元数据,获取文件block的位置信息,和最近的DataNode建立连接并下载文件block。
5.NameNode返回文件block, hdfsclient读取文件block之后验证DataNode中的校验和,保证数据的一致性。
6.Client发送备份数据至AnyBackup Server。
7.一直重复操作4 5 6,逐一备份文件block,直至所有block全部备份完成, hdfsclient关闭输入流FSDataOutputStream对象,以示文件下载并备份完成。
8.一直重复操作2 3 4 5 6 7,逐一下载并备份文件/目录,直至所有文件/目录全部下载并备份完成,即备份结束。
恢复流程
(以单个AnyBackup Client 为例):
1.发起恢复,相关HDFS节点上的AnyBackup Client执行进程启动。
2.执行进程 从备份存储中下载待恢复对象,
3.执行进程(后称 hdfsclient )跟NameNode通信请求上传文件。
4.NameNode检查检查目标文件是否存在,hdfsclient是否有其父目录中创建文件的权限。若检查通过,则NameNode构造名为file.copying的临时文件,并返回可以上传。
5.hdfsclient向NameNode请求上传文件的第一个block。
6.NameNode返回DataNode信息,表明该block应传输到哪些DataNode上。
7.hdfsclient与第一个DataNode建立pipeline (RPC调用),第一个DataNode再与第二个DataNode建立pipeline ,然后第二个DataNode再与第二个DataNode建立pipeline,直到整个pipeline建立完成。
8.pipeline建立后,按照建立顺序的逆序逐级响应,最后通知hdfsclient。
9.hdfsclient开始上传block,并逆序返回确认消息ack。
10.每个block上传完成后, DataNode向NameNode提交信息,以示该block上传完成。
11.一直重复操作第5、6、7、8、9、10步,逐一上传block ,直至所有block全部上传完成, hdfsclient通知NameNode关闭文件,NameNode将该文件的.copying后缀去掉,文件上传完成。
12.一直重复操作第2、3、4、5、6、7、8、9、10、11步,逐一上传文件/目录,直至所有文件/目录全部上传完成,即恢复结束。

利用Hadoop HDFS Client 提供的接口来完成备份恢复功能,具有如下优点
  • 提供文件/目录级别的细粒度备份和恢复
  • 支持完全备份、增量备份、永久增量备份、差异备份
  • 支持原HDFS、异HDFS恢复,支持恢复到Linux常见的文件系统(XFS、Ext4、Ntfs)
  • 多节点并发,节点内多线程读/写数据,提高备份/恢复速度,缩小备份/恢复窗口
  • 可根据环境配置,进行数据校验和加密,保证数据传输的安全性(HDFS端->HDFS Client端数据传输加密)
  • 支持远程复制,异地容灾,提高数据的保护等级
  • 支持重删、压缩、加密、远程复制高级特性,减少数据传输和存储空间,提供存储空间的利用率
  • 备份时支持根据文件路径、时间等属性的过滤条件,筛选备份对象

请就本文对您的益处进行评级:

标签

产品技术

相关文章

热门标签

版本发布 在线教学

拨打400

免费销售咨询热线

400 8216055

7*24 小时免费售后服务热线

400 880 1569

购买咨询

购买咨询

售后服务

售后服务

返回顶部

为了给您提供更优质的服务,请您先完善以下信息:
确认提交

扫码关注

爱数技术支持中心公众号