標準モードのデプロイ

注釈

グローバル管理者、昇格管理者、および昇格ユーザーのみがリビジョンをデプロイできます。詳細については、「 認可 」を参照してください。

デプロイプロセスでは、環境内の Denodo サーバーで、1 つまたは複数のリビジョンに定義された変更をすべて実行します。具体的には次のとおりです。

  • リビジョンに Virtual DataPort エレメントが含まれる場合、対応する VQL は、環境に属しているすべての有効な Virtual DataPort サーバーで実行されます。

  • リビジョンに Scheduler のジョブが含まれる場合、これらのジョブは、環境に属している有効なクラスターそれぞれで最初の有効な Scheduler サーバーで作成される (CREATE リビジョンの場合) か、そのサーバーから削除されます (DROP リビジョンの場合)。 CREATE リビジョンをデプロイする場合、Scheduler のジョブは、リビジョンで実行対象のマークが付けられている場合に実行されます。

  • 環境に Data Catalog サーバーの同期が構成されている場合、対応する Data Catalog サーバーのメタデータは、指定されている構成に従って同期されます。

Solution Manager は、まず 1 つのサーバーですべてのリビジョンを実行してから、次のサーバーの処理に進みます。サーバーが選択される順序は、カタログでサーバーがどのように編成されているかによって異なります。このため、ターゲット環境で最初の有効なクラスターにある最初の有効なサーバーが、最初にメタデータが更新されるサーバーになります。

重要

無効になっているクラスター、および有効な Virtual DataPort サーバーがないクラスターは、デプロイプロセス中は無視されます。

重要

Scheduler のジョブは、環境の有効な各クラスターの最初の有効な Scheduler サーバーでのみ、作成または削除され、必要に応じて実行されます。

Scheduler のジョブは、クラスターの最初の Virtual DataPort サーバーで変更がデプロイされた後に実行されます。

Scheduler の各ジョブが適切に動作するには、ジョブがクラスター内の最初の有効な Virtual DataPort サーバーを参照している必要があります 。これにより、Scheduler のジョブは、スキーマに変更があったビューを読み込む場合に適切に完了するようになります。

次の図は、一般的なデプロイプロセスの基本手順の概要を示しています。

Basic steps of a deployment process

デプロイプロセスの基本手順

デプロイプロセス中に実際に実行されるアクションは、ターゲット環境の デプロイ構成 で定義されます。

1 つ以上のリビジョンをデプロイする には、 [Revisions] テーブル から deploy-text-btn ボタンまたは deploy-btn ボタンを使用する必要があることを忘れないでください。

デプロイの前提条件

Solution Manager は、リビジョンをデプロイする前に以下を確認します。

  1. ユーザーが以下のいずれかの権限を持っている。

    • グローバル権限「 昇格管理者

    • グローバル権限「 昇格

    • ターゲット環境に対する Deploy 権限

  2. ターゲット環境の構成でデプロイが有効になっている。

  3. ターゲット環境に他に進行中のデプロイがない。

  4. ターゲット環境に、有効な Virtual DataPort サーバーが 1 つ以上含まれる有効なクラスターが 1 つ以上ある。

  5. リビジョンに Scheduler ジョブが 1 つ以上含まれる場合、環境内の有効なクラスターそれぞれに有効な Scheduler サーバーが 1 つ以上ある。

  6. ターゲット環境の デプロイ 構成で Data Catalog の同期が有効になっている場合、この環境に Data Catalog が 1 つ以上登録されている。

  7. ターゲット環境でリビジョンの Virtual DataPort プロパティがすべて定義されている。

    ターゲット環境で不足しているプロパティがある場合は、この段階で検証の詳細を確認できます。詳細については、「 リビジョンの検証 」および「 リビジョンのデプロイ 」を参照してください。

  8. 有効な Scheduler サーバーが含まれる、ターゲット環境の有効なクラスターすべてで、リビジョンの Scheduler プロパティがすべて定義されている。

    ターゲット環境のクラスターで不足しているプロパティがある場合は、この時点で検証の詳細を確認できます。詳細については、「 リビジョンの検証 」および「 リビジョンのデプロイ 」を参照してください。

  9. サーバーにトークン認証が構成されている。詳細については、 Denodo Security Token の構成方法 に関するセクションを参照してください。

  10. 環境の構成が現在の環境のトポロジーに一致している。

