はじめに

Qlik Sense Serverではマルチノード構成により、可用性の確保や拡張性への対応を行うことが可能です。マルチノード構成では「中央ノード(Central Node)」と「子ノード(Rim Node)」の間でデータの同期が行われ、可用性や拡張性への対応だけではなく、地理的に分散したサイトや異なる部門単位にそれぞれノードを配置し、これらの複数ノードをマルチノードとして集中管理する構成を組むことも可能です。

このエントリでは、Qlik Senseマルチノード構成のセットアップ手順をご説明します。

事前の準備

「中央ノード」、「子ノード」としてそれぞれ構成された2台のサーバーが準備されていることを前提に、これらのサーバーをマルチノードとしてセットアップする手順を後段でご説明します。

  • 1台目のサーバーに「中央ノード」の役割としてQlik Sense Serverをインストールします。(通常のスタンドアロンのサーバーとしてのインストールと同様の手順で導入)
  • 2台目のサーバーに「子ノード」の役割としてQlik Sense Serverをインストールします。以下の様にインストール時に「Central Node」のチェックボックスをOFFにすることで、「子ノード」としてQlik Sense Serverをインストールすることが可能です。

image

  • 「中央ノード」のWindowsファイアウォールの設定で以下のポートを開放します。
ポート 説明
443

プロキシ(QPS)の既定サービス ポート(HTTPS利用時)

4244

WindowsでNTLMを使用時のプロキシ(QPS)における内部認証モジュール用既定ポート(HTTPS利用時)

4241

レポジトリ(QRS)間の同期に使用されるマルチノード構成時の通信ポート

4242

レポジトリ(QRS)のサービスポート

5050 スケジューラ (QSS) のマスターの通信ポート
5051 スケジューラ (QSS) スレーブの通信ポート

HTTPを利用する場合には以下のポートを開放します。

ポート 説明
80

プロキシ(QPS)の既定サービス ポート(HTTP利用時)

4248

WindowsでNTLMを使用時のプロキシ(QPS)における内部認証モジュール用既定ポート(HTTP利用時)

他のノード上のプロキシ(QPS)からエンジン(QES)がリクエストを受け取る設定を行うには以下のポートを開放します。

ポート 説明
4747

エンジン (QES) によって利用される通信ポート

  • 「子ノード」のWindowsファイアウォールの設定で以下のポートを開放します。
ポート 説明
4241

レポジトリ(QRS)間の同期に使用されるマルチノード構成時の通信ポート

4242

レポジトリ(QRS)のサービスポート

4444

マルチノード構成時に子ノード上のレポジトリサービス(QRS)が中央ノードQRSから証明書を受信するために使用されるポート

子ノードでプロキシ(QPS)を構成し、HTTPSを利用する場合には以下のポートを開放します。

ポート 説明
443

プロキシ(QPS)の既定サービス ポート(HTTPS利用時)

4244

WindowsでNTLMを使用時のプロキシ(QPS)における内部認証モジュール用既定ポート(HTTPS利用時)

子ノードでプロキシ(QPS)を構成し、HTTPを利用する場合には以下のポートを開放します。

ポート 説明
80

プロキシ(QPS)の既定サービス ポート(HTTP利用時)

4248

WindowsでNTLMを使用時のプロキシ(QPS)における内部認証モジュール用既定ポート(HTTP利用時)

子ノードでスケジューラ(QSS)を構成する場合には以下のポートを開放します。

ポート 説明
5051 スケジューラ (QSS) スレーブの通信ポート

他のノード上のプロキシ(QPS)からエンジン(QES)がリクエストを受け取る設定を行うには以下のポートを開放します。

ポート 説明
4747

エンジン (QES) によって利用される通信ポート

セットアップの手順

マルチノード構成のセットアップ

では、スタンドアロンのサーバーとして構築された「中央ノード」に「子ノード」を追加する手順を以下ご説明します。

