
# ALM-16002 Hive SQL执行成功率低于阈值
#### 告警解释
系统每30秒周期性检测执行的HQL成功百分比，HQL成功百分比由一个周期内Hive执行成功的HQL数/Hive执行HQL总数计算得到。该指标可通过"集群 \> *待操作的集群* *名称* \> 服务 \> Hive \> 实例 \> *具体的HiveServer* *实例*"查看。执行的HQL成功百分比指标默认提供一个阈值范围（90%），当检测到百分比指标低于阈值范围产生该告警。在该告警的定位信息可查看产生该告警的主机名，该主机IP即为HiveServer节点IP地址。
用户可通过"运维 \> 告警 \> 阈值设置 \> Hive \> 执行成功的HQL百分比"修改阈值。
当系统在一个检测周期检测到该指标高于阈值的110%时，恢复告警。
#### 告警属性
| 告警ID  | 告警级别 | 是否自动清除 |
|:---|:---|:---|
| 16002 | 重要   | 是      |
   
#### 告警参数
| 参数名称              | 参数含义                  |
|:---|:---|
| 来源                | 产生告警的集群名称。            |
| 服务名               | 产生告警的服务名称。            |
| 角色名               | 产生告警的角色名称。            |
| 主机名               | 产生告警的主机名。             |
| Trigger condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
系统执行业务能力过低，无法正常响应客户请求，对Hive服务无影响，需要检查HiveServer日志排查SQL失败原因。
#### 可能原因
- HQL命令语法错误。
- 执行Hive on HBase任务时HBase服务异常。
- 执行Hive on Spark任务时Spark服务异常。
- 依赖的基础服务HDFS、Yarn、ZooKeeper等异常。
 
#### 处理步骤
**检查HQL命令是否符合语法。**
1. 在集群Manager界面选择"运维 \> 告警 \> 告警"，查看告警详情，获取产生告警的节点信息。 
   登录集群Manager具体操作，请参考[访问MRS集群Manager](https://support.huaweicloud.com/usermanual-mrs/mrs_01_0128.html)。
   
   
2. 使用Hive客户端连接到产生该告警的HiveServer节点，查询Apache提供的HQL语法规范，确认输入的命令是否正确。详情请参见<https://cwiki.apache.org/confluence/display/hive/languagemanual>。
   
   - 是，执行[步骤 4]。
   
   - 否，执行[步骤 3]。
   
   
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/note_3.0-zh-cn.png)
   如果需要查看执行错误语句的用户，可下载产生该告警的HiveServer节点的HiveServer的Audit日志，下载的"开始时间"和"结束时间"分别为告警产生时间的前后10分钟。打开日志文件查找"Result=FAIL"关键字筛选执行错误语句的日志信息，再根据日志信息中的"UserName"查看执行错误语句的用户。
   
   
3. 输入正确的HQL语句，观察命令是否正确执行。
   
   - 是，执行[步骤 12]。
   
   - 否，执行[步骤 4]。
   
   
   
   
**检查HBase服务是否异常。**
4. 与执行HQL命令的用户确认是否执行的是Hive on HBase任务。
   
   - 是，执行[步骤 5]。
   
   - 否，执行[步骤 8]。
   
   
   
   
5. 在集群Manager界面选择"集群 \> 服务"，在服务列表查看HBase服务状态是否正常。
   
   - 是，执行[步骤 8]。
   
   - 否，执行[步骤 6]。
   
   
   
   
6. 选择"运维 \> 告警 \> 告警"，查看告警界面的HBase相关告警，参照对应告警帮助进行处理。
7. 输入正确的HQL语句，观察命令是否正确执行。 
   - 是，执行[步骤 12]。
   
   - 否，执行[步骤 8]。
   
   
   
   
**检查HDFS、Yarn、ZooKeeper等服务是否正常。**
8. 在集群Manager首页，选择"集群 \> 服务"。
9. 在服务列表查看HDFS、Yarn、ZooKeeper等服务是否正常。 
   - 是，执行[步骤 12]。
   
   - 否，执行[步骤 10]。
   
   
   
   
10. 查看告警界面的相关告警，参照对应告警帮助进行处理。
11. 输入正确的HQL语句，观察命令是否正确执行。 
    - 是，执行[步骤 12]。
    
    - 否，执行[步骤 13]。
    
    
    
    
12. 等待一分钟，查看本告警是否清除。
    
    - 是，处理结束。
    
    - 否，执行[步骤 13]。
    
    
    
    
**收集故障信息。**
13. 在集群Manager首页，选择"运维 \> 日志 \> 下载"。
14. 在"服务"中勾选待操作集群的如下节点信息。 
    - Mapreduce
    
    - Hive
    
    
    
    
15. 单击右上角的![](https://support.huaweicloud.com/usermanual-mrs/zh-cn_image_0263895589.png)设置日志收集的"开始时间"和"结束时间"，分别为告警产生时间的前后10分钟，单击"下载"。
16. 请联系运维人员，并发送已收集的故障日志信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
无。
