Actualización de los dominios OpenSearch de Amazon Service - OpenSearch Servicio Amazon

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Actualización de los dominios OpenSearch de Amazon Service

nota

OpenSearch y las actualizaciones de la versión de Elasticsearch son diferentes de las actualizaciones del software del servicio. Para obtener información sobre cómo actualizar el software de servicio para su dominio OpenSearch de servicio, consulte. Actualizaciones de software de servicio en Amazon OpenSearch Service

Amazon OpenSearch Service ofrece actualizaciones locales para dominios que ejecutan la OpenSearch versión 1.0 o una versión posterior, o Elasticsearch 5.1 o una versión posterior. Si utilizas servicios como Amazon Data Firehose o Amazon CloudWatch Logs para transmitir datos a OpenSearch Service, comprueba que estos servicios sean compatibles con la versión más reciente de OpenSearch antes de realizar la migración.

Rutas de actualización admitidas

Actualmente, el OpenSearch servicio admite las siguientes rutas de actualización:

Desde la versión Hasta la versión
OpenSearch 1.3 o 2. x

OpenSearch 2. x

El control de versiones 2.3 incluye los siguientes cambios importantes:

  • El type parámetro se eliminó de todos los puntos finales de la OpenSearch API en la versión 2.0. Para más información, consulte Cambios bruscos.

  • Si tu dominio contiene índices (activos o fríos) que se crearon originalmente en Elasticsearch 6.8, esos índices no son compatibles con la 2.3. UltraWarm OpenSearch

    Antes de actualizar a la versión 2.3, debe volver a indexar los índices incompatibles. En el caso de índices incompatibles UltraWarm o en frío, migre los datos a un almacenamiento activo, vuelva a indexar los datos y, a continuación, vuelva a migrarlos a un almacenamiento caliente o frío. También puede quitar índices si ya no los necesita.

    Si actualiza accidentalmente su dominio al control de versiones 2.3 sin realizar primero estos pasos, no podrá migrar los índices incompatibles fuera de su nivel de almacenamiento actual. La única opción es eliminarlos.

OpenSearch 1. x OpenSearch 1. x
Elasticsearch 7.x

Elasticsearch 7. x o 1. OpenSearch x

importante

OpenSearch 1. x introduce numerosos cambios importantes. Para más información, consulte Cambio de nombre de Amazon OpenSearch Service: resumen de cambios.

Elasticsearch 6.8

Elasticsearch 7. x o 1. OpenSearch x

importante

Elasticsearch 7.0 y OpenSearch 1.0 incluyen numerosos cambios importantes. Antes de iniciar una actualización local, recomendamos realizar una instantánea manual de la versión 6. x dominio, restaurándolo en una prueba 7. x o OpenSearch 1. dominio x y usar ese dominio de prueba para identificar posibles problemas de actualización. Para ver los cambios más importantes en la OpenSearch versión 1.0, consulteCambio de nombre de Amazon OpenSearch Service: resumen de cambios.

Al igual que Elasticsearch 6.x, los índices solo pueden contener un tipo de mapeo, pero ese tipo debe denominarse _doc. Como resultado, determinadas API ya no requieren un tipo de mapeo en el cuerpo de la solicitud (como, por ejemplo, la API _bulk).

Para índices nuevos, Elasticsearch 7 se hospedó automáticamente. x y 1. OpenSearch x tienen un recuento de fragmentos predeterminado de uno. OpenSearch Dominios de servicio en Elasticsearch 7. x y las versiones posteriores conservan el valor predeterminado anterior de cinco.

Elasticsearch 6.x

Elasticsearch 6.x

Elasticsearch 5.6

Elasticsearch 6.x

importante

Los índices creados en la versión 6.x ya no admiten varios tipos de mapeo. Los índices creados en la versión 5.x siguen admitiendo varios tipos de mapeo cuando se restauran en un clúster 6.x. Compruebe que el código de cliente solo cree un único tipo de mapeo por índice.

