Configurazione di un cluster ZooKeeper centrale
Per utilizzare un cluster Apache ZooKeeper centrale per più ambienti, è necessario che le configurazioni ZooKeeper per ogni cluster ThingWorx a disponibilità elevata siano configurate con i namespace. In caso contrario, tutti i componenti saranno reciprocamente visibili e rischieranno di unirsi anche quando non desiderato.
|
Le nuove impostazioni del namespace ZooKeeper sono applicabili solo a ThingWorx 9.3.0 e versioni successive.
|
Impostazioni ThingWorx
Le impostazioni della piattaforma ThingWorx devono essere configurate con i namespace per ThingWorx e Apache Ignite.
È necessario aggiungere o modificare
ZkNamespace nella sezione
ClusterModeSettings. Per ulteriori informazioni, vedere
Impostazioni di piattaforma per ThingWorx a disponibilità elevata.
"ClusteredModeSettings": {
"ZKNamespace" : "/mycluster",
}
Aggiornare basePath nella sezione address-resolver di Ignite. Il nome non deve necessariamente coincidere con il nome della modalità cluster.
"cache": {
"provider-type": "com.thingworx.cache.ignite.IgniteCacheProvider",
"ignite": {
"address-resolver" : {
"type": "zookeeper",
"basePath" : "/mycluster"
}
}
}
Impostazioni Ignite
Impostare basePath nel file config.xml utilizzato per avviare Ignite. Il nome deve corrispondere a quello utilizzato nella sezione address-resolver della cache di 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>
Impostazioni del server connessioni
Per i server connessioni, è possibile impostare la variabile basePath utilizzata per l'individuazione del servizio nella sezione discovery della configurazione del server connessioni. Il prefisso del valore deve corrispondere al valore utilizzato nella sezione delle impostazioni del cluster ThingWorx e terminare con /services. Si applica a AlwaysOn, eMessage e Azure IoT.
discovery {
connectionString = "zookeeper:2181"
basePath = "/mycluster/services"
}
Per i contenitori
• Impostazioni ThingWorx
Impostare le variabili di ambiente ZOOKEEPER_BASE_PATH e IGNITE_ZK_BASE_PATH:
ZOOKEEPER_BASE_PATH=/mycluster
IGNITE_ZK_BASE_PATH=/mycluster
• Impostazioni Ignite
Impostare la variabile di ambiente ZOOKEEPER_BASE_PATH:
ZOOKEEPER_BASE_PATH=/mycluster
• Impostazioni del server connessioni
Impostare la variabile di ambiente SERVICE_DISCOVERY_BASE_PATH come descritto di seguito. Non è necessario specificare /services, in quanto è incorporato nella configurazione. Si applica a AlwaysOn, eMessage e Azure IoT.
SERVICE_DISCOVERY_BASE_PATH=/mycluster