https://www.jianshu.com/p/990bb550be3b
hbase0.94.11(hadoop为1.1.2,此电脑ip为172.19.32.128)向hbase1.1.2 (hadoop为2.6.5,此电脑ip为172.19.32.118)数据迁移.
第一步:首先必须关闭防火墙。
Sudo ufw status (如果没有下载ufw,则sudo apt-get install ufw)
Sudo ufw enable
Sudo ufw disable
Sudo ufw allow|deny 8000
第二步进行迁移
方式一:
用snapshot进行数据迁移时需要localhost的地方把hadoop的core-site.xml中的fs.default.name设置为localhost。不要使用本机ip,即172.19.32.128。
方式二:
使用hadoop fs –cp命令,进行数据迁移时,双方的ip必须按照hadoop的core-site.xml中的fs.default.name来写。(src中配置为localhost,des中配置是其本机的地址,即172.19.32.118).
方式三:
使用hadoop的distcp工具进行数据迁移:
数据迁移总结:
1. hadoop distcp
将hbase存储在hdfs上面的数据目录全部从当前集群拷贝至目标集群hbase对应的hdfs目录;
hadoop distcp -f hbasedir "hdfs://new cluster ip:9000/hbasedir
说明:此方案只适用于离线迁移;且测试由0.94–》1.1.2版本测试失败。同版本的数据迁移(备份)没问题 。
2. hadoop fs –cp
此操作可以进行本地文件系统和hdfs中数据的导入导出。实现两个集群的hdfs进行,此操作需要消耗大量的网络带宽,速度慢。测试由0.94–》1.1.2版本测试失败。
3.hbase –snapshot
此操作进行数据迁移比较高效,较推荐。测试由0.94–》1.1.2版本测试失败。
以上三种都需要注意ip的设置。