
# ALM-12006 节点故障
#### 告警解释
Controller按30秒周期检测NodeAgent心跳。当Controller未接收到某一个NodeAgent的心跳，则尝试重启该NodeAgent进程，如果连续三次重启失败，产生该告警。
当Controller可以正常接收时，告警恢复。
![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
MRS 3.3.0及之后版本，该告警名称变更为"NodeAgent进程异常"。
#### 告警属性
| 告警ID  | 告警级别 | 是否自动清除 |
|:---|:---|:---|
| 12006 | 重要   | 是      |
   
#### 告警参数
| 参数名称 | 参数含义          |
|:---|:---|
| 来源   | 产生告警的集群或系统名称。 |
| 服务名  | 产生告警的服务名称。    |
| 角色名  | 产生告警的角色名称。    |
| 主机名  | 产生告警的主机名。     |
   
#### 对系统的影响
NodeAgent代理进程异常，无法上报心跳至平台。如果因为网络、硬件故障或ssh互信造成，则组件业务无法保证正常。
#### 可能原因
- 网络断连、硬件故障或操作系统执行命令缓慢。
- NodeAgent进程内存不足。
- NodeAgent进程故障。
 
#### 处理步骤
**检查网络是否断连、硬件是否故障或者操作系统执行命令缓慢。**
1. 在MRS集群Manager页面，选择"运维 \> 告警 \> 告警"，单击此告警所在行的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895827.png)，单击主机名，查看该告警的主机地址信息。
   
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 以**root** 用户登录主管理节点，用户密码为安装前用户自定义，请咨询系统管理员。
   
   查看MRS集群主备管理节点可参考[查看MRS集群主备管理节点](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0086.html)。
   **如果当前故障节点为主管理节点，当登录主管理节点时无法登录，则说明可能为主管理节点网络故障，请执行[步骤 4]。**
   
   
3. 执行命令检查故障节点是否可达。 
   ```
   ping 故障主机IP地址
   ```
   - 是，执行[步骤 12]。
   
   - 否，执行[步骤 4]。
   
   
   
   
4. 联系网络管理员查看是否为网络故障。
   
   - 是，执行[步骤 5]。
   
   - 否，执行[步骤 6]。
   
   
   
   
5. 修复网络故障，查看告警列表中，该告警是否已清除。
   
   - 是，处理完毕。
   
   - 否，执行[步骤 6]。
   
   
   
   
6. 联系硬件管理员查看是否节点硬件故障（CPU或者内存等）。
   
   - 是，执行[步骤 7]。
   
   - 否，执行[步骤 12]。
   
   
   
   
7. 维修或者更换故障部件，并重启节点。查看告警列表中，该告警是否已清除。
   
   - 是，处理完毕。
   
   - 否，执行[步骤 8]。
   
   
   
   
8. 当集群中上报大量的节点故障时，可能是浮动IP资源异常导致Controller无法检测NodeAgent心跳。
   
   以**root**用户登录集群任一管理节点，查看"/var/log/Bigdata/omm/oms/ha/scriptlog/floatip.log"，查看故障出现前后1\~2分钟的日志是否完整。
   ```
   cat /var/log/Bigdata/omm/oms/ha/scriptlog/floatip.log
   ```
   例如完整日志为如下格式：
   ```
   2017-12-09 04:10:51,000 INFO (floatip) Read from ${BIGDATA_HOME}/om-server_*/om/etc/om/routeSetConf.ini,value is : yes
   2017-12-09 04:10:51,000 INFO (floatip) check wsNetExport : eth0 is up.
   2017-12-09 04:10:51,000 INFO (floatip) check omNetExport : eth0 is up.
   2017-12-09 04:10:51,000 INFO (floatip) check wsInterface : eRth0:oms, wsFloatIp: XXX.XXX.XXX.XXX.
   2017-12-09 04:10:51,000 INFO (floatip) check omInterface : eth0:oms, omFloatIp: XXX.XXX.XXX.XXX.
   2017-12-09 04:10:51,000 INFO (floatip) check  wsFloatIp : XXX.XXX.XXX.XXX is reachable.
   2017-12-09 04:10:52,000 INFO (floatip) check  omFloatIp : XXX.XXX.XXX.XXX is reachable.
   ```
   - 是，执行[步骤 12]。
   
   - 否，执行[步骤 9]。
   
   
   
   
9. 查看检测完wsNetExport后是否有打印omNetExport的检测日志或两条日志打印间隔时间超过10秒或更长时间。
   
   - 是，执行[步骤 10]。
   
   - 否，执行[步骤 12]。
   
   
   
   
