HBase数据迁移踩坑记录
迁移背景:之前大数据集群部署在ucloud私有云上,由于各种原因,我们决定迁移到阿里云上;hbase数据迁移有很多种方式,我们使用的方式是distcp方式,hbase的数据量不大就600G左右,表数据大致300多张。
我们遇到的问题:
ucloud备份静态数据文件和hbase生产目录下备份静态文件,但是distcp过来新集群这边后,hbase开始使用后,目录下就莫名其妙会多出来一些空文件,手动删除之后过了一会又会有新的空文件出来。同时spark往hbase中写数据也有问题,报错说hbase存在重复的startkey。
然后我们手动删除空文件数据过程:
删完了继续执行继续报错
查看《Hbase权威指南》关于Hbase使用distcp迁移数据要注意的有关事项,我们操作起来也是基本按照这个来操作的。
最后搞了两天终于掌握了一点它的套路:delete region删完立马停止服务,删HDFS空文件,删ZK hbase,重启服务,终于恢复了正常。
这个问题后面总结了下:应该是一开始操作不当导致region或者zookeeper hbase数据中存在脏数据,删除的时候没有删除干净导致的这个问题的产生。