Para minimizar el tiempo de inactividad durante la actualización de Elasticsearch 5.6 a 6. x, OpenSearch Service vuelve a indexar el .kibana índice, lo elimina .kibana-6.kibana, crea un nombre .kibana de alias y asigna el nuevo índice al nuevo alias.

Elasticsearch 5.x Elasticsearch 5.x

El proceso de actualización consta de tres pasos:

  1. Comprobaciones previas a la actualización: el OpenSearch servicio comprueba si hay problemas que puedan bloquear una actualización y no pasa al siguiente paso a menos que estas comprobaciones se realicen correctamente.

  2. Instantánea: el OpenSearch servicio toma una instantánea del clúster OpenSearch o del clúster de Elasticsearch y no pasa al siguiente paso a menos que la instantánea se realice correctamente. Si se produce un error en la actualización, OpenSearch Service usa esta instantánea para restaurar el clúster a su estado original. Para más información, consulte No se puede cambiar a una versión anterior después de una actualización.

  3. Actualización: el OpenSearch servicio inicia la actualización, que puede tardar entre 15 minutos y varias horas en completarse. OpenSearch Es posible que los paneles no estén disponibles durante una parte o durante toda la actualización.

Inicio de una actualización (consola)

El proceso de actualización es irreversible y no se puede pausar ni cancelar. Durante una actualización no puede realizar cambios de configuración en el dominio. Antes de comenzar una actualización, compruebe que desea continuar. Puede utilizar estos mismos pasos para realizar la verificación de actualización sin iniciar realmente una actualización.

Si el clúster tiene nodos maestros dedicados, OpenSearch las actualizaciones se completan sin tiempo de inactividad. De lo contrario, el clúster podría no responder durante varios segundos después de la actualización mientras elige un nodo maestro.

Para actualizar un dominio a una versión posterior de OpenSearch Elasticsearch
  1. Tome una instantánea manual de su dominio. Esta instantánea sirve como copia de seguridad que puede restaurar en un dominio nuevo si desea volver a usar la versión anterior OpenSearch .

  2. Visite https://aws.amazon.com y elija Iniciar sesión en la consola.

  3. En Analytics, selecciona Amazon OpenSearch Service.

  4. En el panel de navegación, en Dominios, seleccione el dominio que desea actualizar.

  5. Seleccione Acciones y Actualizar.

  6. Seleccione la version a la que actualizar. Si vas a actualizar a una OpenSearch versión, aparecerá la opción Habilitar el modo de compatibilidad. Si habilitas esta configuración, indicará que OpenSearch su versión es 7.10 para permitir que los clientes y complementos de Elasticsearch OSS, como Logstash, sigan funcionando con Amazon Service. OpenSearch Podrá desactivar esta configuración más tarde

  7. Seleccione Actualizar.

  8. Verifique el Estado en el panel del dominio para monitorear el estado de la actualización.

Inicio de una actualización (CLI)

Puedes usar las siguientes operaciones para identificar la versión correcta de Elasticsearch OpenSearch o Elasticsearch para tu dominio, iniciar una actualización local, realizar la comprobación previa a la actualización y ver el progreso:

  • get-compatible-versions (GetCompatibleVersions)

  • upgrade-domain (UpgradeDomain)

  • get-upgrade-status (GetUpgradeStatus)

  • get-upgrade-history (GetUpgradeHistory)

Para obtener más información, consulta la referencia de comandos deAWS CLI y la referencia de la API de Amazon OpenSearch Service.

Inicio de una actualización (SDK)

En este ejemplo, se utiliza el cliente Python de OpenSearchServicebajo nivel del AWS SDK for Python (Boto) para comprobar si un dominio es apto para la actualización a una versión específica, lo actualiza y comprueba continuamente el estado de la actualización.

