
# ALM-16054 HiveServer连接被限流
#### 告警解释
HiveServer支持配置指定用户或IP的最大连接数限制，连接数达到限制值后新的连接将被拒绝并触发此告警。5分钟后如果没有新的连接被拒绝，将自动清除此告警。
本章节仅适用于MRS 3.6.0-LTS及之后版本。
#### 告警属性
| 告警ID  | 告警级别 | 是否可自动清除 |
|:---|:---|:---|
| 16054 | 重要   | 是       |
   
#### 告警参数
| 类别   | 参数名称              | 参数含义                  |
|:---|:---|:---|
| 定位信息 | 来源                | 产生告警的集群名称。            |
| 定位信息 | 服务名               | 产生告警的服务名称。            |
| 定位信息 | 角色名               | 产生告警的角色名称。            |
| 定位信息 | 主机名               | 产生告警的主机名。             |
| 附加信息 | Trigger condition | 系统当前指标取值满足自定义的告警设置条件。 |
   
#### 对系统的影响
上报告警的用户或IP无法新建HiveServer连接，影响相关业务。
#### 可能原因
- HiveServer的用户或IP最大连接数限制设置不合理，需要调整。
- 相关业务异常，创建大量HiveServer连接或连接未关闭。
 
#### 处理步骤
**调整上报告警的用户或IP的最大连接数限制。**
1. 登录FusionInsight Manager，选择"集群 \> 服务"，在服务列表中单击"Hive"进入概览页面。
2. 单击"配置"页签，选择"全部配置"，在右侧搜索框中搜索"connections.per"，检查并修改以下3个配置中的告警用户或IP连接HiveServer的限制值，并单击"保存"保存配置。 
   - hive.server2.limit.connections.per.ipaddress.extend：表示每个HiveServer允许指定IP打开的最大连接数，达到限制值后新的连接将被拒绝。格式为"*IP* :*limit*"，多个IP使用逗号分隔，最多允许指定10个IP。
   
   - hive.server2.limit.connections.per.user.extend：表示每个HiveServer允许指定用户打开的最大连接数，达到限制值后新的连接将被拒绝。格式为"*user* :*limit*"，多个用户使用逗号分隔，最多允许指定10个用户。
   
   - hive.server2.limit.connections.per.user.ipaddress.extend：表示每个HiveServer允许指定IP的用户打开的最大连接数，达到限制值后新的连接将被拒绝。格式为"*IP* :*user* :*limit*"，多个IP用户使用逗号分隔，最多允许指定10个IP用户。
   
   
   
   
3. 选择"实例"，勾选所有HiveServer实例，选择"更多 \> 重启实例"，在弹出的窗口中输入当前用户密码并单击"确定"重启HiveServer实例。 
   ![](https://support.huaweicloud.com/usermanual-mrs/public_sys-resources/notice_3.0-zh-cn.png)
   正在重启的HiveServer实例无法对外提供服务，对应实例上正在执行的SQL任务可能失败。
   
   
4. 选择"运维 \> 告警 \> 告警"，在告警列表中查看"HiveServer连接被限流"告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 5]。
   
   
   
   
**检查上报告警的用户或IP的连接是否正常关闭。**
5. 在该告警的定位信息中单击上报告警的主机名，记录对应HiveServer实例的IP地址。
6. 查看该告警的附加信息，确认上报告警的连接类型及连接数，并执行[步骤 7]。
   
   - 附加信息包含"user: *a1* limit: *2* , ..."，表示*a1* 用户的HiveServer连接数超过限制*2*。
   
   - 附加信息包含"ipaddress: *192.168.xxx.xxx* limit: *3* , ..."，表示IP为"192.168.*xxx.xxx* "的HiveServer连接数超过限制*3*。
   
   - 附加信息包含"user: *a2* ipaddress: *192.168* .*xxx.xxx* limit: *10, ...* "，表示192.168.*xxx* .*xxx* 的*a2* 用户的HiveServer连接数超过限制*10*。
   
   
   
   
7. 登录[步骤 5]查看到的HiveServer实例节点，执行以下命令查看告警用户或IP打开与关闭的连接数：
   
   - 查看告警用户打开与关闭的HiveServer连接数： **grep 'OpenSession' /var/log/Bigdata/audit/hive/hiveserver/hive-audit.log \| awk '{print $9}' \| sort \| uniq -c \| sort \| grep 'UserName=** *user* **'**
     **grep 'CloseSession' /var/log/Bigdata/audit/hive/hiveserver/hive-audit.log \| awk '{print $9}' \| sort \| uniq -c \| sort \| grep 'UserName=** *user* **'**
     
   
   - 查看告警IP打开与关闭的HiveServer连接数： **grep 'OpenSession' /var/log/Bigdata/audit/hive/hiveserver/hive-audit.log \| awk '{print $10}' \| sort \| uniq -c \| sort \| grep 'UserIP=** *IP* **'**
     **grep 'CloseSession' /var/log/Bigdata/audit/hive/hiveserver/hive-audit.log \| awk '{print $10}' \| sort \| uniq -c \| sort \| grep 'UserIP=** *IP* **'**
     
   
   
   查看回显信息中是否有对应用户或IP打开但未关闭的HiveServer连接。
   - 是，执行[步骤 8]。
   
   - 否，执行[步骤 10]。
   
   
   
   
8. 根据对应用户或IP联系相关业务人员排查对应业务。
9. 在FusionInsight Manager首页，选择"运维 \> 告警 \> 告警"，在告警列表中查看"HiveServer连接被限流"告警是否清除。 
   - 是，处理完毕。
   
   - 否，执行[步骤 10]。
   
   
   
   
**收集故障信息。**
10. 在FusionInsight Manager首页，选择"运维 \> 日志 \> 下载"。
11. 在"服务"中勾选待操作集群的"Hive \> HiveServer"。
12. 单击右上角的时间编辑按钮，设置日志收集的"开始时间"和"结束时间"，分别为告警产生时间的前后10分钟，单击"下载"。
13. 请联系运维人员，并发送已收集的故障日志信息和堆栈信息。
 
#### 告警清除
此告警修复后，系统会自动清除此告警，无需手工清除。
#### 参考信息
不涉及。
