Configuración de un clúster central de ZooKeeper
Para utilizar una instancia de Apache ZooKeeper central para múltiples entornos, las configuraciones de ZooKeeper para cada clúster de alta disponibilidad de ThingWorx deben contener espacios de nombres. De lo contrario, todos los componentes se verán entre sí y probablemente se unirán cuando no se quiera.
* 
La nueva configuración del espacio de nombres de ZooKeeper solo es aplicable a ThingWorx 9.3.0 o versiones posteriores.
Configuración de ThingWorx
Opciones de configuración de ThingWorx Platform deben configurarse con los espacios de nombres tanto para ThingWorx como para Apache Ignite.
Se debe añadir o cambiar ZkNamespace en la sección ClusterModeSettings. Para obtener más información, consulte Configuración de plataforma para la alta disponibilidad de ThingWorx.
"ClusteredModeSettings": {
"ZKNamespace" : "/mycluster",
}
Actualice el objeto basePath de la sección address-resolver de Ignite. El nombre no tiene por qué coincidir con el nombre del modo de clúster, pero sí puede hacerlo.
"cache": {
"provider-type": "com.thingworx.cache.ignite.IgniteCacheProvider",
"ignite": {
"address-resolver" : {
"type": "zookeeper",
"basePath" : "/mycluster"
}
}
}
Configuración de Ignite
Defina el objeto basePath en el fichero config.xml que se utiliza para iniciar Ignite. El nombre debe coincidir con el nombre utilizado en la sección address-resolver de la caché de ThingWorx.
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd">
<bean class="org.apache.ignite.configuration.IgniteConfiguration">
<property name="discoverySpi">
<bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi">
<property name="ipFinder">
<bean class="org.apache.ignite.spi.discovery.tcp.ipfinder.zk.TcpDiscoveryZookeeperIpFinder">
<property name="zkConnectionString" value="zookeeper:2181"/>
<property name="basePath" value="/mycluster"/>
</bean>
</property>
</bean>
</property>
Configuración del servidor de conexión
Para los servidores de conexión, el objeto basePath que se utiliza para el descubrimiento de servicios puede definirse en la sección discovery de la configuración del servicio de conexión. El prefijo del valor debe coincidir con el valor utilizado en la sección de configuración del clúster de ThingWorx y terminar con /services. Esto se aplica a AlwaysOn, eMessage y Azure IoT.
discovery {
connectionString = "zookeeper:2181"
basePath = "/mycluster/services"
}
Para contenedores
Configuración de ThingWorx
Defina las variables de entorno ZOOKEEPER_BASE_PATH e IGNITE_ZK_BASE_PATH:
ZOOKEEPER_BASE_PATH=/mycluster
IGNITE_ZK_BASE_PATH=/mycluster
Configuración de Ignite
Defina la variable de entorno ZOOKEEPER_BASE_PATH:
ZOOKEEPER_BASE_PATH=/mycluster
Configuración del servidor de conexión
Defina la variable de entorno SERVICE_DISCOVERY_BASE_PATH como se indica a continuación. No es necesario especificar /services porque está integrado en la configuración. Esto se aplica a AlwaysOn, eMessage y Azure IoT.
SERVICE_DISCOVERY_BASE_PATH=/mycluster
¿Fue esto útil?