HBase数据备份

HBase数据备份

ID:40554479

大小:262.52 KB

页数:27页

时间:2019-08-04

HBase数据备份_第1页
HBase数据备份_第2页
HBase数据备份_第3页
HBase数据备份_第4页
HBase数据备份_第5页
资源描述:

《HBase数据备份》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、HBase数据备份的方法1FullShutdownBackup1.1关闭hbase1.2利用hadoop的distcpDistcp既用于将HDFS里面的HBase目录下的内容拷贝到当前集群的另一个目录,也可以拷贝到另一个集群。1.3Hadoopdistcp用法DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。它把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝。由于使用了Map/Reduce方法,这个工具在语义和执行上都会有特殊的地方。这篇文档会为常用DistCp操作提供

2、指南并阐述它的工作模型。使用方法基本使用方法DistCp最常用在集群之间的拷贝:bash$hadoopdistcphdfs://nn1:8020/foo/barhdfs://nn2:8020/bar/foo这条命令会把nn1集群的/foo/bar目录下的所有文件或目录名展开并存储到一个临时文件中,这些文件内容的拷贝工作被分配给多个map任务,然后每个TaskTracker分别执行从nn1到nn2的拷贝操作。注意DistCp使用绝对路径进行操作。命令行中可以指定多个源目录:bash$hadoopdistcphdfs://nn1:8020/foo/ahdfs://nn1:8020/foo

3、/bhdfs://nn2:8020/bar/foo或者使用-f选项,从文件里获得多个源:bash$hadoopdistcp-fhdfs://nn1:8020/srclisthdfs://nn2:8020/bar/foo其中srclist的内容是hdfs://nn1:8020/foo/ahdfs://nn1:8020/foo/b当从多个源拷贝时,如果两个源冲突,DistCp会停止拷贝并提示出错信息,如果在目的位置发生冲突,会根据选项设置解决。默认情况会跳过已经存在的目标文件(比如不用源文件做替换操作)。每次操作结束时都会报告跳过的文件数目,但是如果某些拷贝操作失败了,但在之后的尝试成功

4、了,那么报告的信息可能不够精确(请参考附录)。每个TaskTracker必须都能够与源端和目的端文件系统进行访问和交互。对于HDFS来说,源和目的端要运行相同版本的协议或者使用向下兼容的协议。拷贝完成后,建议生成源端和目的端文件的列表,并交叉检查,来确认拷贝真正成功。因为DistCp使用Map/Reduce和文件系统API进行操作,所以这三者或它们之间有任何问题都会影响拷贝操作。一些Distcp命令的成功执行可以通过再次执行带-update参数的该命令来完成,值得注意的是,当另一个客户端同时在向源文件写入时,拷贝很有可能会失败。尝试覆盖HDFS上正在被写入的文件的操作也会失败。如果一

5、个源文件在拷贝之前被移动或删除了,拷贝失败同时输出异常FileNotFoundException。选项选项索引标识描述备注-p[rbugp]Preserver:replicationnumberb:blocksizeu:userg:groupp:permission修改次数不会被保留。并且当指定-update时,更新的状态不会被同步,除非文件大小不同(比如文件被重新创建)。-i忽略失败就像在附录中提到的,这个选项会比默认情况提供关于拷贝的更精确的统计,同时它还将保留失败拷贝操作的日志,这些日志信息可以用于调试。最后,如果一个map失败了,但并没完成所有分块任务的尝试,这不会导致整个作

6、业的失败。-log记录日志到DistCp为每个文件的每次尝试拷贝操作都记录日志,并把日志作为map的输出。如果一个map失败了,当重新执行时这个日志不会被保留。-m同时拷贝的最大数目指定了拷贝数据时map的数目。请注意并不是map数越多吞吐量越大。-overwrite覆盖目标如果一个map失败并且没有使用-i选项,不仅仅那些拷贝失败的文件,这个分块任务中的所有文件都会被重新拷贝。就像下面提到的,它会改变生成目标路径的语义,所以用户要小心使用这个选项。-update如果源和目标的大小不一样则进行覆盖像之前提到的,这不是"同步"操作。执

7、行覆盖的唯一标准是源文件和目标文件大小是否相同;如果不同,则源文件替换目标文件。像下面提到的,它也改变生成目标路径的语义,用户使用要小心。-f使用作为源文件列表这等价于把所有文件名列在命令行中。urilist_uri列表应该是完整合法的URI。更新和覆盖这里给出一些-update和-overwrite的例子。考虑一个从/foo/a和/foo/b到/bar/foo的拷贝,源路径包括:hdfs://nn1:8

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。