Configuración de HCL Commerce Developer Search environment
HCL Commerce Version 9.1 proporciona soporte a Elasticsearch de forma predeterminada. Utilice HCL Commerce Developer Search environment para realizar personalizaciones en la solución de búsqueda.
Antes de empezar
HCL Commerce Developer Search environment requiere lo siguiente antes de poder utilizarlo para desarrollar las personalizaciones de búsqueda basadas en Elasticsearch:
-
Importante: La solución de búsqueda basada en Elasticsearch consume muchos recursos. Se recomienda dedicar recursos de hardware autónomo o de máquina virtual alojada y no ejecutarlo en una máquina de desarrollo local.
-
Antes de instalar HCL Commerce Developer, asegúrese de que su HCL Commerce development environment cumple los requisitos de hardware y software.
- Para obtener información sobre los requisitos de software, consulte Niveles de software admitidos, correcciones y valores de HCL Commerce.
- Para obtener información sobre los requisitos de hardware, consulte Requisitos de hardware para HCL Commerce.
- requiere una base de datos.
admite y
. Para obtener más información sobre cómo instalar y configurar una base de datos de entorno de desarrollo, consulte Instalar y configurar su base de datos de entorno de desarrollo.
- HCL Cache almacena en memoria caché las clases que se pueden modificar en versiones más recientes de HCL Commerce. Para evitar errores al deserializar una versión antigua de la clase, es muy recomendable borrar las claves de Redis después de actualizar HCL Commerce. Las claves de Redis se pueden borrar con los mandatos Redis flushdb o flusall.
![Windows](../../search/tasks/../../base/images/ngwin.gif)
- Asegúrese de que se asignen amplios recursos a Docker.
Para asignar recursos a Docker, haga clic con el botón derecho en el ejecutable de Docker o en el acceso directo a él y seleccione Avanzado. Asignar como mínimo 8 núcleos de CPU, 32 GB de memoria y 80 GB de almacenamiento para garantizar un rendimiento adecuado.
- Asegúrese de que la siguiente configuración de red esté habilitada en la configuración
Expose daemon on tcp://localhost:2375 port
:
Procedimiento
- Obtenga las imágenes de Docker de HCL Commerce.Para iniciar el proceso de despliegue, descargue el software necesario.
- Revise la lista de los últimos paquetes de descarga disponibles para asegurarse de que obtiene la versión más actualizada del software de HCL Commerce.
- Acceda a la .
- Búsqueda del ID de paquete HCL_Commerce_Devops_Version_9.1, o el ID de archivo HCL_Commerce_DevOps_9.1.x.x.bundle.
- Descargue el archivo.
- Descargue las imágenes del Docker de datos.
- HCL_Commerce_Enterprise_9.1.x.x_Data_Query_Server_x86-64.tgz
- HCL_Commerce_Enterprise_9.1.x.x_Data_NiFi_Server_x86-64.tgz
- HCL_Commerce_Enterprise_9.1.x.x_Data_NiFi_Registry_Server_x86-64.tgz
- HCL_Commerce_Enterprise_9.1.x.x_Data_Ingest_Server_x86-64.tgz
- Opcional:HCL_Commerce_Enterprise_9.1.x.x_Approval_Server_x86-64.tgz
- Opcional:HCL_Commerce_Enterprise_9.1.x.x_GraphQL_Server_x86-64.tgz
docker load -i imagename
Por ejemplo:
docker load -i HCL_Commerce_Enterprise_9.1.0.0_Data_Query_Server_x86-64.tgz
- Clone el proyecto en Git desde el paquete git descargado y compruebe el código en el sistema de gestión de control de origen. Ejecute el siguiente mandato.
Donde:git clone bundleName projectName
- bundleName
- El nombre de archivo del paquete que está clonando.
- projectName
- El nombre del proyecto de Git que está creando.
git clone HCL_Commerce_DevOps_9.1.0.0.bundle HCL_Commerce_DevOps
-
Despliegue la solución de búsqueda basada en Elasticsearch .
Opción de despliegue n.º 1: despliegue la solución de búsqueda basada en Elasticsearch a través del script de despliegue.
Esta opción se limita a la implementación dentro de un entorno Linux, debido a la dependencia de scripts Bash (archivos de .sh).
- Actualice el script bash de env.sh con los detalles de su entorno.
- Abra el env.sh para editarlo.
- Establezca los siguientes detalles del entorno en función de su versión de .
Para 9.1.12.0 y posteriores, deben establecerse los valores siguientes:
SEARCH_ENGINE=elasticsearch DEPLOY_TYPE=toolkit LICENSE_ACCEPTED=accept TOOLKIT_HOST=<toolkitHost> TOOLKIT_HOST_IP=<toolkitHostIP> SEARCH_HOST=<searchHost> SEARCH_HOST_IP=<searchHostIP> DB_TYPE=<db2|oracle> DB_HOST=<databaseHost> DB_NAME=<databaseName> DB_USER=<databaseUser> DB_PASS=<databaseUserPassword> SEARCH_QUERY_IMAGE=<searchQueryImage> SEARCH_NIFI_IMAGE=<searchNifiImage> SEARCH_REGISTRY_IMAGE=<searchRegistryImage> SEARCH_INGEST_IMAGE=<searchIngestImage> SPIUSER_PWD_ENCRYPTED=<encryptedSpiUserPassord> ADMIN_SPIUSER_PWD=<plainTextSpiuserPassword> SPIUSER_PWD_BASE64=<base46SpiuserPassword>
Para 9.1.12.0 y posteriores, puede establecer opcionalmente las configuraciones siguientes:
APPROVAL_ENABLED=<true|false> APPROVAL_APP_IMAGE=<approvalImage> SESSION_KEY_ENCRYPT=<encryptedSessionKey> GRAPHQL_ENABLED=<true|false> GRAPHQL_APP_IMAGE=<graphqlImage> ALLOW_TELEMETRY=<yes|no> CACHE_ENABLED=<true|false> CACHE_APP_IMAGE=<cacheManagerImage>
- Para 9.1.0.0 a 9.1.11.0:
SEARCH_ENGINE=elasticsearch DEPLOY_TYPE=data DATA_FOR_TOOLKIT=true LICENSE_ACCEPTED=accept TOOLKIT_HOST=<toolkitHost> DB_TYPE=<db2|oracle> DB_HOST=<databaseHost> DB_NAME=<databaseName> DB_USER=<databaseUser> DB_PASS=<databaseUserPassword> SEARCH_QUERY_IMAGE=<searchQueryImage> SEARCH_NIFI_IMAGE=<searchNifiImage> SEARCH_REGISTRY_IMAGE=<searchRegistryImage> SEARCH_INGEST_IMAGE=<searchIngestImage> SPIUSER_PWD_ENCRYPTED=<encryptedSpiUserPassord> ADMIN_SPIUSER_PWD=<plainTextSpiuserPassword> SPIUSER_PWD_BASE64=<base46SpiuserPassword>
Nota:- Para más información sobre el archivo de configuración de env.conf, consulte El archivo de configuración env.sh de implementación de Docker Compose.
- Guarde y cierre el archivo.
- Haga una copia de seguridad del script de env.sh que contiene los detalles del entorno para futuras implementaciones.
- Si utiliza una base de datos de , asegúrese de que hay una copia del controlador JDBC necesario (ojdbc8.jar) ubicado dentro del directorio de volumes/jdbc/.
- Ejecute el script de Bash de implementación.
./deploy.sh
Este script genera un archivo Docker Compose de búsqueda basado en Elasticsearch que, a su vez, se basa en la configuración del entorno en env.sh.Para 9.1.12.0 y posteriores, este archivo es docker-compose-toolkit.yml.
- Para 9.1.0.0 a 9.1.11.0, este archivo es docker-compose-data.yml.
La implementación establecerá el proyecto en
commerce
, por lo que los servicios de Docker creados tendrán el prefijocommerce_
. Por ejemplo,commerce_nifi_1
.El script de despliegue iniciará automáticamente la implementación.
- Actualice el script bash de env.sh con los detalles de su entorno.
Opción de implementación n.º 2: Implemente la plataforma manualmente.
Esta opción es la única implementación que es compatible con un sistema operativo host de Windows, debido a su no confianza en los scripts Bash (archivos .sh).
- Cree un archivo de implementación de Docker Compose para su entorno.
- Seleccione un archivo de plantilla Docker Compose de implementación basado en la base de datos que usará para la implementación.
Los archivos de plantilla siguen la convención de nomenclatura: docker-compose-elasticsearch-data-<DB_TYPE>-toolkit-template.yml.
Donde <DB_TYPE> puede ser db2 o oracle.
- Copie la plantilla en el archivo de implementación de Docker Compose (docker-compose-toolkit.yml).
- Añada servicios opcionales al archivo de despliegue de Docker Compose (docker-compose-toolkit.yml).
- GraphQL (docker-compose-elasticsearch-svc-graphql-toolkit-template.yml)
- Gestor de memoria caché (docker-compose-elasticsearch-data-toolkit-cache-app-svc-template.yaml)
( docker-compose-svc-approval-toolkit-template.yml)
Nota: Además de incluir el contenido de esta plantilla de Docker Compose, para habilitar el debe sobrescribir volumes/approval-app/boot-config/app-secure.properties con el contenido de volumes/approval-app/boot-config/app-secure.properties.nonssl.
- Seleccione un archivo de plantilla Docker Compose de implementación basado en la base de datos que usará para la implementación.
- Actualice el script bash de env.sh con los detalles de su entorno.
- Abra el env.sh para editarlo.
- Establezca los siguientes detalles del entorno en función de su versión de .
Para 9.1.12.0 y posteriores, deben establecerse los valores siguientes:
SEARCH_ENGINE=elasticsearch DEPLOY_TYPE=toolkit LICENSE_ACCEPTED=accept TOOLKIT_HOST=<toolkitHost> TOOLKIT_HOST_IP=<toolkitHostIP> SEARCH_HOST=<searchHost> SEARCH_HOST_IP=<searchHostIP> DB_TYPE=<db2|oracle> DB_HOST=<databaseHost> DB_NAME=<databaseName> DB_USER=<databaseUser> DB_PASS=<databaseUserPassword> SEARCH_QUERY_IMAGE=<searchQueryImage> SEARCH_NIFI_IMAGE=<searchNifiImage> SEARCH_REGISTRY_IMAGE=<searchRegistryImage> SEARCH_INGEST_IMAGE=<searchIngestImage> SPIUSER_PWD_ENCRYPTED=<encryptedSpiUserPassord> ADMIN_SPIUSER_PWD=<plainTextSpiuserPassword> SPIUSER_PWD_BASE64=<base46SpiuserPassword>
Para 9.1.12.0 y posteriores, puede establecer opcionalmente las configuraciones siguientes:
APPROVAL_ENABLED=<true|false> APPROVAL_APP_IMAGE=<approvalImage> SESSION_KEY_ENCRYPT=<encryptedSessionKey> GRAPHQL_ENABLED=<true|false> GRAPHQL_APP_IMAGE=<graphqlImage> ALLOW_TELEMETRY=<yes|no> CACHE_ENABLED=<true|false> CACHE_APP_IMAGE=<cacheManagerImage>
- Para 9.1.0.0 a 9.1.11.0:
SEARCH_ENGINE=elasticsearch DEPLOY_TYPE=data DATA_FOR_TOOLKIT=true LICENSE_ACCEPTED=accept TOOLKIT_HOST=<toolkitHost> DB_TYPE=<db2|oracle> DB_HOST=<databaseHost> DB_NAME=<databaseName> DB_USER=<databaseUser> DB_PASS=<databaseUserPassword> SEARCH_QUERY_IMAGE=<searchQueryImage> SEARCH_NIFI_IMAGE=<searchNifiImage> SEARCH_REGISTRY_IMAGE=<searchRegistryImage> SEARCH_INGEST_IMAGE=<searchIngestImage> SPIUSER_PWD_ENCRYPTED=<encryptedSpiUserPassord> ADMIN_SPIUSER_PWD=<plainTextSpiuserPassword> SPIUSER_PWD_BASE64=<base46SpiuserPassword>
Nota:- Para más información sobre el archivo de configuración de env.conf, consulte El archivo de configuración env.sh de implementación de Docker Compose.
- Guarde y cierre el archivo.
- Haga una copia de seguridad del script de env.sh que contiene los detalles del entorno para futuras implementaciones.
- Copie los valores configurados de env.sh en el archivo de Docker .env en el mismo nivel que el archivo de Docker Compose (docker-compose-toolkit.yml). Esto permite a docker-compose utilizar estas variables de entorno en la implementación.
- Establezca permisos de archivo para sus volúmenes persistentes.
Algunos volúmenes se montan en los contenedores en ejecución y requieren permisos de escritura.
Asegúrese de establecer de forma recursiva el acceso de escritura a /volumes/, para asegurarse de que él y todos los subdirectorios contenidos son grabables.
- Ejecute el siguiente comando para iniciar la plataforma de datos de Elasticsearch.
docker-compose up -d
- Cree un archivo de implementación de Docker Compose para su entorno.
- Opción de implementación heredada: Implemente manualmente una versión heredada de la plataforma. En caso de que necesite admitir una versión anterior a la 9.1 de , esta opción es el único método disponible para desplegar la plataforma de datos correspondiente basada en Elasticsearch.
- Esta opción de despliegue ya no es compatible con la versión de 9.1.6.0 y superiores.
- Esta es la única opción de implementación para versiones 9.1.0.0 a 9.1.5.0.
- Desde la carpeta docker-compose, copie el archivo
docker-compose-elasticSearch-data-db2-toolkit-template.yml o
docker-compose-elasticSearch-data-oracle-toolkit-template.yml a docker-compose.yml.
- Actualice la etiqueta de imagen .yml para todos los contenedores de Docker de HCL Commerce.
- Determine la imagen repository y tag ejecutando las imágenes de Docker.
- Actualice cada etiqueta de imagen en el archivo .yml con su respectivo repository:tag. Por ejemplo,
image: commerce/search-nifi-app:9.1.0.0
- Acepte el parámetro LICENSE para todos los dockers de la ventana acoplable, por ejemplo:
- LICENSE=accept
- Actualice la siguiente configuración para que NIFI seleccione la base de datos .
AUTH_JDBC_URL: "jdbc:DBType://DBHost:50000/mall" AUTH_JDBC_DRIVER_LOCATION: "/opt/nifi/nifi-current/lib/DBDriver" AUTH_JDBC_USER_NAME: "DBUser" AUTH_JDBC_USER_PASSWORD: "DBUserPassword" NLP_ENABLE_LANGUAGE_CODE: "nlpEnableLanguageCode"
Por ejemplo:
AUTH_JDBC_URL: "jdbc:db2://tk.hclcommerce.com:50000/mall" AUTH_JDBC_DRIVER_LOCATION: "/opt/nifi/nifi-current/lib/db2jcc4.jar" AUTH_JDBC_USER_NAME: "wcs" AUTH_JDBC_USER_PASSWORD: "wcs1" NLP_ENABLE_LANGUAGE_CODE: "EN"
AUTH_JDBC_URL: "jdbc:oracle:thin:@//tk.hclcommerce.com:1521/orclpdb1" AUTH_JDBC_DRIVER_CLASSNAME: "oracle.jdbc.driver.OracleDriver" AUTH_JDBC_DRIVER_LOCATION: "/opt/nifi/nifi-current/lib/ojdbc8.jar" AUTH_JDBC_USER_NAME: "wcs" AUTH_JDBC_USER_PASSWORD: "wcs1" NLP_ENABLE_LANGUAGE_CODE: "EN"
- Actualice la configuración para data-query:
TX_HOST: "TXHost"
Por ejemplo:
TX_HOST: "tk.hclcommerce.com"
- Cree los siguientes subdirectorios dentro del mismo directorio donde se encuentra docker-compose.yml y asegúrese de que sus permisos estén configurados en
777
.Importante: Si está actualizando de 9.1.0.0 o 9.1.1.0 a una versión más reciente de , o si tiene algún problema relacionado con el índice de búsqueda o el conector de servicio NiFi, debe eliminar el contenido de estos directorios.- nifiLogs
elasticsearch/data
elasticsearch/config
zookeeper
nifi/data
redis/data
Copie la carpeta hcl-cache-search en la misma ubicación en la que se encuentra el archivo de Docker Compose (docker-compose.yml).
- Si utiliza o una base de datos, asegúrese de que hay una copia del controlador JDBC necesario (ojdbc8.jar) en el mismo directorio donde se encuentra el archivo de composición de Docker (docker-compose.yml).
- Ejecute el siguiente comando para iniciar la plataforma de datos de Elasticsearch.
docker-compose up -d
- Verifique que todos los contenedores estén en buen estado.
- Establezca sus variables de entorno de Elasticsearch del HCL Commerce development environment.
Nota: Si desea cambiar al motor de búsqueda de Solr en un momento posterior, realice una copia de seguridad de jndi.xmlen Liberty_Dir\usr\servers\crsServer\configDropins\overrides\ y namebindings.xml en WCDE_InstallDir\wasprofile\config\cells\localhost\nodes\localhost\servers\server1\. A continuación, podrá volver a Solr con una copia de seguridad de Elasticsearch.
- Opcional:
Habilite HCL Commerce Cache Manager application.
Nota: Para las versiones de HCL Commerce 9.1.12.0 y posteriores, la aplicación Gestor de la memoria caché se puede desplegar más fácilmente actualizando el archivo env.sh con
CACHE_ENABLED=true
y, a continuación, especificando elCACHE_APP_IMAGE
. Si está actualizando las versiones de HCL Commerce 9.1.11.0 a 9.1.12.0 u otras versiones posteriores, deberá actualizar la base de datos para iniciar el Marketplace de Emerald o Sapphire.
En una indicación de comando de base de datos, ejecute el SQL siguiente.insert into storeconf values(32,'hcl.marketplace.self-registration','true',1); insert into storeconf values(31,'hcl.marketplace.self-registration','true',1);
Resultados
HCL Commerce development environment está ahora configurado para desarrollar personalizaciones de búsqueda basadas en Elasticsearch.