¿Cómo equilibro la distribución desigual de particiones en mi clúster de Amazon OpenSearch Service?

Última actualización: 23/09/2021

El espacio en disco de mi dominio de Amazon OpenSearch Service (sucesor de Amazon Elasticsearch Service) está distribuido de manera desigual entre los nodos. Como resultado, el uso del disco está muy sesgado. ¿Cómo puedo reequilibrar la distribución de mi nodo?

Descripción corta

El uso del disco puede estar muy sesgado debido a los siguientes motivos:

Para reequilibrar la asignación de particiones en el clúster de OpenSearch Service, tenga en cuenta los siguientes enfoques:

  • Compruebe la asignación de particiones, los tamaños de las particiones y la estrategia de partición de índices.
  • Asegúrese de que las particiones tengan el mismo tamaño en todos los índices.
  • Mantenga los tamaños de particiones entre 10 GB y 50 GB para obtener un mejor rendimiento.
  • Agregue más nodos de datos al clúster de OpenSearch Service.
  • Actualice su estrategia de partición.
  • Elimine los índices antiguos o no utilizados para liberar espacio en disco.

Resolución

Comprobar la asignación de particiones, los tamaños de las particiones y la estrategia de partición de índices

Para comprobar el número de particiones asignadas a cada nodo y la cantidad de espacio en disco utilizado en cada nodo, utilice la siguiente API:

$ curl -XGET ES_Endpoint/_cat/allocation?v

Para comprobar las particiones asignadas a cada nodo y el tamaño de cada partición, utilice la siguiente API:

$ curl -XGET ES_Endpoint/_cat/shards?v

Nota: Esta API muestra que el tamaño de las particiones puede variar según los distintos índices.

La estrategia de partición desigual de los índices puede causar sesgo en los datos, ya que las particiones de índices más grandes solo residen en unos pocos nodos. Compruebe la estrategia de partición de los índices mediante la siguiente API:

$ curl -XGET ES_Endpoint/_cat/indices?v

Asegurarse de que las particiones tengan el mismo tamaño en todos los índices.

Si el tamaño del índice varía significativamente, utilice la API de índice de sustitución para crear un nuevo índice cuando se alcancen determinados tamaños de índice. También puede utilizar Index State Management (ISM) para crear un nuevo índice para las versiones 7.1 y posteriores de OpenSearch Service. Para obtener más información sobre cómo sustituir un alias mediante ISM, consulte sustitución en el sitio web de Open Distro.

Mantenga los tamaños de las particiones entre 10 GB y 50 GB para conseguir un mejor rendimiento

Si tiene una clase de instancias de gran tamaño, utilice la escala de petabytes de Amazon OpenSearch Service para establecer el tamaño de las particiones. Por ejemplo, un dominio de OpenSearch Service con varias instancias i3.16xlarge.search puede admitir tamaños de partición de hasta 100 GB, porque hay más recursos disponibles. Para obtener más información sobre la estrategia de partición, consulte Elección del número de particiones.

Agregar más nodos de datos al clúster de OpenSearch Service

Si el clúster de OpenSearch Service ha alcanzado altos niveles de uso del disco, agregue más nodos de datos al clúster. Al agregar nodos de datos también se agregan más recursos para mejorar el rendimiento del clúster.

Nota: OpenSearch Service no reequilibra automáticamente el clúster si falta espacio de almacenamiento. Como resultado, si un nodo de datos se queda sin espacio de almacenamiento libre, el clúster bloquea cualquier escritura. Para obtener más información sobre la administración del espacio en disco, consulte ¿Cómo agrego espacio de almacenamiento a un dominio de Amazon OpenSearch Service?

Actualizar su estrategia de partición

De forma predeterminada, OpenSearch Service tiene una estrategia de partición de 5:1, donde cada índice se divide en cinco particiones principales. Dentro de cada índice, cada partición principal también tiene su propia réplica. OpenSearch Service asigna automáticamente particiones primarias y réplicas de particiones a nodos de datos separados, asegurándose de que haya una copia de seguridad en caso de error.

Para modificar el comportamiento predeterminado de OpenSearch Service, diseñe los índices de forma que las particiones se distribuyan por igual por tamaño:

  • Para los índices existentes, use la API de reindexación para cambiar el número de particiones principales. La API _reindex se puede usar para fusionar índices más pequeños en un índice mayor o para dividir el índice mayor. Cuando el índice más grande se divide en más particiones primarias, el tamaño de las particiones disminuye.
  • Para los índices nuevos, utilice la API de plantilla para definir el número de particiones principales y de réplica.

A continuación, actualice la configuración de los índices de sus particiones. Para obtener más información, consulte Actualizar la configuración de índices en el sitio web de Elasticsearch.

Elimine los índices antiguos o no utilizados para liberar espacio en disco

Las versiones 7.1 y posteriores de OpenSearch Service son compatibles con Index State Management. Con ISM, puede definir políticas de administración personalizadas para que los índices antiguos o no utilizados se eliminen después de un tiempo establecido.


¿Le resultó útil este artículo?


¿Necesita asistencia técnica o con la facturación?