1、选择hadoop3.1.1(https://pan.baidu.com/s/1UFHq6dxoh5AiqO_cd85NTw编译后的文件)hbase2.1.7下载源码并编译
2、创建zstd包的软连接
ln -s /usr/lib64/libzstd.so /usr/local/hadoop/lib/native/libzstd.so
ln -s /usr/lib64/libzstd.so.1 /usr/local/hadoop/lib/native/libzstd.so.1
ln -s /usr/lib64/libzstd.so.1.4.2 /usr/local/hadoop/lib/native/libzstd.so.1.4.2
3、登录hbase服务器执行命令(master是局域网内的另一个hbase集群):
//列明=info,表名=vvms_trails00,hbase路径=/export/00/编号,版本号=1,开始时间戳=0,结束时间戳=1564588800000
hbase org.apache.hadoop.hbase.mapreduce.Export -D hbase.mapreduce.scan.column.family=info vvms_trails00 hdfs://master:9000/export2/00 1 1564588800000
4、执行导入命令hbase org.apache.hadoop.hbase.mapreduce.Import vvms_trails00 /export2/00
5、设置压缩并执行生效(看数据量大小,得花一段时间)
alter 'vvms_trails00', {NAME => 'info', COMPRESSION => 'lz4'}
major_compact 'vvms_trails00'
注意:如果使用distcp则得使用hbck2命令恢复表,由于hbase2.0.6以后才支持,折中选择只能是2.0.6以后的稳定版本,2.1.7是个不错选择
入迁移压缩过程中出现hbase表、文件、任务锁住情况,使用hbase-hbck2-1.1.0-SNAPSHOT.jar(https://pan.baidu.com/s/1l-91Sm1lFLwiRq-I_C4DUA)工具
-r带父级执行任务 -o覆盖执行任务 -w放弃等待任务
./bin/hbase hbck -j hbase-hbck2-1.1.0-SNAPSHOT.jar bypass -w 399
修复表命令(通过distcp命令导入的hbase数据库文件)
./bin/hbase hbck -j hbase-hbck2-1.1.0-SNAPSHOT.jar fixMeta
修复表命令(通过distcp命令导入的hbase数据库文件)
./bin/hbase hbck -j hbase-hbck2-1.1.0-SNAPSHOT.jar addFsRegionsMissingInMeta -d
执行region
./bin/hbase hbck -j hbase-hbck2-1.1.0-SNAPSHOT.jar assigns -o 3cc3367cc84d84dca4329a90de7b792f