¿Por qué se bloqueó el nodo de OpenSearch Service?

6 minutos de lectura
0

Uno de los nodos de mi clúster de Amazon OpenSearch Service está inactivo y quiero evitar que esto suceda.

Descripción breve

Cada nodo de OpenSearch Service se ejecuta en una instancia independiente de Amazon Elastic Compute Cloud (Amazon EC2). Un error en el nodo es una instancia que no responde a las señales de latido de los demás nodos. Las señales de latido son señales periódicas que monitorean la disponibilidad de los nodos de datos del clúster.

Estas son las causas comunes de los errores en los nodos de clúster:

  • Alta presión de memoria de Java Virtual Machine (JVM)
  • Error de hardware

Resolución

Verificación de errores de nodos

1.    Inicie sesión en la consola de OpenSearch Service.

2.    En el panel de navegación, en Managed clusters (Clústeres administrados), seleccione Domains (Dominios).

3.    Elija el nombre de su dominio de OpenSearch Service.

4.    Elija la pestaña Cluster health (Estado del clúster) y, a continuación, elija la métrica Nodes (Nodos). Si el número de nodos es inferior al que configuró para el clúster, el nodo está inactivo.

Nota: La métrica Nodes (Nodos) puede ser inexacta durante los cambios en la configuración del clúster o cualquier mantenimiento rutinario del servicio. Este comportamiento es esperado.

Identificar y solucionar problemas de alta presión de memoria de JVM

La presión de memoria de JVM se refiere al porcentaje de montón de Java que se utiliza para todos los nodos de datos de un clúster de OpenSearch Service. La alta presión de memoria de JVM puede provocar un uso elevado de la CPU y otros problemas de rendimiento del clúster.

Las siguientes condiciones determinan la presión de la memoria JVM:

  • Cantidad de datos del clúster en proporción a la cantidad de recursos.
  • Carga de consultas del clúster.

A medida que aumenta la presión de memoria de JVM, ocurre lo siguiente:

  • Al 75 %: OpenSearch Service inicia el recolector de basura Concurrent Mark Sweep (CMS). El recolector CMS se ejecuta con otros procesos para reducir al mínimo las pausas y las interrupciones.
    Nota: OpenSearch Service publica varias métricas de recopilación de elementos no utilizados en Amazon CloudWatch. Estas métricas pueden ayudar a monitorear el uso de la memoria de JVM. Para obtener más información, consulte Monitoreo de las métricas del clúster de OpenSearch con Amazon CloudWatch.
  • Por encima del 75 %: si el recolector CMS no recupera suficiente memoria y el uso permanece por encima del 75 %, la JVM de OpenSearch Service intenta liberar memoria. La JVM de OpenSearch Service también intenta evitar una excepción JVM OutOfMemoryError (OOM) mediante la ralentización o detención de los procesos.
  • Si la JVM no deja de crecer y el espacio no se recupera, entonces la JVM de OpenSearch Service detiene los procesos que intentan asignar memoria. Si se detiene un proceso crítico, se podría producir un error en uno o varios nodos del clúster. Mantener el uso de la CPU por debajo del 80 % es una práctica recomendada.

Para evitar una presión elevada en la memoria de la JVM, siga estas prácticas recomendadas:

  • Evite las consultas en rangos amplios, como las consultas con caracteres comodín.
  • Evite enviar un gran número de solicitudes al mismo tiempo.
  • Asegúrese de tener el número adecuado de particiones. Para obtener más información sobre la estrategia de indexación, consulte Elegir el número de particiones.
  • Asegúrese de que las particiones se distribuyan uniformemente entre los nodos.
  • Evite hacer agregaciones en los campos de texto. Esto ayuda a evitar aumentos en los datos de campo. Cuantos más datos de campo tenga, más espacio del montón se consume. Utilice la operación de la API GET _cluster/stats para verificar los datos de campo. A fin de obtener más información, consulte la documentación de Elasticsearch para datos de campo.
  • Si debe agregar algo en los campos de texto, cambie el tipo de asignación a palabra clave. Si la presión de la memoria de JVM es demasiado alta, utilice las siguientes operaciones de API para borrar la caché de datos de campo: POST /index_name/_cache/clear (caché de nivel de índice) y POST */_cache/clear (caché de nivel de clúster).
    Nota: Borrar la memoria caché puede interrumpir las consultas que están en curso.

Identificación y solución de problemas de errores de hardware

A veces, los errores de hardware pueden afectar a la disponibilidad de los nodos de clúster. Para limitar el impacto de los posibles errores de hardware, considere estos factores:

  • Asegúrese de tener más de un nodo en el clúster. Un clúster de un solo nodo es un punto de error único. No se pueden usar particiones de réplica para hacer copias de seguridad de los datos, porque las particiones primarias y de réplica no se pueden asignar al mismo nodo. Si el nodo se desactiva, puede restaurar los datos a partir de una instantánea. Para obtener más información sobre las instantáneas, consulte Crear instantáneas de índice en OpenSearch Service. Además, no puede recuperar ningún dato que no se haya capturado en la última instantánea. Para obtener más información, consulte Ajustar los tamaños de los dominios de OpenSearch Service y Crear y administrar dominios de OpenSearch Service.
  • Asegúrese de tener al menos una réplica. Un clúster multinodo aún puede experimentar la pérdida de datos si no hay particiones de réplica.
  • Active el reconocimiento de zona. Cuando el reconocimiento de zona se encuentra activado, OpenSearch Service lanza nodos de datos en varias zonas de disponibilidad. OpenSearch Service intenta distribuir particiones primarias y sus correspondientes particiones de réplica a diferentes zonas de disponibilidad. Si se produce un error en un nodo o zona, los datos siguen estando disponibles. Para obtener más información, consulte Configurar un dominio Multi-AZ en OpenSearch Service.

Información relacionada

Prácticas recomendadas operativas para Amazon OpenSearch Service

¿Cómo hago que mi dominio de Amazon OpenSearch Service sea más tolerante a errores?

¿Cómo puedo escalar verticalmente o escalar horizontalmente un dominio de Amazon OpenSearch Service?

¿Por qué mi dominio de Amazon OpenSearch Service está bloqueado en el estado “Processing” (Procesando)?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año