Instalación y actualización > Importación de la extensión ThingWorx Apps para un entorno activo-activo de alta disponibilidad
Importación de la extensión ThingWorx Apps para un entorno activo-activo de alta disponibilidad
* 
Las instrucciones de este tema son para una importación inicial de ThingWorx Apps en un sistema ThingWorx configurado para un entorno activo-activo de alta disponibilidad (HA). Si se está importando ThingWorx Apps en un sistema ThingWorx de un solo servidor, siga las instrucciones en Importación de la extensión ThingWorx Apps.
ThingWorx Apps se puede ejecutar en un sistema ThingWorx configurado como entorno activo-activo de alta disponibilidad (HA), con la siguiente configuración:
Instalación de entorno activo-activo de alta disponibilidad de dos servidores.
Se ejecuta con Apache Ignite integrado en ThingWorx Platform, en lugar de ejecutarse con Ignite de forma independiente. El uso de una versión externa de Ignite degrada el rendimiento de ThingWorx Apps debido al rendimiento de las consultas en todo el clúster.
En el siguiente gráfico se muestra la configuración del clúster para este escenario:
Los siguientes componentes pueden formar parte de una implementación de alta disponibilidad:
Usuarios y dispositivos: ningún rol en la funcionalidad de alta disponibilidad. Desde su perspectiva, no cambia nada. Siempre utilizan los mismos URL y direcciones IP, incluso si hay un cambio en el servidor ThingWorx principal.
Barreras de seguridad: ninguna función de alta disponibilidad y se puede considerar opcional. A menudo, se colocan barreras de seguridad para implementar requisitos de seguridad.
Equilibradores de la carga: los equilibradores de la carga gestionan una dirección IP virtual para la aplicación a la que soportan. Todo el tráfico ruteado a esa dirección IP virtual se dirige a la aplicación activa que puede recibirla. En este escenario, se utiliza HAProxy.
ThingWorx Connection Servers: recibe el tráfico de socket Web de los activos y lo rutea a ThingWorx Platform. Los servidores de conexión pueden funcionar en una configuración de clúster. Una vez que un activo se dirige a un servidor de conexión específico, siempre debe utilizar el mismo servidor de conexión. Si el servidor se queda fuera de línea, el activo debe redirigirse a otra instancia de Connection Server disponible.
ThingWorx Foundation: recibe todo el tráfico de usuarios y activos.
Almacenes de ThingWorx: ubicaciones de almacenamiento obligatorias, tales como ThingworxPlatform, ThingworxStorage y ThingworxBackupStorage, y cualquier ubicación de almacenamiento adicional que se haya añadido para soportar la implementación. Para un entorno de clúster, las carpetas de almacenamiento deben existir en una ubicación de almacenamiento común en la que todos los servidores de ThingWorx puedan acceder a ellos igualmente.
Apache ZooKeeper: ZooKeeper es un servicio de coordinación centralizado que utiliza ThingWorx Connection Server e Ignite para la detección de servicios, la elección de singleton y la coordinación distribuida.
Apache Ignite: Ignite proporciona una caché de memoria distribuida para compartir el estado entre los servidores del clúster. En esta configuración, Ignite está integrado en ThingWorx Platform, en lugar de estar instalado por separado.
PostgreSQL: en una configuración de alta disponibilidad, PostgreSQL funcionará a través de dos o más nodos de servidor en una configuración en espera activa. Un nodo recibe todo el tráfico de escritura y uno de los demás nodos puede recibir todo el tráfico de lectura. Se activa la replicación del flujo entre todos los nodos para mantener actualizado cada nodo.
Pgpool-II: solo se utiliza en configuraciones de alta disponibilidad de PostgreSQL. Los nodos de Pgpool-II reciben las solicitudes de ThingWorx (lecturas y escrituras) y las dirigen al nodo de PostgreSQL adecuado. También supervisa la integridad de cada nodo PostgreSQL y puede iniciar tareas de conmutación por error y cambio de destino de tareas cuando uno de los nodos se queda fuera de línea.
Microsoft SQL Server: se utiliza la conmutación por error de Microsoft para garantizar que al menos una instancia de MS SQL Server esté en línea y disponible.
InfluxDB: no se requiere una implementación de InfluxDB para una configuración de agrupación de ThingWorx. Si se necesita para satisfacer los requisitos de ingesta de la implementación, asegúrese de que esté configurado para la alta disponibilidad.
Para obtener más información, consulte Alta disponibilidad de ThingWorx en el Centro de ayuda de ThingWorx.
Proceso de instalación
Complete estos pasos en las secciones siguientes:
Requisitos previos
Antes de comenzar, complete los siguientes requisitos previos:
Revise los requisitos de ThingWorx de la versión de ThingWorx que es compatible con el ThingWorx Apps que está instalando:
Si se está instalando ThingWorx Apps 9.1.0, revise los Requisitos del sistema de ThingWorx 9.1.
Si se está instalando ThingWorx Apps 9.1.1, revise los Requisitos del sistema de ThingWorx 9.2.
Revise los Requisitos de agrupación en el Centro de ayuda de ThingWorx.
Instalar y configurar ThingWorx para un entorno activo-activo de alta disponibilidad
Complete los pasos siguientes:
1. Instale y configure Apache ZooKeeper tal como se describe en Instalación y configuración de ZooKeeper para la alta disponibilidad de ThingWorx en el Centro de ayuda de ThingWorx.
2. Instale y configure la base de datos tal como se describe en Alta disponibilidad de PostgreSQL o Alta disponibilidad de Microsoft SQL Server en el Centro de ayuda de ThingWorx.
3. No instale Apache Ignite.
4. Instale y configure ThingWorx en dos servidores, tal como se describe en Configuración de ThingWorx Foundation para la agrupación en el Centro de ayuda de ThingWorx.
5. Al configurar el fichero platform-settings.json en cada servidor de ThingWorx, asegúrese de que se hayan definido los siguientes valores:
En la sección cache:
Defina client-mode en false.
Defina read-from-backup en true.
Defina cache-mode en REPLICATED.
Defina backups en 0.
En la sección BasicSettings, actualice la configuración de ScriptTimeout a 500.
Para obtener información adicional sobre la configuración, consulte Configuración de plataforma para ThingWorx HA en el Centro de ayuda de ThingWorx.
6. Asegúrese de que las carpetas /ThingWorxStorage y /ThingWorxBackupStorage se encuentren en una ubicación común a la que puedan acceder ambos servidores de ThingWorx. Para obtener más información, consulte Almacenamiento de ficheros para la alta disponibilidad de ThingWorx.
7. Instale y configure ThingWorx Connection Server tal como se describe en ThingWorx Connection Servers para la alta disponibilidad de ThingWorx en el Centro de ayuda de ThingWorx.
8. Instale y configure HAProxy como equilibrador de la carga, tal como se describe en Equilibradores de la carga para la alta disponibilidad de ThingWorx y Ejemplo de HAProxy en el Centro de ayuda de ThingWorx.
9. Actualice la siguiente configuración de timeout de HAProxy a un valor de 500s:
timeout connect
timeout client
timeout server
10. Configure ThingWorx para que permita la importación de extensiones. Para obtener más información, consulte Importación de extensiones en el Centro de ayuda de ThingWorx.
11. La extensión de Remote Access de ThingWorx se debe importar como parte de la instalación de ThingWorx Platform antes de importar la extensión de ThingWorx Apps. Para obtener más información, consulte Acceso remoto en el Centro de ayuda de ThingWorx.
Importación de los ficheros de extensión
Importe ThingWorx Apps como extensión de ThingWorx en una instalación de ThingWorx Platform existente.
* 
En un entorno de agrupación de alta disponibilidad, solo es necesario importar extensiones de ThingWorx en uno de los servidores de ThingWorx. Para obtener más información, consulte Gestión de extensiones de ThingWorx en la alta disponibilidad de ThingWorx en el Centro de ayuda de ThingWorx.
1. Asegúrese de que se haya importado ThingWorx Remote Access Extension (RAE). Para obtener más información, consulte Acceso remoto en el Centro de ayuda de ThingWorx.
2. Descargue y descomprima el contenido de este fichero: ThingWorx-Apps-<versión>-extension-bundle
Para localizar la descarga, vaya a la página Descargas de software de PTC y expanda las carpetas siguientes: ThingWorx Foundation > Release 9.1 > ThingWorx Manufacturing & Service Apps Extension.
3. Importe los ficheros de extensión de ThingWorx Apps. Los ficheros de extensión deben importarse en el orden siguiente:
a. ThingWorx-Apps-<versión>-extension-dependencies
b. ThingWorx-Apps-<versión>-extension
Procedimiento para importar los ficheros de extensión:
a. En ThingWorx Composer, vaya a Importar/Exportar > Importar.
b. En la ventana Importar, seleccione Extensión en la lista Opciones de importación.
c. En Nombre de fichero, pulse en Inspeccionar. Navegue a la ubicación del fichero de extensión y selecciónelo.
d. Pulse en Importar. Cuando finalice la importación, pulse en Cerrar.
e. Repita el procedimiento si es necesario.
4. Vea las extensiones tras la importación; para ello, vaya a Gestionar > Extensiones.
5. Reinicie el servidor de ThingWorx.
Importación de extensiones opcionales
Las siguientes extensiones opcionales están disponibles para la importación junto con ThingWorx Apps, y se descargan desde la misma ubicación en la página Descargas de software de PTC:
ThingWorx-Asset-Remoting-<versión>-extension: permite utilizar las funciones de Remote Access and Control disponibles en Asset Advisor. Para obtener más información, consulte Remote Access and Control.
ThingWorx-Apps-<versión>-extension-factory-demo: proporciona una implementación de ejemplo para las actividades de planificación de fabricación. Para obtener más información, consulte Implementación de ejemplo de planificación de fabricación.
Las extensiones opcionales siguientes se pueden importar junto con ThingWorx Apps, y están disponibles para descargar en ThingWorx Foundation > Release 9.1 > ThingWorx Utilities > Most Recent Datecode.
ThingWorx-Software-Content-Management-<versión>: para obtener más información, consulte Software Content Management.
* 
El paquete de extensión ThingWorx Utilities Core es un requisito previo para la extensión ThingWorx Software Content Management y debe importarse antes. Si aún no ha importado el paquete de extensión ThingWorx Utilities Core, hágalo antes de importar la extensión ThingWorx Software Content Management. Para obtener más información, consulte Instalación de ThingWorx Utilities en el Centro de ayuda de ThingWorx Utilities.
Las extensiones opcionales siguientes se pueden importar junto con ThingWorx Apps, y están disponibles para descargar en ThingWorx Foundation > Release 8.5 > ThingWorx Rockwell FactoryTalk MES Extension. Esta extensión 8.5.0 se soporta con ThingWorx Apps 9.1.
ThingWorx-Rockwell-FT-MES-8-5-0-Extension-Bundle: para obtener más información, consulte Integración de ThingWorx Rockwell FactoryTalk MES.
Importe las extensiones opcionales de la misma forma que ha importado las extensiones de ThingWorx Apps.
Configuraciones de base de posteriores a la importación
Después de importar las extensiones de ThingWorx Apps, complete las configuraciones de base de datos siguientes.
1. Vaya a la cosa de base de datos correspondiente a su base de datos: PTC.SCA.SCO.PostgresDatabase o PTC.SCA.SCO.MSSQLDatabase.
2. En Configuración, ajuste los parámetros de Configuración de JDBC según la base de datos, incluidos los campos Cadena de conexión JDBC, Nombre de usuario de base de datos y Contraseña de base de datos. Si utiliza la misma base de datos que se usa para ThingWorx Platform, use los mismos valores para esos tres campos que los especificados en el fichero platform-settings.json.
* 
Antes de configurar la cosa de base de datos, asegúrese de que los controladores de JDBC necesarios estén en ThingWorx. ThingWorx puede utilizar los controladores de JDBC para conectarse a cualquier base de datos compatible con JDBC (como SQL Server, MySQL, etc.). También se puede utilizar ThingWorx Edge MicroServer y el host/recurso de ThingWorx con OLEDB y ODBC si la base de datos se encuentra detrás de una barrera de seguridad. Si no existe ninguna extensión de JDBC para la base de datos en ThingWorx, se puede añadir manualmente el controlador de JDBC descargándolo y añadiendo los ficheros en la ubicación siguiente: /<carpeta Tomcat>/webapps/Thingworx/WEB-INF/lib. Una vez copiado el controlador, es necesario reiniciar el servidor de ThingWorx.
3. Pulse en Guardar para guardar la cosa de la base de datos.
4. Navegue a la cosa PTC.Factory.C_LaunchPointConfigurationThing_[versión].
5. En Configuración, en la sección DatabaseConfigurationSettings, edite el campo DBConnection para que apunte a la cosa de base de datos configurada en el paso 2.
6. Pulse en Guardar para guardar la cosa de configuración del punto de inicio.
7. Vaya a la cosa PTC.SCA.SCO.DatabaseManager.
8. En Servicios, ejecute el servicio CreateTables.
Acceso a ThingWorx Apps
Para acceder a ThingWorx Apps, vaya al siguiente URL en el servidor de ThingWorx. Reemplace el valor de <puerto> por su número de puerto.
https://localhost:<puerto>/ThingWorx/FormLogin/Welcome
El nombre de usuario por defecto es Administrator. La contraseña es la que se especificó durante la instalación y configuración de ThingWorx.