# ALM-12042 关键文件配置异常
#### 告警解释
系统每隔5分钟检查一次系统中关键的配置是否正确，如果不正常，则上报故障告警。
当检查到配置正确时，则告警恢复。
#### 告警属性
| 告警ID  | 告警级别 | 是否自动清除 |
|:---|:---|:---|
| 12042 | 重要   | 是       |
   
#### 告警参数
| 参数名称  | 参数含义                 |
|:---|:---|
| 来源 | 产生告警的集群或系统名称。 |
| 服务名   | 产生告警的服务名称。           |
| 角色名   | 产生告警的角色名称。            |
| 主机名   | 产生告警的主机名。            |
| 路径名   | 异常的文件路径或者名称。         |
   
#### 对系统的影响
导致文件所属服务功能不正常。
- okerberos、oldap关键文件配置异常，会导致认证失败，可能会导致作业运行失败。
- controller、pms关键文件配置异常，会导致进程故障，可能会影响弹性扩缩容性能。
- tomcat关键文件配置异常，会影响Manager页面登录、查看功能。
 
#### 可能原因
用户手动修改了文件配置或者系统异常下电等原因。
#### 处理步骤
**检查异常文件配置。**
1. 在FusionInsight Manager界面，选择"运维 \> 告警 \> 告警"。 
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 查看该告警"定位信息"中对应的"主机名"字段值，获取该告警产生的主机名，查看定位信息中对应的"路径名"字段值，获取异常的文件路径或者名称。
3. 以**root** 用户登录告警所在节点，用户密码为安装前用户自定义，请咨询系统管理员。
   
   登录集群内节点具体操作，请参考[登录MRS集群节点](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0083.html)。
   
   
4. 查看日志文件"$BIGDATA_LOG_HOME/nodeagent/scriptlog/checkfileconfig.log"，根据错误日志分析原因。在[参考信息]中查找该文件的检查标准，并对照检查标准对文件进行进一步的手动检查和修改。
   
   执行**vi** *文件名*命令进入编辑模式，按"Insert"键开始编辑。
   修改完成后按"Esc"键退出编辑模式，并输入**:wq**保存退出。
   例如：
   ```
   vi /etc/ssh/sshd_config
   ```
   
   
5. 等待一个小时，进入下一次检查，查看告警是否恢复。 
   - 是，操作结束。
   
   - 否，执行[步骤 6]。
   
   
   
   
**收集故障信息。**
6. 在FusionInsight Manager界面，选择"运维 \> 日志 \> 下载"。
7. 在"服务"中勾选"NodeAgent"，单击"确定"。
8. 单击右上角的编辑按钮设置日志收集的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟，单击"下载"。
9. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
 #### 参考信息
- **"/etc/fstab"文件检查标准**
  - 检查"/etc/fstab"文件中配置的分区，是否在"/proc/mounts"中能找到。
  
  - 检查在"fstab"中配置的swap分区，是否和"/proc/swaps"一一对应。
   
- **"/etc/hosts"文件检查标准**
  通过命令查看是否存在以下几种情况，**如果是，则说明该配置文件配置异常**。
  ```
  cat /etc/hosts
  ```
  - "/etc/hosts"文件不存在。
  
  - 该主机的主机名不在文件中配置。
  
  - 该主机名对应的IP不唯一。 处理建议：去除无用的IP主机名映射。
    
  
  - 该主机名对应的IP在**ifconfig**命令下的回显列表中不存在。
  
  - 该文件中存在一个IP对应多个主机名的情况。 处理建议：去除无用的IP主机名映射。
    
  
  - 该文件中不存在hadoop本端域名映射关系，例如: xxx hadoop.example.com。 处理建议：
    1. 在Manager界面，选择"系统 \> 权限 \> 域和互信"，记录本端域。
    
    2. 使用**root** 用户登录当前节点，执行以下命令获取本端域对应IP。
       ```
       su - omm
       ```
       ```
       cat "${BIGDATA_TMP}"/controller.properties | grep om.realm.parse.ip | awk -F "=" '{print($2)}'
       ```
       
    
    3. 使用**root**用户登录当前节点，在"/etc/hosts"中配置IP本端域映射，例如：xxx hadoop.example.com。
     
   
- **"/etc/ssh/sshd_config"文件检查标准**
  通过命令查看下面几个配置项是否正确。
  ```
  vi /etc/ssh/sshd_config
  ```
  - "UseDNS"项必须配置为"no"。
  
  - "MaxStartups"必须配置为大于等于1000。
  
  - "PasswordAuthentication"和"ChallengeResponseAuthentication"两个配置项中必须至少有一项没有配置或者至少有一项配置为"yes"。
   
- **集群内置客户端** **文件的检查标准**
  在集群的主备OMS节点检查内置客户端"${BIGDATA_HOME}/client"，查看是否存在以下几种情况，**如果是，则说明集群内置客户端文件配置异常**。
  - 客户端软链不存在。 处理建议：
    如果不存在，请使用客户端目录属主用户执行如下命令：
    ```
    ln -s $BIGDATA_HOME/client_集群版本号  $BIGDATA_HOME/client
    ```
    
  
  - 客户端真实路径不存在。 处理建议：删除客户端，然后重新安装客户端。
    
  
  - 客户端真实路径下内容为空。 处理建议：删除客户端，然后重新安装客户端。
    
  
  - 客户端软链和真实路径属主和属组不为omm:wheel。 处理建议：
    请使用客户端目录属主用户执行如下命令。
    ```
    chown omm:wheel $BIGDATA_HOME/client
    ```
    ```
    chown omm:wheel $BIGDATA_HOME/client_集群版本号
    ```
    
  
  - 客户端真实路径权限不为700。 处理建议：
    请使用客户端目录属主用户执行如下命令。
    ```
    chmod 700 $BIGDATA_HOME/client_集群版本号
    ```
    
  
  - 客户端内存在非**omm** 用户属主的文件，可执行以下命令检查。
    （请勿使用**root** 用户操作集群内置客户端，否则会产生**root**权限的文件，并可能导致更新客户端配置失败。）
    ```
    find "客户端真实路径" ! -user omm -ls
    ```
    如果存在，请使用**root** 用户执行以下命令修改文件属主为**omm**。
    ```
    chown omm:wheel 文件路径
    ```
    
   
 
