QlikView Server のクラスタ化

本章では、クラスタ化された障害への適応力のある QlikView Server の構成を構築するためのアーキテクチャおよびインストール要件とオプションについて説明します。

次の図は、クラスター化および負荷分散化された QlikView Server の構成を示しています。

次の図は、障害への適応力を備え、クラスター化および負荷分散化された QlikView Server の構成を示しています。ここでは AccessPoint 負荷分散が使用されています。

QlikView Server のロード バランス機能は QlikView Web ポータルの AccessPoint に含まれています。本章では、適宜、ネットワーク ロード バランスを使用して、このコンポーネントに障害への適応力をつける方法を説明します。

QlikView Server をクラスタ化する理由

QlikView Server をクラスタ化することにより、以下の目標を達成できます。

水平ユーザー スケーラビリティ

単一の QlikView Server によって提供できるよりも多くのリソースが必要な場合は、サーバーを追加することができます。たとえば、サーバーが 100 人の同時ユーザーをサポートできる場合に 200 人の同時ユーザーをサポートしなくてはならないのであれば、サーバーを追加できます。この場合、最初の 100 人のユーザーをサーバー A、次の 100 人をサーバー B に割り当てることができます。また、障害への対応力を備えるようにサーバーをクラスター化することも可能です。

障害への適応力

ユーザー数が増えると、QlikView へのユーザーの依存も高まります。QlikView Server をクラスタ化すると、構成に障害への適応力を組み込むことができます。単一のサーバーは 100 人のユーザーをサポートできる上記の例の場合、3 台のサーバーが構成に障害への適応力を組み込むために使用されます。これにより、1 台のサーバーを使えなくなっても (ハードウェアの故障など)、システムはまだ 200 人のユーザーをサポートできます。3 台のサーバーすべてがアクティブなノードであれば、すべてのサーバーを 100% 稼働させなくても応答時間を短縮することができます。また、ノードが停止した場合に影響を受けるユーザーの数も限定されます。

QlikView には、セッション復元機能がありません。実際のところ、QlikView クラスターのノードが停止すると、ユーザーが実行中の分析も失われます。そのため、クラスターに再接続して作業を再開しなくてはなりません。これは、QlikView アプリケーション内のデータが失われ、リロードする必要があるということではありません。データはファイル システムの .qvw ファイルに保存されているためです。失われるのは、アプリケーションで行った選択のみです。

負荷分散

QlikView の構成では、QVS クラスター内にあるすべてのマシンの能力をフル活用するために、負荷分散アルゴリズムを採用しています。AccessPoint が動作する Web サーバーにより、どの QVS を使うかが決定されます。QVS の負荷分散方法には、3 つのオプションがあります。「QVS の負荷分散オプション」を参照してください。

クラスタ化された QlikView 構成の要件

クラスター化された QlikView 構成の構築には、3 つの高レベルの要件があります。

  1. クラスタ化された QlikView Server のライセンス キー
  2. ルートフォルダー用の共有ストレージ領域
  3. 同じビルド番号

クラスタ化された QlikView Server のライセンス キー

クラスタ化された環境では、QlikView Server マシンは同じライセンス キーを使ってインストールされます。これはクラスタ化できるよう有効にしておかなくてはなりません。ライセンス認証ファイル (LEF) で以下のエントリを調べると確認できます。

NUMBER_OF_CLUSTER_NODES; 2(クラスタ内のノード数)

クラスタ化された QlikView Server は共有ストレージを介して構成とライセンス情報をサーバー間で共有するため、構成およびライセンス管理はすべてのノードで QlikView Management Console (QMC) から 1 回だけ実行する必要があります。

サーバーは同じネットワーク サブネット上にインストールし、ルート ドキュメント ディレクトリを共有しなくてはなりません。これは共有ネットワーク ストレージの要件になります。構成情報は Persistent Global Objects (.pgo) ファイルに保存されます。

10 分たってもサーバーを起動またはリセットできない場合は、上記の LEF エントリをチェックしてください。これは通常、許可されている数よりも多くのマシンに QlikView Serverがインストールされていることを示しています。

共有ネットワーク ストレージ

共有ネットワーク ストレージは上記の .pgo ファイルだけではなく、クラスタで必要な QlikView アプリケーションのストレージでも必要です。これにより、クラスタのノード全体で共有する協同オブジェクトも有効になります (.shared ファイルを使用)。