さらに、Solution Manager は、環境の デプロイ構成 に応じて別の検証も実行します。これらの検証について、以下のセクションで説明します。

デプロイのパラダイム

Solution Manager には、デプロイプロセスを実行するためのオプションが複数用意されています。このセクションでは、それぞれのオプションの利点とトレードオフを評価します。

単純なデプロイ

このオプションでは、デプロイプロセス全体で アプリケーションサービスが使用できなくなる ことが前提となっています。このオプションは、オフライン昇格シナリオが対象です。

Solution Manager は、ロードバランサーでクラスターまたはサーバーを明示的に無効にすることなく、対応するサーバーすべてにリビジョンをデプロイします。

単純なデプロイでは、追加の検証を実行する必要はありません。

Simple deployment scenario

単純なデプロイのシナリオ

サービス中断なしのデプロイ

このオプションはオンライン昇格シナリオが対象で、デプロイプロセス中もアプリケーションサービスは使用可能なままです。ただし、旧バージョンのメタデータを使用するサーバーと新バージョンのメタデータを使用するサーバーが同時にサービスを提供する可能性があるため、デプロイの進行中に不整合が生じることがあります。

アプリケーションサービスを維持するために、Solution Manager は、ロードバランサーで Virtual DataPort サーバーまたはクラスターを無効にし、デプロイの完了時に再び有効にするスクリプトを実行します。ロードバランサーとのやり取りを制御するための昇格戦略は次のように 2 つあります。

  • One by one: 昇格は増分的に実行されます。一度に 1 つのサーバーまたはクラスターのみが無効になります (その後、有効になります)。これにより、 不整合の状態が長く なります。不整合の状態は、ターゲット環境内のクラスターまたはサーバーの数が多いほど、長くなります。

Promotion strategy one by one

1 つずつの昇格戦略

  • Half by half: この戦略では、サーバーまたはクラスターの半分が同時に無効になります (その後、有効になります)。これにより、 不整合の状態は短く なります。

Promotion strategy half by half

半分ずつの昇格戦略

昇格戦略はデプロイプロセスの所要時間には影響しません。ロードバランサーで同時に無効にするサーバーまたはクラスターの数にかかわらず、最終的なサーバーは 1 つずつ更新されます。

重要

Solution Manager は、デプロイプロセスが正常に完了したサーバーのみを有効にします。同様に、すべてのサーバーのデプロイプロセスが正常に完了したクラスターのみを有効にします。

サービス中断なしのデプロイに使用可能なオプションは、ターゲット環境のトポロジーによって異なります。

アクティブ/パッシブ負荷分散に関する考慮事項

アクティブ/パッシブクラスターは、1 つまたは複数のアクティブサーバー、1 つまたは複数のパッシブスタンバイサーバー、およびフェイルオーバーが必要なタイミングを判断する 1 つのロードバランサーで構成されます。

このようなアーキテクチャの環境の場合、各クラスター内でサーバーを作成または順序付けする際には、 パッシブサーバーをアクティブサーバーの前 に配置することをお勧めします。

単一クラスター環境でのサービス中断なしのデプロイ

このシナリオは、1 つ以上の Virtual DataPort サーバーで構成される クラスターが 1 つだけ 含まれる環境を対象としています。この場合、Solution Manager Administration Tool で以下を構成できます。

  • サーバー昇格戦略 。このポリシーにより、ロードバランサーで Virtual DataPort サーバーを 1 つずつ無効にするか、それとも半分ずつ無効にするかを設定します。

  • セカンダリ共有キャッシュ を使用可能にするかどうか。これを有効にする場合、メインキャッシュおよびセカンダリキャッシュの URL を指定する必要があります。