10. 查看操作系统的"/var/log/message"文件，确认故障出现时间段是否有sssd频繁重启或者nscd异常信息。
    
    ```
    cat /var/log/message
    ```
    sssd重启样例如下：
    ```
    Feb  7 11:38:16 10-132-190-105 sssd[pam]: Shutting down
    Feb  7 11:38:16 10-132-190-105 sssd[nss]: Shutting down
    Feb  7 11:38:16 10-132-190-105 sssd[nss]: Shutting down
    Feb  7 11:38:16 10-132-190-105 sssd[be[default]]: Shutting down
    Feb  7 11:38:16 10-132-190-105 sssd: Starting up
    Feb  7 11:38:16 10-132-190-105 sssd[be[default]]: Starting up
    Feb  7 11:38:16 10-132-190-105 sssd[nss]: Starting up
    Feb  7 11:38:16 10-132-190-105 sssd[pam]: Starting up
    ```
    nscd异常样例如下：
    ```
    Feb 11 11:44:42 10-120-205-33 nscd: nss_ldap: failed to bind to LDAP server ldaps://10.120.205.55:21780: Can't contact LDAP server
    Feb 11 11:44:43 10-120-205-33 ntpq: nss_ldap: failed to bind to LDAP server ldaps://10.120.205.55:21780: Can't contact LDAP server
    Feb 11 11:44:44 10-120-205-33 ntpq: nss_ldap: failed to bind to LDAP server ldaps://10.120.205.92:21780: Can't contact LDAP server
    ```
    - 是，执行[步骤 11]。
    
    - 否，执行[步骤 12]。
    
    
    
    
11. 排查LdapServer节点是否故障，例如业务IP不可达、网络延时过长等。若故障为阶段性，则需在故障时排查，并尝试执行**top** 命令查看是否存在异常软件。
    
    LdapServer节点信息可通过登录集群Manager后，进入"集群 \> 服务 \> LdapServer \> 实例"页面查看。
    
    
**检查是否NodeAgent进程内存不足。**
12. 以**root** 用户登录故障节点，执行以下命令查看NodeAgent进程日志。
    
    ```
    vi /var/log/Bigdata/nodeagent/scriptlog/agent_gc.log.*.current
    ```
    
    
13. 检查日志中是否有元空间大小不足、或堆内存大小不足的报错。 
    通常元空间不足异常关键字为"java.lang.OutOfMemoryError: Metaspace"，堆内存不足异常关键字为"java.lang.OutOfMemoryError: Java heap space"。
    例如报错日志如下：
    ```
    java.lang.OutOfMemoryError:  Metaspace
             at java.lang.ClassLoader.defineClass1(Native Method)
             ...
    ```
    - 是，执行[步骤 14]。
    
    - 否，执行[步骤 17]。
    
    
    
    
14. 切换为**omm** 用户，根据集群版本编辑对应配置文件，并适当增大NodeAgent初始堆内存"nodeagent.Xms"和最大堆内存"nodeagent.Xmx"的参数值大小。
    
    ```
    su - omm
    ```
    参数所在文件路径如下：
    - MRS 3.2.1之前版本集群：
      ```
      vi /opt/Bigdata/om-agent/nodeagent/bin/nodeagent_ctl.sh
      ```
      
    
    - MRS 3.2.1及之后版本集群：
      ```
      vi $NODE_AGENT_HOME/etc/agent/nodeagent.properties
      ```
      
    
    
    例如"nodeagent.Xms=1024m"修改为"nodeagent.Xms=2048m"。
    
    
15. 保存文件修改后执行命令重启NodeAgent服务。 
    停止NodeAgent：
    ```
    sh ${BIGDATA_HOME}/om-agent/nodeagent/bin/stop-agent.sh
    ```
    启动NodeAgent：
    ```
    sh ${BIGDATA_HOME}/om-agent/nodeagent/bin/start-agent.sh
    ```
    
    
16. 等待一段时间观察告警是否自动清除。 
    - 是，处理完毕。
    
    - 否，执行[步骤 17]。
    
    
    
    
**检查是否NodeAgent进程故障**。
17. 以**root** 用户登录故障节点，执行如下命令。
    
    切换为**omm**用户：
    ```
    su - omm
    ```
    查看NodeAgent进程：
    ```
    ps -ef | grep "Dprocess.name=nodeagent" | grep -v grep
    ```
    
    
18. 检查NodeAgent进程查询结果是否为空。 
    - 是，执行[步骤 19]。
    
    - 否，执行[步骤 21]。
    
    
    
    
19. 查看NodeAgent启动与运行日志排查故障原因，待故障解决后执行[步骤 20]。
    
    - NodeAgent运行日志：
      ```
      /var/log/Bigdata/nodeagent/agentlog/agent.log
      ```
      
    
    - NodeAgent启动日志：
      ```
      /var/log/Bigdata/nodeagent/scriptlog/nodeagent_ctl.log
      ```
      
    
    
    
    
20. 执行如下命令重启NodeAgent服务。
    
    停止NodeAgent：
    ```
    sh ${BIGDATA_HOME}/om-agent/nodeagent/bin/stop-agent.sh
    ```
    启动NodeAgent：
    ```
    sh ${BIGDATA_HOME}/om-agent/nodeagent/bin/start-agent.sh
    ```
    
    
**收集故障信息。**
21. 在FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
22. 在"服务"中勾选如下节点信息，单击"确定"。 
    - NodeAgent
    
    - Controller
    
    - OS
    
    
    
    
23. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895607.png)设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
24. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