import boto3 from botocore.config import Config import time # Build the client using the default credential configuration. # You can use the CLI and run 'aws configure' to set access key, secret # key, and default Region. DOMAIN_NAME = '' # The name of the domain to upgrade TARGET_VERSION = '' # The version you want to upgrade the domain to. For example, OpenSearch_1.1 my_config = Config( # Optionally lets you specify a Region other than your default. region_name='us-east-1' ) client = boto3.client('opensearch', config=my_config) def check_versions(): """Determine whether domain is eligible for upgrade""" response = client.get_compatible_versions( DomainName=DOMAIN_NAME ) compatible_versions = response['CompatibleVersions'] for i in range(len(compatible_versions)): if TARGET_VERSION in compatible_versions[i]["TargetVersions"]: print('Domain is eligible for upgrade to ' + TARGET_VERSION) upgrade_domain() print(response) else: print('Domain not eligible for upgrade to ' + TARGET_VERSION) def upgrade_domain(): """Upgrades the domain""" response = client.upgrade_domain( DomainName=DOMAIN_NAME, TargetVersion=TARGET_VERSION ) print('Upgrading domain to ' + TARGET_VERSION + '...' + response) time.sleep(5) wait_for_upgrade() def wait_for_upgrade(): """Get the status of the upgrade""" response = client.get_upgrade_status( DomainName=DOMAIN_NAME ) if (response['UpgradeStep']) == 'UPGRADE' and (response['StepStatus']) == 'SUCCEEDED': print('Domain successfully upgraded to ' + TARGET_VERSION) elif (response['StepStatus']) == 'FAILED': print('Upgrade failed. Please try again.') elif (response['StepStatus']) == 'SUCCEEDED_WITH_ISSUES': print('Upgrade succeeded with issues') elif (response['StepStatus']) == 'IN_PROGRESS': time.sleep(30) wait_for_upgrade() def main(): check_versions() if __name__ == "__main__": main()

Solución de errores de validación

Cuando inicias una actualización de una versión OpenSearch o de Elasticsearch, OpenSearch Service primero realiza una serie de comprobaciones de validación para garantizar que tu dominio sea apto para una actualización. Si se produce un error en alguna de estas comprobaciones, recibirá una notificación con los problemas específicos que debe corregir antes de actualizar su dominio. Para obtener una lista de posibles problemas y los pasos para resolverlos, consulte Solución de errores de validación.

Solución de problemas de una actualización

Las actualizaciones locales requieren dominios en buen estado. Es posible que su dominio no pueda optar por una actualización o que no se actualice por diversas razones. La siguiente tabla muestra los problemas más comunes.

Problema Descripción
No se admite el complemento opcional

Cuando actualizas un dominio con complementos opcionales, OpenSearch Service también actualiza automáticamente los complementos. Por lo tanto, la versión de destino de su dominio también debe admitir estos complementos opcionales. Si el dominio tiene instalado un complemento opcional que no está disponible para la versión de destino, se produce un error en la solicitud de actualización.