セカンダリ共有キャッシュのオプションは、すべてのサーバー間でキャッシュを共有するシナリオで有用です。このオプションを有効にしたデプロイでは、Solution Manager は以下を行います。

  1. 新しいキャッシュの URL の計算 。まず Solution Manager は、2 つの共有キャッシュのいずれ (プライマリまたはセカンダリ) が最初の Virtual DataPort サーバーに構成されているかを検出します。他方のキャッシュ、つまり現在使用されていない方のキャッシュが新しい共有キャッシュとして選択されます。

  2. キャッシュの切り替え 。Virtual DataPort サーバーにすべてのリビジョンをデプロイする前に、各サーバーを新しいキャッシュに切り替えます。

  3. すべての Scheduler VDP Cache ジョブの実行 。これは、最初の Virtual DataPort サーバーにリビジョンをデプロイした後にキャッシュにデータを取り込むために行います。

Single cluster with shared cache

共有キャッシュを使用する単一クラスター

重要

セカンダリ共有キャッシュのオプションは、Scheduler の VDP Cache ジョブを含む CREATE リビジョンが 1 つ以上含まれるデプロイにのみ適用されます。

重要

現在、 キャッシュ切り替えプロセスは、グローバルキャッシュに限定されています 。つまり、特定のデータベースに定義されるキャッシュは対象ではありません。

このシナリオでは、Solution Manager は以下のような追加の検証を実行します。

  • ターゲット環境に、ロードバランサーで Virtual DataPort サーバーを有効/無効にするためのスクリプトが提供されている

  • デプロイのターゲット環境に属するすべての Virtual DataPort サーバーとクラスターについて、 スクリプトの引数として使用する負荷分散変数すべてに値が定義されている

  • セカンダリ共有キャッシュが有効で、少なくとも 1 つの CREATE リビジョンに Scheduler の VDP Cache ジョブが含まれる場合、 すべての Virtual DataPort サーバーでキャッシュが有効になっている

複数クラスター環境でのサービス中断なしのデプロイ

このシナリオは、1 つ以上の Virtual DataPort サーバーで構成される クラスターが複数 存在する環境を対象としています。この場合、Solution Manager Administration Tool で クラスター昇格戦略 を構成できます。このポリシーにより、Virtual DataPort サーバーが含まれるクラスターをロードバランサーで 1 つずつ無効にするか、それとも半分ずつ無効にするかを設定します。

このシナリオでは、Solution Manager は以下のような追加の検証を実行します。

  • ターゲット環境に、ロードバランサーで クラスターを有効/無効にするためのスクリプトが提供されている

  • デプロイのターゲット環境に属するすべてのクラスターについて、 スクリプトの引数として使用する負荷分散変数すべてに値が定義されている

注釈

スクリプトの実行時に、実行時間が <SOLUTION_MANAGER_HOME>/conf/solution-manager/SMConfigurationParameters.properties ファイルの com.denodo.solutionmanager.scripts.timeoutInSeconds プロパティで定義されたタイムアウトに達すると、スクリプトは失敗します。このタイムアウトの単位は秒です。スクリプトで実行に時間がかかる複雑な操作を実行する場合は、このタイムアウトの値を大きくしてください。

キャッシュに関する制限事項

Solution Manager には、キャッシュに関連して以下の制限事項があります。

  • クラスターレベルで Virtual DataPort のプロパティを定義することはできません。 複数クラスター環境のキャッシュデータソース の場合、 キャッシュを手動で構成する 必要があります。このような制限があるため、 CREATE リビジョンにはキャッシュデータソースを含めないでください。キャッシュデータソースを含めると、デプロイプロセス中にすべてのクラスターのキャッシュ構成が上書きされ、いずれかのクラスターのステータスが不整合になる可能性があります。キャッシュデータソースを含めたリビジョンをデプロイしようとすると、Solution Manager によって以下の警告メッセージが表示されます。

Warning message when deploying revisions with cache data source a in multi-cluster environment

複数クラスター環境に、キャッシュデータソースが含まれるリビジョンをデプロイする際に表示される警告メッセージ

  • キャッシュ切り替えプロセス (単一クラスターでキャッシュ切り替えが有効になっている環境へのデプロイの場合) は、 グローバルキャッシュでのみ機能します (特定のデータベースに定義されているキャッシュでは機能しません)。