Implementación de extensiones personalizadas del perfil de Ingest en el entorno de ejecución de producción
Este tema explica cómo desplegar una imagen NiFi de búsqueda personalizada en producción.
Procedure
- Cree una imagen
search-nifi-app
de Docker personalizada.Para desplegar el tiempo de ejecución de las extensiones de personalización de Ingest, cree una imagen de Docker personalizada parasearch-nifi-app
que incluya las personalizaciones creadas utilizando el kit de herramientas NiFi.- Cree un archivo de configuración de Dockerfile Docker con el siguiente contenido.
FROM search-nifi-app docker image COPY CusDeploy/ /opt/nifi/nifi-current/lib
Donde CusDeploy/ contiene el commerce-custom-search-marketplace-seller-9.1.10.0.jar que ha compilado en Prueba de la lógica personalizada de Ingest en el kit de herramientas NiFi y compilación de un JAR desplegable.
En caso de que sea necesario aplicar el parche:
FROM comlnx94.prod.hclpnp.com/9.1.10.0/search-nifi-app:v9-20220322-1524 COPY patches / /opt/nifi/nifi-current/patches WORKDIR /opt/nifi/scripts RUN ./patch.sh COPY CusDeploy/ /opt/nifi/nifi-current/lib
Donde el directorio patches/ contiene el parche (JAR) que se aplicará en V9.1.10.0 y el CusDeploy/ que contendrá el commerce-custom-search-marketplace-seller-9.1.10.0.jar compilado en Prueba de la lógica personalizada de Ingest en el kit de herramientas NiFi y compilación de un JAR desplegable.
FROM comlnx94.prod.hclpnp.com/9.1.10.0/search-nifi-app:v9-20220322-1524 COPY CusDeploy/ /opt/nifi/nifi-current/lib
Donde CusDeploy/ contiene el commerce-custom-search-marketplace-seller-9.1.10.0.jar compilado en Prueba de la lógica personalizada de Ingest en el kit de herramientas NiFi y compilación de un JAR desplegable.
- Prepare los archivos de despliegue personalizados.
- Cree el subdirectorio CusDeploy en el mismo directorio en el que se encuentra el archivo Docker creado en Creación de un procesador NiFi personalizado ampliando el procesador predeterminado de Ingest en el kit de herramientas NiFi.
- Copie el commerce-custom-search-marketplace-seller-9.1.x.x.jar en el directorio CusDeploy.
- Copie el ingest-api.jar obtenido del directorio libs que se encuentra en la plantilla de proyecto commerce-custom-search-marketplace-seller.zip extraída en el directorio CusDeploy.
Note: A partir de V9.1.12.0, ingest-api.jar no está disponible dentro de los elementos de la guía de aprendizaje.
- Compile la imagen de Docker personalizada (search-nifi-app) del servidor NiFi.
- Abra un indicador de comandos y vaya al directorio que contiene el archivo de Docker y el subdirectorio CusDeploy.
- Ejecute el comando de compilación de Docker para compilar una imagen de Docker personalizada para el servidor de NiFi (search-nifi-app).
Por ejemplo:docker build -t search-nifi-app:tag
docker build -t search-nifi-app:nifi-extension .
Note:- Asegúrese de que el período esté presente al final del comando de compilación de Docker.
- La etiqueta, al igual que la etiqueta de compilación del paquete de implementación, se usa para identificar la imagen personalizada de Docker. Puede modificar esto en cualquier momento para ayudar a identificar la imagen de Docker generada.
- Cree un archivo de configuración de Dockerfile Docker con el siguiente contenido.
- Despliegue el entorno de ejecución del servidor de datos de Elasticsearch a través de CI/CD utilizando una imagen de Docker personalizada creada en Creación de un procesador NiFi personalizado ampliando el procesador predeterminado de Ingest en el kit de herramientas NiFi.Esta tarea cubre los requisitos mínimos para una implementación basada en Docker Compose.
- Configure un entorno de producción de HCL Commerce con el método de despliegue de Docker Compose. Para obtener información sobre cómo configurar este entorno, consulte Despliegue de HCL Commerce versión 9.1 con Docker Compose (para no producción).
- (Opcional) Para la imagen de Docker personalizada (search-nifi-app) del servidor de NiFi, asegúrese de que tiene los siguientes parámetros de despliegue definidos correctamente en la sección de entorno del archivo de configuración docker-compose.
Si la personalización depende del proyecto commerce-custom-search-processors-nar, transfiera el archivo NAR del directorio "target" del proyecto commerce-custom-search-processors-nar al directorio de extensión designado en el servidor de Elasticsearch y monte este archivo como volumen en el contenedor Docker de NiFi. Para obtener instrucciones más detalladas, consulte el tema Compilación y despliegue de un archivo NAR personalizado.volumes: - ./volumes/hcl-cache-local-redis/cache_cfg-ext.yaml:/SETUP/hcl-cache/cache_cfg-ext.yaml - ./volumes/hcl-cache-local-redis/redis_cfg.yaml:/SETUP/hcl-cache/redis_cfg.yaml - ./volumes/nifi-ext/commerce-custom-search-processors-nar-9.1.10.0.nar:/opt/nifi/nifi-current/extensions/commerce-custom-search-processors-nar-9.1.10.0.nar
Los pasos siguientes se deben realizar en el entorno de ejecución de la misma manera que se han realizado en el entorno de desarrollo:- Cree un perfil de Ingest y enlácelo a un conector predeterminado (Crear de un perfil personalizado de Ingest y enlazarlo al canal del conector predeterminado).
- Anule el perfil de consulta de búsqueda predeterminado para incluir el atributo seller_description.raw adicional en la respuesta de la consulta. (Anule los perfiles de búsqueda de consulta para modificar los campos de respuesta).
- Compruebe que la respuesta del perfil de búsqueda contiene el atributo adicional seller_description.raw (Prueba de las extensiones de perfil de Ingest).
En este tema se describe cómo crear una imagen NiFi de búsqueda personalizada, incluida la lógica de Ingest, y cómo desplegarla en producción. El siguiente paso consiste en crear un perfil personalizado de Ingest y en enlazarlo a un conector predeterminado.