Demasiadas particiones por nodo OpenSearch, así como 7. x versiones de Elasticsearch, tienen una configuración predeterminada de no más de 1000 particiones por nodo. Si un nodo de tu clúster actual supera esta configuración, el OpenSearch servicio no te permite realizar la actualización. Consulte Límite máximo de fragmentos superado para obtener opciones de solución de problemas.
Dominio en procesamiento El dominio está en medio de un cambio de configuración. Compruebe si es posible optar a la actualización una vez que se complete la operación.
Estado rojo del clúster Uno o varios índices en el clúster aparecen en rojo. Para ver los pasos de solución de problemas, consulte Estado rojo del clúster.
Tasa de errores alta El clúster devuelve un gran número de errores 5xx al intentar procesar solicitudes. Este problema suele ser el resultado de demasiadas solicitudes de lectura o escritura simultáneas. Considere la posibilidad de reducir el tráfico hacia el clúster o el escalado del dominio.
Cerebro dividido Cerebro dividido significa que el clúster tiene más de un nodo maestro y se ha dividido en dos clústeres que nunca se volverán a unir por sí mismos. Puede evitar un cerebro dividido con el número recomendado de nodos maestros dedicados. Para obtener ayuda a fin de recuperar un cerebro dividido, póngase en contacto con AWS Support.
Nodo maestro no encontrado OpenSearch El servicio no encuentra el nodo principal del clúster. Si el dominio utiliza Multi-AZ, es posible que un error de una zona de disponibilidad haya hecho que el clúster pierda el quorum y no pueda elegir un nuevo nodo maestro. Si el problema no se resuelve por sí solo, póngase en contacto con AWS Support.
Demasiadas tareas pendientes El nodo maestro está bajo una gran carga y tiene muchas tareas pendientes. Considere la posibilidad de reducir el tráfico hacia el clúster o el escalado del dominio.
Volumen de almacenamiento dañado El volumen de disco de uno o más nodos no funciona correctamente. Este problema a menudo ocurre junto con otros problemas, como una alta tasa de error o demasiadas tareas pendientes. Si se produce aisladamente y no se resuelve por sí solo, póngase en contacto con AWS Support.
Problema de clave de KMS La clave de KMS que se utiliza para cifrar el dominio está inaccesible o no está. Para más información, consulte Monitorear dominios que cifran los datos en reposo.
Snapshot en proceso de creación El dominio está tomando una instantánea en este momento. Compruebe si es posible optar a la actualización una vez que se complete la instantánea. Compruebe también si puede hacer una lista de los repositorios de instantáneas manuales, una lista de instantáneas dentro de dichos repositorios y tomar instantáneas manuales. Si el OpenSearch servicio no puede comprobar si una instantánea está en curso, las actualizaciones pueden fallar.
Error en instantánea o tiempo de espera agotado La instantánea previa a la actualización ha tardado demasiado tiempo en completarse o ha generado un error. Compruebe el estado del clúster y vuelva a intentarlo. Si el problema sigue sin resolverse, póngase en contacto con AWS Support.
Índices incompatibles Uno o varios índices son incompatibles con la versión de destino. Este problema puede producirse si migraste los índices desde una versión anterior de OpenSearch Elasticsearch. Reindexe los índices e inténtelo de nuevo.
Alto uso del disco El uso del disco para el clúster es superior al 90 %. Elimine los datos o escale el dominio, e inténtelo de nuevo.
Alto uso de JVM La presión de memoria de JVM es superior al 75 %. Reduzca el tráfico hacia el clúster o amplíe el dominio, e inténtelo de nuevo.
OpenSearch Problema con el alias de los paneles .dashboardsya está configurado como un alias y se asigna a un índice incompatible, probablemente uno de una versión anterior de OpenSearch Dashboards. Vuelva a indexar e inténtelo de nuevo.
Estado rojo de Dashboards OpenSearch El estado del panel es rojo. Intente utilizar Dashboards cuando se complete la actualización. Si el estado rojo persiste, resuélvalo manualmente, e inténtelo de nuevo.
Compatibilidad entre clústeres

Solo puede actualizar si se mantiene la compatibilidad entre clústeres entre los dominios de origen y destino después de la actualización. Durante el proceso de actualización, se identifican las conexiones incompatibles. Para continuar, actualice el dominio remoto o elimine las conexiones incompatibles. Tenga en cuenta que si la replicación está activa en el dominio, no podrá reanudarla una vez que elimine la conexión.

Otro problema con OpenSearch el servicio Los problemas con el propio OpenSearch Servicio pueden hacer que tu dominio aparezca como no apto para una actualización. Si a su dominio no se aplica ninguna de las condiciones anteriores y el problema persiste durante más de un día, póngase en contacto con AWS Support.

Uso de una instantánea para migrar datos

Las actualizaciones locales son la forma más fácil, rápida y confiable de actualizar un dominio a una versión posterior OpenSearch o a una versión de Elasticsearch. Las instantáneas son una buena opción si tiene que migrar de una versión previa a la 5.1 de Elasticsearch o si desea migrar a un clúster totalmente nuevo.

La siguiente tabla muestra cómo usar las instantáneas para migrar datos a un dominio que usa una versión diferente OpenSearch o de Elasticsearch. Para obtener información sobre cómo tomar instantáneas y restaurarlas, consulte Creación de instantáneas de índices en Amazon Service OpenSearch .

