
# ALM-16006 Hive服务进程直接内存使用超出阈值
#### 告警解释
系统每30秒周期性检测Hive直接内存使用率，并把实际的Hive直接内存使用率和阈值相比较。当Hive直接内存使用率超出阈值（默认为最大直接内存的95%）时产生该告警。
用户可通过"运维 \> 告警 \> 阈值设置 \> *待操作集群的名称* \> Hive"修改阈值。
当Hive直接内存使用率小于或等于阈值时，告警恢复。
#### 告警属性
| 告警ID  | 告警级别 | 是否自动清除 |
|:---|:---|:---|
| 16006 | 重要   | 是      |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| 来源                | 产生告警的集群名称。            |
| 服务名               | 产生告警的服务名称。            |
| 角色名               | 产生告警的角色名称。            |
| 主机名               | 产生告警的主机名。             |
| Trigger Condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
Hive直接内存使用率过高，会影响Hive任务运行的性能，甚至造成内存溢出导致Hive服务不可用。
#### 可能原因
该节点Hive实例直接内存使用量过大，或分配的直接内存不合理，导致使用率超过阈值。
#### 处理步骤
**检查直接内存使用率。**
1. 在FusionInsight Manager首页，选择"运维 \> 告警 \> 告警"，选中"告警ID"为"16006"的告警，查看"定位信息"中的角色名并确定实例的IP地址。 
   - 告警上报的角色是HiveServer，执行[步骤 2]。
   
   - 告警上报的角色是MetaStore，执行[步骤 3]。
   
   
   
   
2. 在FusionInsight Manager首页，选择"集群 \> *待操作集群的名称* \> 服务 \> Hive \> 实例"，单击告警上报的HiveServer，进入实例"概览"页面，单击图表区域右上角的下拉菜单，选择"定制 \> CPU和内存"，勾选"HiveServer内存使用率统计" ，单击"确定"，查看HiveServer进程使用的直接内存是否已达到HiveServer进程设定的最大直接内存的阈值（默认95%）。
   
   - 是，执行[步骤 4]。
   
   - 否，执行[步骤 7]。
   
   
   图1勾选HiveServer内存使用率统计   
   ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000001210211997.png "点击放大")
   
   
3. 在FusionInsight Manager首页，选择"集群 \> *待操作集群的名称* \> 服务 \> Hive \> 实例"，单击告警上报的MetaStore，进入实例"概览"页面，单击图表区域右上角的下拉菜单，选择"定制 \> CPU和内存"，勾选"MetaStore内存使用率统计" ，单击"确定"，查看MetaStore进程使用的直接内存是否已达到MetaStore进程设定的最大直接内存的阈值（默认95%）。
   
   - 是，执行[步骤 4]。
   
   - 否，执行[步骤 7]。
   
   
   图2勾选MetaStore内存使用率统计   
   ![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0000001164493530.png "点击放大")
   
   
4. 在FusionInsight Manager首页，选择"集群 \> *待操作集群的名称* \> 服务 \> Hive \> 配置"，选择"全部配置"， 选择"HiveServer/MetaStore \> JVM"，将"HIVE_GC_OPTS/METASTORE_GC_OPTS"参数中"-XX:MaxDirectMemorySize"的值根据如下建议进行调整，并单击"保存"。
   
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   1. HiveServer的GC参数配置建议
      - 建议将"-XX:MaxDirectMemorySize"值设置为"-Xmx"值的1/8，比如：当"-Xmx"设置为8G时，"-XX:MaxDirectMemorySize"设置为1024M，"-Xmx"设置为4G时，"-XX:MaxDirectMemorySize"设置为512M。并且建议"-XX:MaxDirectMemorySize"值不小于512M。
       
   
   2. MetaServer的GC参数配置建议
      - 建议将"-XX:MaxDirectMemorySize"值设置为"-Xmx"值的1/8，比如：当"-Xmx"设置为8G时，"-XX:MaxDirectMemorySize"设置为1024M，"-Xmx"设置为4G时，"-XX:MaxDirectMemorySize"设置为512M。并且建议"-XX:MaxDirectMemorySize"值不小于512M。
       
    
   
   
5. 选择"更多 \> 重启服务"重启服务。 
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/warning_3.0-zh-cn.png)
   在Hive服务重启期间，正在重启的实例无法对外提供服务，且对应实例上正在执行的SQL任务可能失败。
   
   
6. 观察界面告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 7]。
   
   
   
   
**收集故障信息。**
7. 在FusionInsight Manager首页，选择"运维 \> 日志 \> 下载"。
8. 在"服务"中勾选待操作集群的"Hive"。
9. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895589.png)设置日志收集的"开始时间"和"结束时间"，分别为告警产生时间的前后10分钟，单击"下载"。
10. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
