HBaseFsck类的hbase hbck流程;hbck是一个很重的管理工具,他会访问所有rs,扫描整个meta表,以及读取所有table region里的regioninfo,所以不要频繁使用hbck,会给hbase带来压力
/** * This repair method requires the cluster to be online since it contacts * region servers and the masters. It makes each region's state in HDFS, in * hbase:meta, and deployments consistent. * * @return If > 0 , number of errors detected, if < 0 there was an unrecoverable * error. If 0, we have a clean hbase. */ public int onlineConsistencyRepair() throws IOException, KeeperException, InterruptedException { clearState(); // get regions according to what is online on each RegionServer //加载每个regionserver上的region,将regioninfo放入map中,regioninfo中没有metainfo loadDeployedRegions(); // check whether hbase:meta is deployed and online //加载meta表的regioninfo,并检查meta表的regioninfo recordMetaRegion(); // Check if hbase:meta is found only once and in the right place //检查meta表,有且只有一个region if (!checkMetaRegion()) { String errorMsg = "hbase:meta table is not consistent. "; if (shouldFixAssignments()) { errorMsg += "HBCK will try fixing it. Rerun once hbase:meta is back to consistent state."; } else { errorMsg += "Run HBCK with proper fix options to fix hbase:meta inconsistency."; } errors.reportError(errorMsg + " Exiting..."); return -2; } // Not going with further consistency check for tables when hbase:meta itself is not consistent. LOG.info("Loading regionsinfo from the hbase:meta table"); //扫描meta表,将regioninfo放入map中,添加metainfo信息 boolean success = loadMetaEntries(); if (!success) return -1; // Empty cells in hbase:meta? reportEmptyMetaCells(); // Check if we have to cleanup empty REGIONINFO_QUALIFIER rows from hbase:meta if (shouldFixEmptyMetaCells()) { fixEmptyMetaCells(); } // get a list of all tables that have not changed recently. if (!checkMetaOnly) { reportTablesInFlux(); } // load regiondirs and regioninfos from HDFS if (shouldCheckHdfs()) {//唯一一个默认是true的 loadHdfsRegionDirs();//获得所有hbase table region dir,将regioninfo hbckinfo上添加hdfsentry对象,表示region在hdfs上的信息 loadHdfsRegionInfos();//获得所有hbase table region hfile,检查region是否存在(meta region存在,hdfs region不存在) } // Get disabled tables from ZooKeeper loadDisabledTables(); // fix the orphan tables fixOrphanTables(); // Check and fix consistency checkAndFixConsistency();//默认流程,检查meta和hdfs上的region丢失 // Check integrity (does not fix) checkIntegrity();//默认流程,检查region漏洞 return errors.getErrorList().size(); }
相关推荐
该文件为hbase hbck2 jar;适用于hbase 2.x维护,hbase 1.x不适用;对于HBase跨集群HD集群迁移,当HDFS文件迁移后,使用HBCK客户端,完成HBase元数据修复。当前版本:hbase-hbck2-1.3.0.jarhbase hbck -j /opt/...
在HBase 2.x版本中,HBCK2(HBase FileSystem Check Tool 2)是一个重要的工具,用于检查和修复HBase表和Region的不一致性。HBCK2是HBase维护和故障排查的重要组成部分,尤其在处理数据丢失、Region分裂不正确或者元...
hbase hbck2 jar; 完整打包;...使用命令:hbase hbck -j hbase-hbck2-1.3.0-SNAPSHOT.jar fixMeta,最后两个参数分别代表 hbck2 jar包路径,维护命令(hbase-hbck2-1.3.0-SNAPSHOT.jar fixMeta)
hbase hbck2修复工具hbase-operator-tools-1.0.0.1.0.0.0-618-bin.tar.gz,hbase1版本的hbck已经不支持修复命令,hbase2.1版本需要用这个新版的工具
hbase-hbck2-1.1.0-SNAPSHOT.jar
HBCK是HBase1.x中的命令,到了HBase2.x中,HBCK命令不适用,且它的写功能(-fix)已删除; HBCK2已经被剥离出HBase成为了一个单独的项目,如果你想要使用这个工具,需要根据自己HBase的版本,编译源码。其GitHub地址...
Hbase修复工具 示例情景: Q:缺失hbase.version文件 A:加上选项 -fixVersionFile 解决 Q:如果一个region即不在META表中,又不在hdfs上面,但是在regionserver的online region集合中 A:加上选项 -...
hbase 2.x以后取消了hbase hbck,需要使用hbase hbck2,我编译的这个版本可以支持hbase[2.0.3, 2.0.5, 2.1.1, 2.2.0, 3.0.0],具体怎么使用,可以参考 https://bbs.huaweicloud.com/blogs/353333,或者留言问我哈。
hbase 修复工具,hbck 编译好
HBase hbck 工具是一个非常有用的工具,可以检查 HBase 集群的健康状态。HBase.RegionServer 可能会因为机器硬件、网络、时间同步、GC 等原因挂掉,导致 HBase 冲突问题。hbck 工具可以检查 HBase 集群的健康状态,...
处理hbase异常工具
在HBase 1.x系列中,RIT问题通常可以通过hbase hbck –repair命令完成修复。但是在HBase 2.x系列中,该命令还没有支持,所以暂时无法通过这种命令完成修复。 方案三:执行assign或unassign命令 根据RIT状态执行...
hbase-exporterHBase Prometheus导出器收集指标并中继JMX指标以供Prometheus使用由于JMX中一些重要的指标缺失或为空,因此我们另外分析了HBase主界面,例如“过渡中的过时区域” 解析“ hbase hbck”命令的输出以...
3. 初始化HBase:执行`hbase hbck -fix`检查和修复HBase元数据。 4. 启动HBase:通过`start-hbase.sh`命令启动Master和RegionServer。 Zookeeper3.4.12是一个分布式协调服务,用于管理Hadoop和HBase的元数据。配置...
在HBase的bin目录下执行`./hbase hbck -fixMeta`命令,目的是修复可能因迁移导致的元数据不一致问题。元数据包括关于表、Region和分配信息的详细记录。 5. **重新分配Region**: 迁移后,可能需要重新分配Region以...
HBCK提供了多种检查命令,例如"./bin/hbase hbck"、"./bin/hbase hbck –details"等。HBCK也提供了多种修复命令,例如"-fixAssignments"、"-fixMeta"等。 HBCK局部低危修复 HBCK局部低危修复用于修复HBase集群中的...
HBCK是HBase的健康检查工具,用于检测和修复HBase集群的一致性和完整性问题。它主要检查以下方面: 1. **Region一致性**:确保每个region都正确地分配并部署到唯一的RegionServer上,且在内存、hbase:meta表和...
hbase
例如,使用`hbase hbck -balance`命令可以强制执行一次负载均衡。同时,管理员也可以通过HBase的Web UI或JMX接口来监控和控制balancer的状态。 总之,HBase的`balancer`功能是保证集群高效运行的关键组件。它通过...