一.Orphan 原理
1.1 什么是Orphan
Orprphaned regions are regions without a .regioninfo file regions are regions without a .regioninfo file
Orphan 是指region对应的Regioninfo文件在hdfs文件丢缺失。
1.2 修复原理
- 检查region的hfile是否存在,可能不存在(数据在内存)。
- 如果没有数据,那么将region迁移到.hbck的一个目录,删除原region目录。
- 根据所有hfile文件确定startkey和endkey。
- 根据startkey和endkey 表的信息 新建在hdfs上新建region目录 regioninfo文件和列族等信息,迁移hfile和wal相关信息到新目录。
- 删除原先缺失regioninfo文件的hdfs的region目录。
二. Orphan 源码分析
2.1 check Orphan
检查 orphan的情况,根据orphanhdfsdir的大小判断是否有overlap的region。
orphanHdfsDirs集合在哪里赋值?