在本节中,我们注意到一些操作的特性,试图为您节省一些麻烦。

193.1。区域转换 RPC 和 RS 心跳可以在 Master 上同时到达

报告 RegionServer 上的区域转换现在是一个不同于 RS 心跳的 RPC('RegionServerServices'服务)。心跳和状态更新可以在大约同一时间到达主服务器。 Master 将更新其 Region 的内部状态,但在心跳处理时会检查相同的状态。我们可能会发现意外;即一个刚刚报告为关闭的地区,因此心跳惊讶地发现 RS 报告背面的区域为 OPEN。在新系统中,所有奴隶都必须了解大师对群集状态的理解;主人将杀死/关闭任何未对齐的实体。

为了解决上述问题,我们为内存中的主状态添加了 lastUpdate。在我们采取行动之前,让一个地区的国家有一些年份(目前是一秒)。

193.2。 Master 作为 RegionServer 或 RegionServer 只执行系统表

AMv2 仅强制执行 HMaster 承载系统表的当前主分支默认值;即,HBase 集群中的 Master 也作为 RegionServer,它只是 hbase:metahbase:namespace 等表的独占主机,核心系统表。这导致了一些测试失败,因为 AMv1,虽然它不应该,允许移动 hbase:meta 关闭 Master 而 AMv2 没有。