
# ALM-19006 HBase容灾同步失败
#### 告警解释
告警模块每30s检查一次HBase容灾数据的同步状态，当同步容灾数据到备集群失败时，发送该告警。
当容灾数据同步成功后，告警清除。
#### 告警属性
| 告警ID  | 告警级别 | 是否自动清除 |
|:---|:---|:---|
| 19006 | 紧急   | 是      |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| 来源                | 产生告警的集群名称。            |
| 服务名               | 产生告警的服务名称。            |
| 角色名               | 产生告警的角色名称。            |
| 主机名               | 产生告警的主机名。             |
| Trigger Condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
无法同步集群中HBase的数据到备集群，同步数据积压，导致大量主备数据不一致，使得容灾主备倒换或者双读从备集群读取不到最新的数据。如果持续不处理，还会导致主集群的存储空间以及ZooKeeper节点被大量积压，最终导致主集群服务故障。
#### 可能原因
- 备集群HBase服务异常。
- 网络异常。
 
#### 处理步骤
**观察告警是否自动修复。**
1. 在主集群的FusionInsight Manager界面，选择"运维 \> 告警 \> 告警"。
2. 在告警列表中单击该告警，从完整的告警信息中的"产生时间"处获得告警的产生时间，查看告警是否持续超过5分钟。 
   - 是，执行[步骤 4]。
   
   - 否，执行[步骤 3]。
   
   
   
   
3. 等待5分钟后检查本告警是否自动恢复。
   
   - 是，处理完毕。
   
   - 否，执行[步骤 4]。
   
   
   
   
**检查备集群HBase服务状态。**
4. 登录主集群FusionInsight Manager界面，选择"运维 \> 告警 \> 告警"。
5. 在告警列表中单击该告警，从完整的告警信息中的"定位信息"处获得"主机名"。
6. 以**omm** 用户进入主集群HBase客户端所在节点。
   
   如果集群采用了安全版本，要进行安全认证，然后使用**hbase** 用户进入**hbase shell**界面。
   **cd /opt/client**
   **source ./bigdata_env**
   **kinit** *hbaseuser*
   
   
7. 执行**status 'replication', 'source'** 命令查看故障节点的容灾同步状态。
   
   节点的容灾同步状态如下：
   ```
   10-10-10-153: 
   SOURCE: PeerID=abc, SizeOfLogQueue=0, ShippedBatches=2, ShippedOps=2, ShippedBytes=320, LogReadInBytes=1636, LogEditsRead=5, LogEditsFiltered=3, SizeOfLogToReplicate=0, TimeForLogToReplicate=0, ShippedHFiles=0, SizeOfHFileRefsQueue=0, AgeOfLastShippedOp=0, TimeStampsOfLastShippedOp=Mon Jul 18 09:53:28 CST 2016, Replication Lag=0, FailedReplicationAttempts=0 
   SOURCE: PeerID=abc1, SizeOfLogQueue=0, ShippedBatches=1, ShippedOps=1, ShippedBytes=160, LogReadInBytes=1636, LogEditsRead=5, LogEditsFiltered=3, SizeOfLogToReplicate=0, TimeForLogToReplicate=0, ShippedHFiles=0, SizeOfHFileRefsQueue=0, AgeOfLastShippedOp=16788, TimeStampsOfLastShippedOp=Sat Jul 16 13:19:00 CST 2016, Replication Lag=16788, FailedReplicationAttempts=5
   ```
   
   
8. 找到"FailedReplicationAttempts"的值大于0的记录所对应的"PeerID"值。 
   如上步骤中，故障节点"10-10-10-153"同步数据到"PeerID"为"abc1"的备集群失败。
   
   
9. 继续执行**list_peers** 命令，查找该"PeerID"对应的集群和HBase实例。
   
   ```
   PEER_ID CLUSTER_KEY STATE TABLE_CFS 
   abc1 10.10.10.110,10.10.10.119,10.10.10.133:2181:/hbase2 ENABLED  
   abc 10.10.10.110,10.10.10.119,10.10.10.133:2181:/hbase ENABLED
   ```
   如上所示，**/hbase2**表示数据是同步到备集群的HBase2实例。
   
   
10. 在备集群FusionInsight Manager的服务列表中，查看通过[步骤 9]获取的HBase实例运行状态是否为"良好"。
    
    - 是，执行[步骤 14]。
    
    - 否，执行[步骤 11]。
    
    
    
    
11. 在告警列表中，查看是否有"ALM-19000 HBase服务不可用"告警产生。
    
    - 是，执行[步骤 12]。
    
    - 否，执行[步骤 14]。
    
    
    
    
12. 参考[ALM-19000 HBase服务不可用](https://support.huaweicloud.com/usermanual-mrs/ALM-19000.html)的处理步骤处理该故障。
13. 等待几分钟后检查本告警是否恢复。 
    - 是，处理完毕。
    
    - 否，执行[步骤 14]。
    
    
    
    
**检查主备集群RegionServer之间的网络连接。**
14. 登录主集群FusionInsight Manager界面，选择"运维 \> 告警 \> 告警"。
15. 在告警列表中单击该告警，从完整的告警信息中"定位信息"处获得"主机名"。
16. 以**omm** 用户通过[步骤 15]获取的IP地址登录故障RegionServer节点。
17. 执行**ping** 命令，查看故障RegionServer节点和备集群RegionServer所在主机的网络连接是否正常。
    
    - 是，执行[步骤 20]。
    
    - 否，执行[步骤 18]。
    
    
    
    
18. 联系网络管理员恢复网络。
19. 网络恢复后，在告警列表中，查看本告警是否清除。 
    - 是，处理完毕。
    
    - 否，执行[步骤 20]。
    
    
    
    
**收集故障信息。**
20. 在主备集群的FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
21. 在"服务"中勾选待操作集群的"HBase"。
22. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895445.png)设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
23. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
