HCL Commerce Version 9.1.10.0 or later

Migración de personalizaciones del servicio Ingest

Si ha revisado los cambios recientes de la versión realizados en el servicio Ingest que se describen en Mantener actualizados los servicios de Ingest y de consulta, puede continuar migrando las personalizaciones. Utilice la guía siguiente.

Before you begin

Si está actualizando a la versión 9.1.10.0 o posteriores desde una versión anterior de HCL Commerce Search, actualice la configuración de ZooKeeper de la siguiente manera:
  1. Verifique que existe un nodo /connectors dentro del contenedor de Zookeeper. Si el nodo está vacío, no es necesario hacer nada más.
  2. Si el nodo /connectors no está vacío, suprima todos los conectores predeterminados del nodo de ZooKeeper /connectors, excepto los descriptores de conector predeterminados que se personalizan.
  3. No suprima los descriptores de conector utilizando la API de supresión de Ingest. Al hacerlo, también se suprimirán las canalizaciones del conector de NiFi. En su lugar, utilice el intérprete de línea de comandos (CLI) de Zookeeper para realizar operaciones de supresión.
HCL Commerce Version 9.1.10.0 or laterNote: En cada reinicio del servicio Ingest, el sistema busca conectores creados en la consola NiFi. Si alguna de las canalizaciones de conector no está presente en la consola NiFi pero el descriptor del conector está disponible dentro de Zookeeper, el servicio de Ingest creará la canalización para ese descriptor de conectores en la consola NiFi. Esta comprobación solo se realiza para descriptores de conector creados por el usuario. Ingest ignorará esta operación para cualquier descriptor de conectores personalizados basado en conectores predeterminados.

About this task

Para todas las versiones, realice los pasos siguientes antes de instalar las últimas imágenes de NiFi y NiFi Registry.

Procedure

  1. Copia de seguridad de NiFi
    Si tiene configuraciones de conector personalizadas, primero debe realizar una copia de seguridad de estos ajustes antes de continuar con la migración. Es posible que el descriptor del conector existente no sea compatible con los últimos conectores predeterminados. Después de la migración, descargue la configuración más reciente del conector (GET mediante la API de REST del servicio Ingest), compare y fusione manualmente los JSON de conector y, a continuación, vuelva a aplicar los conectores actualizados.
    Para realizar una copia de seguridad de la configuración del conector antes de la migración, utilice el endpoint de la API del servicio Ingest para obtener y descargar el JSON del descriptor del conector:
    GET http://INGEST_HOSTNAME:INGEST_PORT/connectors
    Guarde esta respuesta con un nombre adecuado. Por ejemplo, si utiliza HCL Commerce versión 9.1.10, podría guardar la respuesta de esta API como connectors_v9110.json.
  2. Copia de seguridad del NiFi Registry
    Antes de la migración, realice una copia de seguridad de todos los flujos existentes dentro del NiFi Registry exportándolos. Por ejemplo, vaya al contenedor/pod de NiFi Registry existente y ejecute el siguiente comando en cada flujo registrado en el NiFi Registry:
    sh /opt/nifi-registry/scripts/export_flow.sh 
            FLOWNAME > /opt/nifi-registry/FLOWNAME_v9110.json 
  3. Implemente las últimas imágenes de NiFi y NiFi Registry
    Método Docker-compose con Docker
    1. Actualice el archivo [su Docker-compose].yml para utilizar las últimas imágenes de NiFi/NiFi Registry. No hay ningún montaje externo predeterminado implicado para NiFi y NiFi Registry, sin embargo, si ha añadido un montaje externo personalizado, deberá realizar una copia de seguridad de los datos y tendrá que volver a crearlo.
    2. Busque en el contenedor ZooKeeper, ejecute zkCli.sh para iniciar la interfaz de línea de comandos de ZooKeeper y realice deleteall /connectors para eliminar los conectores existentes.
    3. Inicie sus contenedores: docker-compose -f [your docker-compose].yml up -d
    Método Helm con Kubernetes
    Es necesario realizar los pasos siguientes antes de implementar el pod NiFi para permitir que el nuevo contenedor utilice lo que se proporciona con la imagen más reciente (en lugar de volver a utilizar los metadatos NiFi existentes que están almacenados actualmente en el volumen persistente):
    1. Busque en el contenedor NiFi existente.
    2. Elimine el archivo /opt/nifi/nifi-current/dockerdata/.data.version (o incluso todo lo que hay en este directorio dockerdata).
    3. Busque en el contenedor de ZooKeeper existente.
    4. Ejecute zkCli.sh para iniciar la interfaz de línea de comandos de ZooKeeper, ejecute "deleteall /connectors" para eliminar la configuración de conectores existente.
    A continuación, actualice la configuración de implementación de NiFi para que apunte a las últimas imágenes de NiFi y NiFi Registry. Espere a que los pods estén en buen estado antes de continuar con el paso siguiente.
