ALM-13001 Las conexiones de ZooKeeper disponibles son insuficientes (Para MRS 2.x o anterior)
Descripción
El sistema comprueba las conexiones de ZooKeeper cada 30 segundos. Esta alarma se genera cuando el sistema detecta que el número de conexiones de instancia ZooKeeper usadas excede el umbral (80% de las conexiones máximas).
Esta alarma se borra cuando el número de conexiones de instancia de ZooKeeper usadas es menor que el umbral.
Atributo
ID de alarma |
Severidad de alarma |
Borrar automáticamente |
---|---|---|
13001 |
Grave |
Sí |
Parámetros
Parámetro |
Descripción |
---|---|
ServiceName |
Especifica el servicio para el que se genera la alarma. |
RoleName |
Especifica el rol para el que se genera la alarma. |
HostName |
Especifica el host para el que se genera la alarma. |
Trigger Condition |
Genera una alarma cuando el valor real del indicador excede el umbral especificado. |
Impacto en el sistema
Las conexiones de ZooKeeper disponibles son insuficientes. Cuando el uso de la conexión alcanza el 100%, las conexiones externas no se pueden manejar.
Causas posibles
El número de conexiones al nodo de ZooKeeper supera el umbral. La fuga de conexión ocurre en algunos procesos de conexión, o el número máximo de conexiones no cumple con el requisito del escenario real.
Procedimiento
- Compruebe el estado de la conexión.
- En la página de detalles del clúster de MRS, elija Alarms > ALM-13001 Available ZooKeeper Connections Are Insufficient > Location. Compruebe la dirección IP del nodo para el que se genera la alarma.
- Obtenga el PID del proceso de ZooKeeper. Inicie sesión en el nodo para el que se genera esta alarma y ejecute el comando pgrep -f proc_zookeeper.
- Compruebe si el PID se puede obtener correctamente.
- Obtenga todas las direcciones IP conectadas a la instancia de ZooKeeper y el número de conexiones y compruebe 10 direcciones IP con conexiones superiores. Ejecute el comando 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 basado en el valor de PID obtenido. ($pid es el PID obtenido en el paso anterior.)
- Compruebe si las direcciones IP del nodo y el número de conexiones se obtienen correctamente.
- Obtenga el ID del puerto conectado al proceso. Ejecute el comando lsof -i|grep $pid | awk '{print $9}'|cut -d \> -f 2 |grep $IP| cut -d : -f 2 basado en el PID y la dirección IP obtenidas. ($pid y $IP son el PID y la dirección IP obtenidas en el paso anterior.)
- Compruebe si el ID de puerto se ha obtenido correctamente.
- Obtenga el ID del proceso conectado. Inicie sesión en cada dirección IP y ejecute el siguiente comando basado en el ID de puerto obtenido: lsof -i|grep $port. ($port es el ID de puerto obtenido en el paso anterior.)
- Compruebe si el ID de proceso se obtiene correctamente.
- Compruebe si se produce una fuga de conexión en el proceso basándose en el ID de proceso obtenido.
- Cierre el proceso donde se produce una fuga de conexión y compruebe si la alarma está desactivada.
- En caso afirmativo, no es necesario hacer nada más.
- Si no, vaya a 1.l.
- En la página de detalles del clúster de MRS, seleccione Components > ZooKeeper > Service Configuration. Establezca Type en All y elija quorumpeer > Performance y cambie el valor de maxCnxns a 20000 o más.
- Verifique si la alarma se ha borrado.
- En caso afirmativo, no es necesario hacer nada más.
- Si no, vaya a 2.
- Recopilar información de fallas.
- En MRS Manager, seleccione .
- Póngase en contacto con el personal de O&M y envíe los registros recopilados.
Referencia
Ninguna