クラスターのインストールと設定

Version 22.0.8483


クラスターのインストールと設定


クラスタリングは複数のCData Sync が連携し、同一の設定で共通のジョブを実行可能にします。ワークロードはクラスター化したSync インストール機器に同等に分散し、スケーラビリティを向上させ可用性を確保します。

クラスタリングについて

Sync でサポートされている高可用性とフェイルオーバー機能を利用するには、同じサーバーファーム(同じクラスター)内の複数のシステムにアプリケーションをインストールする必要があります。クラスタリングを行うように設定した場合、サーバーファームの各Sync インストール機器は同じアプリケーション設定を使用し、各サーバー間でジョブの実行を分散させます

その結果、アプリケーションの複数のインスタンスが1つのインスタンスのように動作し、特定のインスタンスが落ちてもクラスターのパフォーマンスを低下させることはありません。

クラスタリングのためのCData Sync の設定

クラスターの各ノードにSync をインストールしたのち、各インストール機器が同じアプリケーションデータベースおよびアプリケーションデータディレクトリを使用するように設定する必要があります。データベースおよびディレクトリのセットアップ後、Sync の設定 -> Advanced に移動してクラスターモードを有効化True に設定します。

アプリケーションディレクトリ

Sync は、すべての設定データおよびアプリケーションデータをディスク上のデータディレクトリ(フォルダ)に保存します。クラスタリングする場合、Sync の各インスタンスは同じデータディレクトリを使用するように設定する必要があります。この設定により、アプリケーションのすべてのインスタンスが同じファイルを実行し、同じ設定を使用することが保証されます。

Windows 版

Windows 版でアプリケーションデータディレクトリを設定するには、AppDirectory 環境変数に、ディレクトリを作成するパスを設定する必要があります。これを実現するには、インストールディレクトリ(InstallationDirectory)内のwww フォルダにあるWeb.Config ファイルを編集します。このファイルにはAppDirectory というXML 要素が含まれ、コメントアウトされています。AppDirectory の下にappSettings という要素があり、ここでカスタムデータディレクトリの場所を指定できます。appSettings 要素の例は次のとおりです。

<!-- appSettings>
  <add key="AppDirectory" value="C:\\directory\\subdirectory\\subdirectory\\" />
</appSettings -->

appSettings 要素のコメントデリミタを削除してAppDirectory キー値をデータディレクトリのディスク上の適切なパスに設定します。Sync がパスを特定でき、その場所に読み取りと書き込みの適切なアクセス許可がある場合、指定されたディレクトリ内にデータフォルダを作成します。

組み込みJava サーバー

Java 版を組み込みJetty サーバーで使用する場合、アプリケーションデータベースは_InstallationDirectory_ にあるsync.properties ファイルに設定されます。このサーバー設定ファイル内で、AppDirectory 環境変数に希望するディレクトリのパスを設定する必要があります。次の例は、マウントされたドライブ上の共有フォルダにデータディレクトリを設定した場合を示しています。

cdata.app.directory=/mnt/shared/sync

Sync がパスを特定でき、その場所に読み取りと書き込みの適切なアクセス許可がある場合、指定されたディレクトリ内にデータフォルダを作成します。

外部Java サーバー

Java 版を外部のサーブレットで使用する場合、アプリケーションのデータベースの設定の詳細は使用する特定のサーブレットに依存します。特定のサーブレットに適した構文を使用して、AppDirectory 環境変数を希望するディレクトリのパスに設定する必要があります。

Sync がAppDirectory パスを特定でき、その場所に読み取りと書き込みの適切なアクセス許可がある場合、指定されたディレクトリ内にデータフォルダを作成します。

アプリケーションデータベース

Sync は、アプリケーションデータ(ジョブ、接続など)とログ情報を保存するためにデータベースを使用します。Sync の各インスタンスは同じアプリケーションデータベースを使用するように設定する必要があります。そうすることで、各インスタンスがすべてのジョブ情報にアクセスできるようになります。

Windows 版

Windows 版でアプリケーションデータベースを設定するには、AppDb 環境変数が適切な接続文字列とプロバイダーを含むよう設定する必要があります。これを実現するには、インストールディレクトリ内のwww フォルダにあるWeb.Config ファイルを編集します。このファイルにはconnectionStrings というXML 要素が含まれ、コメントアウトされています。connectionStrings 要素の例は次のとおりです。

<!-- connectionStrings>
  <add 
    name="AppDb" 
    connectionString="server=SQLSERVER_LOCATION;database=DATABASE_NAME;uid=USER_ID;password=PASSWORD;" 
    providerName="System.Data.SqlClient"
  />
</connectionStrings -->

connectionStrings 要素のコメントデリミタを削除して、connectionString およびproviderName属性を、使用するデータベースの適切な接続パラメータに設定します。Sync がこの接続文字列で正常に接続を確立できる場合、このデータベースをアプリケーションデータベースとして使用します。

Sync は以下のプロバイダーをサポートしています。

  • System.Data.SqlClient

  • System.Data.CData.MySQL

  • System.Data.CData.PostgreSQL

Java 版

次の2つの方法でJava 版を設定できます。

  • アプリケーションに付属するJetty サーバーの使用

  • 外部サーブレットの使用

組み込みJava サーバー

Java 版を組み込みJetty サーバーで使用する場合、アプリケーションデータベースは_InstallationDirectory_ にあるsync.properties ファイルに設定されます。このサーバー設定ファイル内で、APP_DB 環境変数に、使用したいデータベースの適切な接続パラメータを含むJava Database Connectivity(JDBC)接続文字列を設定する必要があります。環境変数にJDBC 接続文字列を設定する例は以下のとおりです。

cdata.app.db=jdbc:mysql:Server=MySQLServer;Port=3306;Database=mysql;User=User;Password=Password;UseConnectionPooling=true;

Sync がcdata.app.db 接続文字列で正常に接続を確立できる場合、そのデータベースをアプリケーションデータベースとして使用します。

外部Java サーバー

Java 版を外部のサーブレットで使用する場合、アプリケーションのデータベースの設定の詳細は使用される特定のサーブレットに依存します。特定のサーブレットに適した構文を使用して、サーバーを設定する際のアプローチを次のいずれかから選択します。

  • ターゲットデータベースの接続プロパティを含むJava Naming and Directory Interface(JNDI)データソースを定義。

  • APP_DB 環境変数をJDBC 接続文字列に設定。

Sync がJNDI データソースまたはAPP_DB 接続文字列を使用してデータベースに接続できる場合、そのデータベースをアプリケーションデータベースとして使用します。