ThingWorx HA 用 ZooKeeper のインストールおよび設定
Apache ZooKeeper は分散アプリケーションの同期化を管理するためのオープンソースソリューションです。ThingWorx ノードの監視およびリーダー選出サービスが提供されます。HA 構成では 3 つ以上の ZooKeeper ノードが推奨されます。クォーラムを維持するには、ZooKeeper インスタンスの数が奇数である必要があります。インスタンスの数が多いほど、より高い可用性が提供されます。
ZooKeeper はどのように使用されるか
接続サーバー、ThingWorx Foundation、Ignite はすべて、サービス検出に ZooKeeper を使用します。サービス検出とは、あるアプリケーションが別のアプリケーションのインスタンスを自動的に検出し、使用可能なサーバーの変化に対応する機能のことです。
ThingWorx Foundation は ThingWorx ノード間の調整に ZooKeeper を使用します。これはシングルトン選択に使用され、基本的には、タスクが複数回実行されないように、ノード間のスケジュールとタイマーが調整されます。動作がクラスタ内で制御されるようにするための機能調整にも使用されます。
ZooKeeper の展開
Zookeeper をインストールする前に、必要条件となる Java などのソフトウェアのドキュメンテーションを含め、インストールに関するすべてのドキュメントを読んで理解します。セキュリティに関する推奨事項を含め、適切な設定について理解し、適用することが重要です。ZooKeeper 用の Java をインストールする際には、クライアントによって開始された再ネゴシエーション (つまり jdk.tls.rejectClientInitiatedRenegotiation=true) を無効にすることをお勧めします。
ダウンロード
ZooKeeper は
http://zookeeper.apache.org/releases.html からダウンロードできます。バージョン互換性情報については、PTC
リリースアドバイザーを参照してください。
サポートされるプラットフォームおよびソフトウェアの要件
ZooKeeper の展開のガイドラインについては、その管理ガイド (
https://zookeeper.apache.org の
「Documentation」) を参照してください。このガイドには、サポートされているプラットフォームと必要なソフトウェアが記載されています。ThingWorx HA では、クラスタ化された (マルチサーバー) 設定の ZooKeeper を展開する必要があります。Apache は ZooKeeper クラスタをアンサンブルと呼んでいます。
ネットワーク
クライアントポート 2181 がこのサーバーと Ignite、接続サーバー、および ThingWorx Foundation の間で開いていなければなりません。個々の ZooKeeper ノード間で以下に示すその他のポートが必要です。
ポート
|
用途
|
2181
|
ZooKeeper クライアントが ZooKeeper サーバーに接続するときに使用
|
2888
|
ピア ZooKeeper サーバーが相互に通信するときに使用
|
3888
|
リーダー選出に使用
|
8080
|
管理 (有効な場合にのみ、zoo.cfg で admin.serverPort を設定することによって変更できます)
|