Desde la versión Hasta la versión Proceso de migración
OpenSearch 1.3 o 2. x OpenSearch 2. x
  1. Revise los cambios más recientes de la versión OpenSearch 2.3 para ver si necesita realizar ajustes en sus índices o aplicaciones.

  2. Cree una instantánea manualmente del dominio 1.3 o 2.x.

  3. Cree un dominio 2.x que sea una versión superior al dominio 1.3 o 2.x original.

  4. Restaure la instantánea desde el dominio original al dominio 2.x. Durante la operación, es probable que tenga que restaurar el índice .opensearch con un nuevo nombre:

    POST _snapshot/<repository-name>/<snapshot-name>/_restore { "indices": "*", "ignore_unavailable": true, "rename_pattern": ".opensearch", "rename_replacement": ".backup-opensearch" }

    A continuación, puede reindexar .backup-opensearch en el nuevo dominio y asignarlo a .opensearch. Tenga en cuenta que la llamada REST _restore no incluye include_global_state porque la entrada predeterminada en _restore es falsa. Como resultado, el dominio de prueba no incluirá ninguna plantilla de índice y no tendrá el estado completo de la copia de seguridad.

  5. Si ya no necesita el dominio original, elimínelo. De lo contrario, el dominio seguirá generando costos.

OpenSearch 1. x OpenSearch 1. x
  1. Cree una instantánea manual del dominio 1.x.

  2. Cree un dominio 1.x que sea una versión superior al dominio 1.x original.

  3. Restaure la instantánea desde el dominio original al nuevo dominio 1.x. Durante la operación, es probable que tenga que restaurar el índice .opensearch con un nuevo nombre:

    POST _snapshot/<repository-name>/<snapshot-name>/_restore { "indices": "*", "ignore_unavailable": true, "rename_pattern": ".opensearch", "rename_replacement": ".backup-opensearch" }

    A continuación, puede reindexar .backup-opensearch en el nuevo dominio y asignarlo a .opensearch. Tenga en cuenta que la llamada REST _restore no incluye include_global_state porque la entrada predeterminada en _restore es falsa. Como resultado, el dominio de prueba no incluirá ninguna plantilla de índice y no tendrá el estado completo de la copia de seguridad.

  4. Si ya no necesita el dominio original, elimínelo. De lo contrario, el dominio seguirá generando costos.

Elasticsearch 6.x o 7.x OpenSearch 1. x
  1. Revise los cambios más recientes de la OpenSearch versión 1.0 para ver si necesita realizar ajustes en sus índices o aplicaciones.

  2. Cree una instantánea manualmente del dominio de Elasticsearch 7.x o 6.x.

  3. Cree un OpenSearch 1. dominio x.

  4. Restaure la instantánea del dominio de Elasticsearch al OpenSearch dominio. Durante la operación, es probable que tenga que restaurar el índice .elasticsearch con un nuevo nombre:

    POST _snapshot/<repository-name>/<snapshot-name>/_restore { "indices": "*", "ignore_unavailable": true, "rename_pattern": ".elasticsearch", "rename_replacement": ".backup-opensearch" }

    A continuación, puede reindexar .backup-opensearch en el nuevo dominio y asignarlo a .elasticsearch. Tenga en cuenta que la llamada REST _restore no incluye include_global_state porque la entrada predeterminada en _restore es falsa. Como resultado, el dominio de prueba no incluirá ninguna plantilla de índice y no tendrá el estado completo de la copia de seguridad.

  5. Si ya no necesita el dominio original, elimínelo. De lo contrario, el dominio seguirá generando costos.

Elasticsearch 6.x Elasticsearch 7.x
  1. Consulte los cambios importantes en 7.0 para saber si necesita realizar ajustes en los índices o en la aplicación.

  2. Cree una instantánea manual del dominio 6.x.

  3. Cree un dominio de la versión 7x.

  4. Restaure la instantánea desde el dominio original al dominio 7x. Durante la operación, es probable que tenga que restaurar el índice .opensearch con un nuevo nombre:

    POST _snapshot/<repository-name>/<snapshot-name>/_restore { "indices": "*", "ignore_unavailable": true, "rename_pattern": ".elasticsearch", "rename_replacement": ".backup-elasticsearch" }

    A continuación, puede reindexar .backup-elasticsearch en el nuevo dominio y asignarlo a .elasticsearch. Tenga en cuenta que la llamada REST _restore no incluye include_global_state porque la entrada predeterminada en _restore es falsa. Como resultado, el dominio de prueba no incluirá ninguna plantilla de índice y no tendrá el estado completo de la copia de seguridad.

  5. Si ya no necesita el dominio original, elimínelo. De lo contrario, el dominio seguirá generando costos.

