CData Sync のクラスタリング設定
CData Sync のクラスタリング機能を使用すると、複数の Sync インストールを統合されたシステムとして連携させることができます。クラスタリングは、ノード間でワークロードを水平に分散することで、スケーラビリティの向上、高可用性の確保、そしてビルトインのフェイルオーバー保護を実現します。クラスタリングが正しく設定されると、すべての Sync インスタンスが単一の環境のように動作し、設定を共有し、同じジョブを処理し、クラスター全体で一貫した動作を維持します。
Note: Sync はスケジュールされたジョブをノード間で均等に分散します。Admin コンソールまたは REST API から手動で実行されたジョブは、実行時に接続している Sync インスタンス上で実行されます。
概要
クラスタリングのメリットを最大限に活用するには、同じサーバーファーム(クラスター)内の複数のシステムに Sync をインストールする必要があります。各 Sync ノードは、共有アプリケーションディレクトリと共有アプリケーションデータベースを使用するように設定する必要があります。クラスタリングを有効にすると、Sync はジョブの実行をノード間で自動的に分散し、いずれかのノードが利用できなくなった場合でも継続性を確保します。
クラスタリング設定の概要
Sync をクラスタリング用に設定するには、すべての Sync インストールで以下の手順を実行します。
- アプリケーションディレクトリを設定する
- アプリケーションデータベースを設定する
- Settings から Advanced に移動し、Enable Cluster Mode オプションを True に設定する
- 各ノードで Sync を再起動する
CData Sync のクラスタリング設定
クラスター内の各ノードに Sync をインストールしたら、アプリケーションディレクトリとアプリケーションデータベースの両方を設定する必要があります。その後、各 Sync インストールが同じ共有アプリケーションディレクトリと同じ共有アプリケーションデータベースを使用するように設定されていることを確認してください。これにより、すべてのノード間で一貫性が確保され、同じ設定とメタデータから動作できるようになります。
Note: ジョブをノード間で正しく分散するには、すべてのシステムが同じタイムゾーンを使用するように設定され、クロックが少なくとも秒単位の精度で同期されていることを確認してください。
アプリケーションディレクトリの設定
アプリケーションディレクトリには、Sync のすべての設定データと運用ファイルが保存されます。クラスター環境では、すべての Sync インスタンスが同じアプリケーションディレクトリを使用する必要があります。また、Sync はこの共有ロケーションに対する完全な読み取りおよび書き込みアクセス権を持っている必要があります。
アプリケーションディレクトリの設定手順:
使用するサーバーに応じて、以下のようにアプリケーションディレクトリを設定します。
組み込み Jetty サーバーを使用したクロスプラットフォーム版
組み込み Jetty サーバーを使用する場合は、以下の手順でアプリケーションディレクトリを設定します。
- Sync の InstallationDirectory にある sync.properties ファイルを開きます。ファイルが存在しない場合は、ドキュメントの「Generating the sync.properties File」セクションの手順に従って生成します
- AppDirectory 環境変数にディレクトリパスを設定します:
cdata.app.directory=/mnt/shared/sync
Sync がこのディレクトリにアクセスでき、必要な読み取り/書き込み権限がある場合、共有データディレクトリを作成して使用します。
外部サーバーを使用したクロスプラットフォーム版
Sync を外部サーブレットコンテナ内にデプロイする場合は、サーバーがサポートする構文を使用してアプリケーションディレクトリを設定します。AppDirectory 環境変数に目的の共有ディレクトリパスを設定します。Sync は、十分な読み取りおよび書き込みアクセス権がある限り、このディレクトリを使用します。
アプリケーションデータベースの設定
アプリケーションデータベースには、Sync のジョブ設定、接続定義、ログデータ、その他のメタデータが保存されます。クラスター環境では、すべてのノードが同じ共有アプリケーションデータベースを使用する必要があります。
アプリケーションデータベースの設定手順:
使用するサーバーに応じて、以下のようにアプリケーションデータベースを設定します。
組み込み Jetty サーバーを使用したクロスプラットフォーム版
組み込み Jetty サーバーを使用する場合にアプリケーションデータベースを設定するには、インストールディレクトリ内の sync.properties ファイルを開きます。このファイルで、APP_DB 環境変数にデータベースの適切な接続パラメータを含む JDBC 接続文字列を設定します。サポートされているデータベースの例は以下のとおりです:
-
MySQL
cdata.app.db=jdbc:cdata:mysql:server=localhost;port=3306;database=mysql;user=MyUserName;password=MyPassword;useconnectionpooling=true
-
PostgreSQL
cdata.app.db=jdbc:cdata:postgresql:server=localhost;port=5432;database=postgresql;user=MyUserName;password=MyPassword;useconnectionpooling=true
- SQL Server
cdata.app.db=jdbc:cdata:sql:server=localhost;database=sqlserver;user=MyUserName;password=MyPassword;useconnectionpooling=true
Sync が cdata.app.db 接続文字列を使用して正常に接続を確立できる場合、そのデータベースをクラスターのアプリケーションデータベースとして使用します。
外部サーバーを使用したクロスプラットフォーム版
Sync を外部サーブレットコンテナ内にデプロイする場合は、以下のいずれかの方法でアプリケーションデータベースを設定できます。
- データベース接続プロパティを含む Java Naming and Directory Interface(JNDI)データソースを定義する
- APP_DB 環境変数に JDBC 接続文字列を設定する
Sync が JNDI データソースまたは APP_DB 接続文字列のいずれかを使用してデータベースに接続できる場合、そのデータベースをアプリケーションデータベースとして使用します。
クラスター設定の有効化
すべてのノードが同じアプリケーションディレクトリとアプリケーションデータベースを使用するように設定したら、各 Sync インスタンスで Settings から Advanced に移動し、Enable Cluster Mode を True に設定してクラスターモードを有効にします。その後、各インストールを再起動します。ノードがオンラインに戻ると、設定を共有し、スケジュールされたジョブを分散し、環境全体で信頼性の高いデータ統合を確保する統合された Sync クラスターとして動作します。
CData Sync の 30 日間の無料トライアルをお試しいただき、すべてのシステム間でのスケーラブルでレジリエントな効率的なデータ移動をご体験ください。