中央 ZooKeeper クラスタの設定
複数の環境に中央 Apache ZooKeeper を使用するには、各 ThingWorx 高可用性クラスタの ZooKeeper コンフィギュレーションを名前空間にしなければなりません。そうしないと、すべてのコンポーネントが相互に認識できるようになり、不要な場合でも結合する可能性があります。
|
ZooKeeper 名前空間の新規設定は ThingWorx 9.3.0 以上にのみ適用されます。
|
ThingWorx の設定
ThingWorx プラットフォームの設定は、ThingWorx と Apache Ignite の両方の名前空間で設定されなければなりません。
ClusterModeSettings セクションで
ZkNamespace を追加または変更しなければなりません。詳細については、
ThingWorx HA のプラットフォームの設定を参照してください。
"ClusteredModeSettings": {
"ZKNamespace" : "/mycluster",
}
Ignite の address-resolver セクションで basePath を更新します。名前がクラスタモード名と一致している必要はなく、一致していても問題はありません。
"cache": {
"provider-type": "com.thingworx.cache.ignite.IgniteCacheProvider",
"ignite": {
"address-resolver" : {
"type": "zookeeper",
"basePath" : "/mycluster"
}
}
}
Ignite の設定
Ignite を起動するために使用される config.xml で basePath を設定します。名前は ThingWorx Cache の address-resolver セクションで使用されている名前と一致していなければなりません。
<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>
接続サーバーの設定
接続サーバーの場合、サービス検出に使用される basePath は、接続サーバーコンフィギュレーションの discovery セクションで設定できます。値のプレフィックスは、ThingWorx クラスタ設定セクションで使用されている値と一致しており、/services で終わっていなければなりません。これは AlwaysOn、eMessage、および Azure IoT に適用されます。
discovery {
connectionString = "zookeeper:2181"
basePath = "/mycluster/services"
}
コンテナの場合
• ThingWorx の設定
環境変数 ZOOKEEPER_BASE_PATH および IGNITE_ZK_BASE_PATH を設定します。
ZOOKEEPER_BASE_PATH=/mycluster
IGNITE_ZK_BASE_PATH=/mycluster
• Ignite の設定
環境変数 ZOOKEEPER_BASE_PATH を設定します。
ZOOKEEPER_BASE_PATH=/mycluster
• 接続サーバーの設定
環境変数 SERVICE_DISCOVERY_BASE_PATH を以下のように設定します。/services はコンフィギュレーションに組み込まれているため指定する必要はありません。これは AlwaysOn、eMessage、および Azure IoT に適用されます。
SERVICE_DISCOVERY_BASE_PATH=/mycluster