QlikView では、ドキュメント (.qvw ファイル)、.pgo.meta.shared ファイルのストレージを Windows ベースのファイル シェアでホストする必要があります。他のタイプのシステムでのファイルのホストはサポートされておらず、不安定な QVS クラスタが作成され、CAL が消失して QVS が止まる可能性があります。QlikView は QlikView Server から共有された SAN の使用をサポートしています。

注: QlikView では、Windows Distributed File System (DFS) をサポートしていません。

QVS の負荷分散オプション

QVS では、3 つの負荷分散戦略をサポートしています。

  • ランダム (Random) (デフォルト設定):ラウンド ロビン タイプの戦略で、セッションがクラスタのノード全体で配布されるため、ほとんどのユーザーに適しています。
  • ロード済みドキュメント (Loaded document):同じドキュメントのセッションが同じサーバーにルーティングされている場合に使用されます。この戦略は、クラスタ内の単一のノードよりも多いドキュメントを取り扱うことができる構成向けです。AccessPoint は、ドキュメントがすでにロードされているかどうか、またサーバー上で利用できる RAM の容量に基づいて決定を下します。
  • RAM がオーバーロードしているCPU (CPU with RAM overload):QlikView Web Server (QVWS) は、(1) RAM と (2) CPU 使用率という 2 つの要素に基づいてトラフィックをルーティングできます。ノードは以下の基準を使用して選ばれます。
    • すべての利用可能なノードで RAM をすでに利用 (低レベル) できる場合は、最低 CPU 使用率のノードを選択します。
    • 利用可能なあらゆるノードで RAM の使用量が中程度の場合は、利用可能な RAM が最も多いノードを選びます。

QVS の負荷分散戦略は、QMC で [システム] > [設定 (Setup)] > [QlikView Web Servers] と進むと設定できます。[AccessPoint] タブで Web サーバーを選択します。

Web サーバーの負荷分散

ネットワーク ロード バランサーは AccessPoint の障害への適応力を提供し、利用可能な AccessPoint サーバーにセッションをルーティングします。この機能は、サードパーティのソフトウェアとハードウェアによるものです。

ロード バランサーに関してはいくつかの要件があります。

  • 「スティッキー セッション」のサポート:通常はクッキーを使い、ユーザーのセッションをクラスター内の同じノードで存続できます。
  • 利用設定 (Availability):ロード バランサーは AccessPoint の Web サーバーと QlikView サーバーの利用設定をチェックします。
  • ロード バランス アルゴリズムの何らかの形で、どのサーバーのロードが最も少ないか判定します。

スティッキー セッション

ユーザーのセッションを一貫して同じサーバーにルーティングすることが要件になっています。これを行う方法はデバイスによって異なります。利用可能なオプションについては、ロード バランサー文書を参照してください。

利用設定のチェック

AccessPoint の特別な Web ページでは、システムのステータスを自動的にチェックできます。

http://myAccessPoint/QvAjaxZfc/QvsStatus.aspx

AccessPoint とクラスタ内の少なくとも 1 つの QlikView Server が応答する場合、このページは 200 の http ステータス コードを戻します。このページが返すその他のステータス コードは、エラーとみなされます。このページの一般的なエラーには以下のようなものがあります。

  • 404:AccessPoint は応答できません。Web サーバーの設定を確認します。
  • 503:QlikView Server は AccessPoint に応答しないため、ユーザーのリクエストに対応できません。

QlikView Server クラスタのステータスも Web ページに表示されます。

QlikView クラスタの構築とインストール

QMC を使用して QlikView Server クラスタを構成、有効化するには、以下の手順に従ってください。

  1. クラスタに最初の QlikView Server をインストールしてライセンスを授与します。これは、QlikView Serverの最初のコピーです。
  2. クラスター内のすべての QlikView Server がアクセスできるファイル システム上のフォルダーを指すように、ドキュメント フォルダーを構成します。
  3. クラスタに次の QlikView Server をインストールします。
  4. すべての QlikView サービスがローカル管理者として実行され、「QlikView Administrators」ローカル グループのメンバーであることを確認します。
  5. QMC で [システム (System)] > [設定 (Setup)] を開き、サーバーを選択します。その後、[基本設定 (General)] タブに進み、ライセンスのコントロール番号と、クラスタの 2 番目の QlikView Server へのアドレスを入力します。
  6. クラスターの名前を適切な名前に変更します。
  7. クラスタの QlikView Server ノードでステップ 3~5 を繰り返します。
  8. AccessPoint の設定で、クラスタが [サーバー接続 (Server Connections)] で選択されていることを確認します。
  9. これでクラスタの設定は終了し、使用準備が整いました。