文档首页/ MapReduce服务 MRS/ 用户指南/ MRS集群运维/ MRS集群告警处理参考/ ALM-13001 ZooKeeper可用连接数不足(2.x及以前版本)
更新时间:2024-09-04 GMT+08:00

ALM-13001 ZooKeeper可用连接数不足(2.x及以前版本)

告警解释

系统每30秒周期性检测ZooKeeper服务连接数状态,当检测到ZooKeeper实例连接数超出阈值(最大连接数的百分之八十)时产生该告警。

连接数小于阈值时,告警恢复。

告警属性

告警ID

告警级别

可自动清除

13001

严重

告警参数

参数名称

参数含义

ServiceName

产生告警的服务名称。

RoleName

产生告警的角色名称。

HostName

产生告警的主机名。

Trigger Condition

系统当前指标取值满足自定义的告警设置条件。

对系统的影响

ZooKeeper可用连接数不足,当连接率超过百分之百时无法处理外部连接。

可能原因

该节点ZooKeeper连接量过大,超过阈值。某些连接进程存在连接泄露,或配置的最大连接数不符合实际使用场景。

处理步骤

  1. 检查连接状态。

    1. 在MRS集群详情页,单击“告警管理 > 13001连接数不足 > 定位信息”。查看告警上报的节点IP地址。
    2. 获取ZooKeeper进程pid。登录到告警上报的节点,执行命令:pgrep -f proc_zookeeper
    3. 是否正常获取pid。
      • 是,执行1.d
      • 否,执行2
    4. 获取所有与当前ZooKeeper实例连接的IP及连接数量,取连接数最多的前十个进行检查。根据获取到的pid值,执行命令lsof -i|grep $pid | awk '{print $9}' | cut -d : -f 2 | cut -d \> -f 2 | awk '{a[$1]++} END {for(i in a){print i,a[i] | "sort -r -g -k 2"}}' | head -10。($pid为上一步获取的pid值)
    5. 获取节点IP与连接数是否成功。
      • 是,执行1.f
      • 否,执行2
    6. 获取连接进程的端口号。根据获取到的pid与IP值,执行命令lsof -i|grep $pid | awk '{print $9}'|cut -d \> -f 2 |grep $IP| cut -d : -f 2。($pid与$IP为上一步获取的pid值与IP值)
    7. 获取端口号port成功。
      • 是,执行1.h
      • 否,执行2
    8. 获取连接进程的进程号。依次登录到各IP,根据获取到的port号,执行命令lsof -i|grep $port。($port为上一步获取端口号)
    9. 获取进程号成功。
      • 是,执行1.j
      • 否,执行2
    10. 根据获取到的进程号,查看进程是否存在连接泄露。
      • 是,执行1.k
      • 否,执行1.l
    11. 将存在连接泄露的进程关掉,观察界面上告警是否消除?
      • 是,处理完毕。
      • 否,执行1.l
    12. 在MRS集群详情页面,单击“组件管理 > ZooKeeper > 服务配置 > 全部配置 > quorumpeer > Performance”中,将“maxCnxns”调整到20000或更多。
    13. 界面上告警是否消除?
      • 是,处理完毕。
      • 否,执行2

  2. 收集故障信息。

    1. 在MRS Manager界面,单击“系统设置 > 日志导出”。
    2. 请联系运维人员,并发送已收集的故障日志信息。

参考信息

无。