1. Qlik Sense ServerのQMC(管理コンソール)から[Configure System] > [Nodes] を選択します。

image

2. [Create new]をクリックします。

image

3. 以下の項目に値を入力し、[Apply]をクリックします。

image

設定項目 説明
Name 任意のノード名を入力。
Host name 子ノードのホスト名を入力。
Node Purpose 「Production」、「Development」、および「Both」から選択。

「Production」を選択した場合にはハブ上ではアプリケーションの新規作成を行うことができません。
image

それに対し、「Development」もしくは「Both」を選択した場合もには、ハブ上に「マイワーク」が表示され、アプリケーションの新規追加や修正を行うことができます。
image

Service Activation 子ノード上で稼働するサービスをRepository (必須)、Engine、 Proxy、Scheduler から選択してONにチェックします。

4. 中央ノードが証明書を送信するために子ノードと通信を開始します。

image

5. 通信が確立されると、通信の認証確認を求めるメッセージウインドウが表示されます。

image

6. 子ノード側のOSにログオンします。ブラウザを開いて以下のURLにアクセスし、前ステップで表示されたパスワードを入力して「Submit」をクリックします。

http://localhost:4570/certificateSetup

image

7. 認証が完了すると「The service was successfully unlocked」のメッセージが表示されます。

image

8. 中央ノードと子ノードの同期が開始され、同期の完了までにしばらく時間が掛ります。QMCの画面に戻り、追加した子ノードのステータスが「running」になるまで待機します。

image

子ノードでのプロキシ設定

子ノードにプロキシ(QPS)を導入し、ハブからユーザーの要求を受け付けるようにするためには以下の追加の設定が必要となります。

1. QMCから[Configure System] > [Proxies] を選択します。

image

2. 子ノードをダブルクリックします。

image

3. HTTPを有効化する場合(デフォルトではHTTPSのみ有効)には、右の「Properties」で「Ports」をONにし、「Allow HTTP」のチェックボックスをONにして「Apply」をクリックします。

image

4. 「Associated items」の「Virtual proxies」をクリックして選択し、表示されたVirtual Proxyをダブルクリックします。

image

5. 右の「Properties」で「Load balancing」をONにし、「Load balancing node」の項目上で「Add new server node」をクリックします。

image

6. Load balancing nodeの対象として設定するノード(通常は子ノード自身)を選択します。プロキシで受け付けられたユーザーリクエストは、ここで設定されたノード上で稼働するエンジン(QES)へ送信されます。

image

7. 右の「Properties」で「Advanced」をONにし、「Websocket origin white list」に子ノードのプロキシにユーザーがアクセスする際に利用するアドレス(ホスト名、IPアドレス、FQDN)を追加します。

image

8. 以下のURLにアクセスし、子ノード上のハブにアクセスできることを確認します。(アクセスするユーザーに事前にライセンストークンが付与されている必要がありますのでご注意ください。)

https://<子ノードのアドレス>/hub

image

 

トラブルシューティング

  • ログファイルは「C:\ProgramData\Qlik\Sense\Log」以下のフォルダに保存されます。その中でも、「Repository\ <machine_name>_Synchronization_Repository.txt」と「Repository\ <machine_name>_ System_Repository.txt」のログファイルにマルチノード同期に関するメッセージが出力されますので、必要に応じてこれらのログをご確認ください。
  • バージョン1.1の時点では、QMCの[Configure System] > [Nodes] 上でマルチノードに追加した子ノードを一旦削除した場合、再度この子ノードをマルチノードに追加するには子ノード上でQlik Sense Serverを再インストールする必要があります。詳細に追加は下記ドキュメントのP.292をご参照ください。

https://help.qlik.com/sense/en-US/pdf/Managing%20a%20Qlik%20Sense%20Site.pdf

まとめ

以上、このエントリではQlik Sense Serverをマルチノードで構成するためのセットアップ手順をご説明しました。