
# ALM-13000 ZooKeeper服务不可用
#### 告警解释
系统每60秒周期性检测ZooKeeper服务状态，当检测到ZooKeeper服务不可用时产生该告警。
ZooKeeper服务恢复时，告警清除。
#### 告警属性
| 告警ID  | 告警级别 | 是否自动清除 |
|:---|:---|:---|
| 13000 | 紧急   | 是      |
   
#### 告警参数
| 参数名称 | 参数含义       |
|:---|:---|
| 来源   | 产生告警的集群名称。 |
| 服务名  | 产生告警的服务名称。 |
| 角色名  | 产生告警的角色名称。 |
| 主机名  | 产生告警的主机名。  |
   
#### 对系统的影响
ZooKeeper无法为上层组件提供协调服务，依赖ZooKeeper的组件（例如Yarn、Flink等）无法正常运行。
#### 可能原因
- ZooKeeper节点上安装了DNS。
- 网络故障。
- KrbServer服务异常。
- ZooKeeper实例状态异常。
- 磁盘容量不足。
 
#### 处理步骤
**检查DNS。**
1. 查看ZooKeeper实例所在节点上是否安装DNS。在ZooKeeper实例所在Linux节点使用命令**cat /etc/resolv.conf** ，看该文件是否为空。
   
   - 是，执行[步骤 2]。
   
   - 否，执行[步骤 3]。
   
   
   
   
2. 运行命令**service named status** 查看DNS是否启动。
   
   - 是，执行[步骤 3]。
   
   - 否，执行[步骤 5]。
   
   
   
   
3. 运行命令**service named stop**将DNS服务停掉，如果出现"Shutting down name server BIND waiting for named to shut down (28s)"结果，即说明DNS服务停止成功。然后将"/etc/resolv.conf"文件的内容（若不为空）全部注释。
4. 在"运维 \> 告警 \> 告警"页签，查看该告警是否恢复。 
   - 是，处理完毕。
   
   - 否，执行[步骤 5]。
   
   
   
   
**检查网络状态。**
5. 在ZooKeeper实例所在Linux节点使用**ping** 命令，看能否**ping** 通其他ZooKeeper实例所在节点的主机名。
   
   - 是，执行[步骤 9]。
   
   - 否，执行[步骤 6]。
   
   
   
   
6. 修改"/etc/hosts"中的IP信息，添加主机名与IP地址的对应关系。
7. 再次执行**ping** 命令，查看能否在该ZooKeeper实例节点**ping** 通其他ZooKeeper实例节点的主机名。
   
   - 是，执行[步骤 8]。
   
   - 否，执行[步骤 23]。
   
   
   
   
8. 在"运维 \> 告警 \> 告警"页签，查看该告警是否恢复。
   
   - 是，处理完毕。
   
   - 否，执行[步骤 9]。
   
   
   
   
**检查KrbServer服务状态（普通模式集群跳过此步骤）**。
9. 在FusionInsight Manager首页，选择"集群 \> *待操作集群的名称* \> 服务"。
10. 查看KrbServer服务是否正常。 
    - 是，执行[步骤 13]。
    
    - 否，执行[步骤 11]。
    
    
    
    
11. 参考[ALM-25500 KrbServer服务不可用](https://support.huaweicloud.com/usermanual-mrs/ALM-25500.html)进行处理，查看KrbServer服务是否能够恢复。
    
    - 是，执行[步骤 12]。
    
    - 否，执行[步骤 23]。
    
    
    
    
12. 在"运维 \> 告警 \> 告警"页签，查看该告警是否恢复。
    
    - 是，处理完毕。
    
    - 否，执行[步骤 13]。
    
    
    
    
**检查ZooKeeper服务实例状态。**
13. 在FusionInsight Manager首页，选择"集群 \> *待操作集群的名称* \> 服务 \> ZooKeeper \> quorumpeer"。
14. 查看ZooKeeper各实例是否正常。 
    - 是，执行[步骤 18]。
    
    - 否，执行[步骤 15]。
    
    
    
    
15. 选中运行状态不为良好的实例，选择"更多 \> 重启实例"。
    
    ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
    重启期间服务业务可能受损或中断，建议选择业务低峰期操作。
    
    
16. 查看实例重启后运行状态是否为良好。 
    - 是，执行[步骤 17]。
    
    - 否，执行[步骤 18]。
    
    
    
    
17. 在"运维 \> 告警 \> 告警"页签，查看该告警是否恢复。
    
    - 是，处理完毕。
    
    - 否，执行[步骤 18]。
    
    
    
    
**检查磁盘状态。**
18. 在FusionInsight Manager首页，选择"集群 \> *待操作集群的名称* \> 服务 \> ZooKeeper \> quorumpeer"查看ZooKeeper实例所在的各节点主机信息。
19. 在FusionInsight Manager首页，单击"主机"。
20. 在"磁盘"列，检查ZooKeeper实例所在的各节点数据磁盘空间是否不足（使用率超过百分之80）。 
    - 是，执行[步骤 21]。
    
    - 否，执行[步骤 23]。
    
    
    
    
21. 参考[ALM-12017 磁盘容量不足](https://support.huaweicloud.com/usermanual-mrs/ALM-12017.html)进行处理，对磁盘进行扩容。
22. 在"运维 \> 告警 \> 告警"页签，查看该告警是否恢复。 
    - 是，处理完毕。
    
    - 否，执行[步骤 23]。
    
    
    
    
**收集故障信息。**
23. 在FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
24. 在"服务"中勾选待操作集群的如下节点信息。（普通模式集群不需要下载KrbServer日志。） 
    - ZooKeeper
    
    - KrbServer
    
    
    
    
25. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895382.png)设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
26. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