Note: Realice los pasos siguientes DESPUÉS de implementar las últimas imágenes de NiFi y NiFi Registry:
  1. Actualizar NiFi
    Después de desplegar la imagen NiFi más reciente, descargue (GET utilizando la API de REST del servicio Ingest) la configuración más reciente del conector, compare y fusione manualmente los JSON de conector y, a continuación, vuelva a aplicar los conectores actualizados.
    1. Si hay personalizaciones de procesador NiFi, copie el directorio commerce-custom-search-processors-nar-9.1.x.x.nar en el directorio /opt/nifi/nifi-current/extensions dentro del contenedor NiFi y reinicie la aplicación NiFi.
    2. Utilice el mismo punto final de API de servicio de Ingest para obtener la configuración del conector OOTB más reciente:
      GET http://INGEST_HOSTNAME:INGEST_PORT/connectors
      Guarde la respuesta de esta API, por ejemplo, como connectors_v9110.json si está utilizando HCL Commerce versión 9.1.10.
    3. Compare ambos JSON para fusionar manualmente los cambios y, a continuación, vuelva a aplicar las actualizaciones a NiFi utilizando un punto final de conectores de API REST POST on Ingest proporcionando el JSON fusionado final en el cuerpo.
      POST http://INGEST_HOSTNAME:INGEST_PORT/connectors
  2. Actualizar el NiFi Registry
    Fusione cualquier personalización aplicable en el NiFi Registry y cárguela de nuevo en la consola NiFi.
    1. Especifique el nuevo contenedor/pod del NiFi Registry. Ejecute el comando siguiente en cada flujo registrado en el NiFi Registry:​
      sh /opt/nifi-registry/scripts/export_flow.sh FLOWNAME > /opt/nifi-registry/FLOWNAME_v9110.json  
    2. Compare los JSON entre las versiones para determinar las sentencias de propiedades/SQL que deben modificarse y, a continuación, realice los cambios en la nueva versión del JSON (por ejemplo, FLOWNAME_v910_updated.json).
    3. Actualice el entorno con estas personalizaciones que se han vuelto a fusionar importándolas de nuevo en el NiFi Registry (si procede):
      sh /opt/nifi-registry/scripts/import_flow.sh FLOWNAME /opt/nifi-registry/FLOWNAME_v9110_updated.json
    4. Utilice uno de los métodos siguientes (I o II) para actualizar los grupos de canalizaciones/procesos en NiFi con una nueva versión:
      Utilización de la API de REST de actualización del servicio Ingest
      Utilizando la siguiente URL, ejecute la API de actualización del servicio Ingest para obtener la última versión de los grupos de canales/procesos para un conector concreto:
      http://INGEST_HOSTNAME:INGEST_PORT/connectors/{id}/upgrade
      1. Utilice un cuerpo vacío.
      2. Ejecute la API de actualización varias veces si el canal actualizado está en más de un conector.
      Note: Este método no funciona con los canales de los conectores del marco, los servicios a granel, el servicio de registro, etc.
      Uso de la consola NiFi
      1. En la consola NiFi, navegue hasta el grupo de canales/procesos actualizado que aparece con un icono de una flecha roja.
      2. Pulse con el botón derecho del ratón en el grupo de canales/procesos y, a continuación, vaya a Versión > Cambiar versión para elegir la versión deseada de la lista de versiones.
      3. Pulse Cambiar