使用OmniHBaseGSI全局二级索引工具检查用户数据和索引数据的一致性,如果索引数据与用户数据不一致,可使用工具修复索引数据。
可使用OmniHBaseGSI全局二级索引工具检查用户数据和索引数据的一致性,如果索引数据与用户数据不一致,可用于修复索引数据。
请避免在使用该功能的同时进行put/delete操作,会导致结果异常。
索引修复功能主要为put/delete操作时发生的异常情况而设计。对于人为破坏索引表的行为,可能导致无法正确修复,此时推荐删除并重建索引。例如工具会将verified状态的索引列视为正常,如果人为修改了该索引列的覆盖列,该功能是无法检查出来的。
使用前需要修改Hadoop配置文件mapred-site.xml,在mapreduce.application.classpath属性中添加HBase的“lib”目录(默认OmniHBaseGSI的JAR包也放在“/usr/local/hbase/lib”中,如果放在其他目录,也需要单独将二级索引JAR包配置到classpath中)。配置完成之后请重启Hadoop和HBase。
执行以下命令可检查数据一致性,若不一致,将重新构建索引数据。一致性检查结果会保存到“default:INDEX_CONSISTENCY_RECORD_TABLE”和“default:INDEX_CONSISTENCY_RECORD_METADATA”表中。
1 | hbase com.huawei.boostkit.hindex.mapreduce.consistency.GlobalHIndexConsistencyTool -dt table1 -it idx3 -src BOTH -r |
命令参数说明: