Zentrale ZooKeeper-Cluster konfigurieren
Die ZooKeeper-Konfigurationen für jeden ThingWorx Hochverfügbarkeits-Cluster müssen einen Namespace aufweisen, um einen zentralen Apache ZooKeeper für mehrere Umgebungen verwenden zu können. Andernfalls sind alle Komponenten untereinander sichtbar und werden möglicherweise miteinander verbunden, auch wenn dies nicht erwünscht ist.
* 
Die neuen ZooKeeper-Namespace-Einstellungen gelten nur für ThingWorx 9.3.0 und höher.
ThingWorx Einstellungen
ThingWorx Plattformeinstellungen müssen mit den Namespaces für ThingWorx und Apache Ignite konfiguriert werden.
Sie müssen ZkNamespace im Abschnitt ClusterModeSettings hinzufügen oder ändern. Weitere Informationen finden Sie unter Plattformeinstellungen für ThingWorx HA.
"ClusteredModeSettings": {
"ZKNamespace" : "/mycluster",
}
Aktualisieren Sie basePath im Ignite-Abschnitt address-resolver. Der Name muss nicht mit dem Cluster-Modusnamen übereinstimmen.
"cache": {
"provider-type": "com.thingworx.cache.ignite.IgniteCacheProvider",
"ignite": {
"address-resolver" : {
"type": "zookeeper",
"basePath" : "/mycluster"
}
}
}
Ignite-Einstellungen
Legen Sie basePath in der Datei config.xml, die zum Starten von Ignite verwendet wird, fest. Der Name muss dem im ThingWorx Cache-Abschnitt address-resolver verwendeten Namen entsprechen.
<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>
Verbindungsserver-Einstellungen
Für Verbindungsserver kann der für die Dienstermittlung verwendete basePath im Abschnitt discovery der Verbindungsserver-Konfiguration festgelegt werden. Das Wertpräfix muss dem im Abschnitt mit ThingWorx Cluster-Einstellungen verwendeten Wert entsprechen und mit /services enden. Dies gilt für AlwaysOn, eMessage und Azure IOT.
discovery {
connectionString = "zookeeper:2181"
basePath = "/mycluster/services"
}
Für Container
ThingWorx Einstellungen
Legen Sie die Umgebungsvariablen ZOOKEEPER_BASE_PATH und IGNITE_ZK_BASE_PATH wie folgt fest:
ZOOKEEPER_BASE_PATH=/mycluster
IGNITE_ZK_BASE_PATH=/mycluster
Ignite-Einstellungen
Legen Sie die Umgebungsvariable ZOOKEEPER_BASE_PATH wie folgt fest:
ZOOKEEPER_BASE_PATH=/mycluster
Verbindungsserver-Einstellungen
Legen Sie die Umgebungsvariable SERVICE_DISCOVERY_BASE_PATH wie unten gezeigt fest. Sie müssen /services nicht angeben, da es in die Konfiguration integriert ist. Dies gilt für AlwaysOn, eMessage und Azure IOT.
SERVICE_DISCOVERY_BASE_PATH=/mycluster
War dies hilfreich?