Elasticsearch 6.x Elasticsearch 6.8
  1. Cree una instantánea manual del dominio 6.x.

  2. Cree un dominio de la versión 6.8.

  3. Restaure la instantánea desde el dominio original al dominio 6.8.

  4. Si ya no necesita el dominio original, elimínelo. De lo contrario, el dominio seguirá generando costos.

Elasticsearch 5.x Elasticsearch 6.x
  1. Consulte los cambios importantes en 6.0 para saber si necesita realizar ajustes en los índices o en la aplicación.

  2. Cree una instantánea manual del dominio 5.x.

  3. Cree un dominio de la versión 6.x.

  4. Restaure la instantánea desde el dominio original al dominio 6.x.

  5. Si ya no necesita el dominio 5.x, elimínelo. De lo contrario, el dominio seguirá generando costos.

Elasticsearch 5.x Elasticsearch 5.6
  1. Cree una instantánea manual del dominio 5.x.

  2. Cree un dominio de la versión 5.6.

  3. Restaure la instantánea desde el dominio original al dominio 5.6.

  4. Si ya no necesita el dominio original, elimínelo. De lo contrario, el dominio seguirá generando costos.

Elasticsearch 2.3 Elasticsearch 6.x

Las instantáneas de Elasticsearch 2.3 no son compatibles con la versión 6.x. Para migrar sus datos directamente de la versión 2.3 a 6.x, debe volver a crear manualmente sus índices en el nuevo dominio.

Como alternativa, puede seguir los pasos del cambio de la versión 2.3 a 5.x de esta tabla, realizar las operaciones de _reindex en el nuevo dominio 5.x para convertir sus índices 2.3 en índices 5.x y después seguir los pasos del cambio de la versión 5.x a 6.x.

Elasticsearch 2.3 Elasticsearch 5.x
  1. Consulte los cambios importantes en 5.0 para saber si necesita realizar ajustes en los índices o en la aplicación.

  2. Cree una instantánea manualmente del dominio 2.3.

  3. Cree un dominio de la versión 5.x.

  4. Restaure la instantánea desde el dominio 2.3 al dominio 5.x.

  5. Si ya no necesita el dominio 2.3, elimínelo. De lo contrario, el dominio seguirá generando costos.

Elasticsearch 1.5 Elasticsearch 5.x

Las instantáneas de Elasticsearch 1.5 no son compatibles con la versión 5.x. Para migrar sus datos de la versión 1.5 a 5.x, debe volver a crear manualmente sus índices en el nuevo dominio.

importante

Las instantáneas de la versión 1.5 son compatibles con la versión 2.3, pero los dominios del OpenSearch Servicio 2.3 no admiten esta operación. _reindex Dado que no puede reindexarlos, los índices que se originaron en un dominio 1.5 siguen sin restaurar instantáneas de 2.3 a dominios 5x.

Elasticsearch 1.5 Elasticsearch 2.3
  1. Utilice el complemento de migración para saber si puede hacer directamente la actualización a la versión 2.3. Es posible que tenga que realizar cambios en los datos antes de la migración.

    1. En un navegador web, abra http://domain-endpoint/_plugin/migration/.

    2. Seleccione Realizar comprobaciones ahora.

    3. Revise los resultados y, si es necesario, siga las instrucciones para realizar cambios en los datos.

  2. Cree una instantánea manualmente del dominio 1.5.

  3. Cree un dominio de la versión 2.3.

  4. Restaure la instantánea desde el dominio 1.5 al dominio 2.3.

  5. Si ya no necesita el dominio 1.5, elimínelo. De lo contrario, el dominio seguirá generando costos.