RESEARCHモジュールへの新しいクラスタの追加
このハウツーでは、RESEARCHクラスタ環境を構築および設定する方法について段階的に説明します。これには、スケジューラノードとセントラル間のフェールオーバーオプション、および/または2つのセントラルノード間のフェールオーバーが含まれ、高可用性を実現します。
はじめに
データ量が増加し、ビジネスロジックがより複雑になるにつれて、結果を計算してユーザーに提供するために追加のリソースが必要になります。シングルノード(小)サイトを使用すると、時間の経過とともにパフォーマンスが低下し、RESEARCHモジュールの信頼性と品質がBriefCam損なわれる可能性があります。
この問題に対処するために、RESEARCHモジュールクラスタが分散アーキテクチャとして採用され、RESEARCHサイト全体を制御するメインのRESEARCHサーバーからのデータとアプリケーションの負荷を軽減します。セントラルノード(マネージャとも呼ばれます)は、スケジューラノードまたは「作業者」と呼ばれるセカンダリマシンにタスクの一部を委任します。マネージャからタスクIDを受け取ると、作業者はローカルリポジトリデータベースからタスクを読み取り、必要な計算を実行します。タスクが完了すると、作業者はマネージャーにタスクの状態(成功または失敗)を返します。
スケジューラノードのハードウェア仕様
スケジューラノードの最小要件は次のとおりです。
CPU | 2 x Intel(R) Xeon(R) Gold 6234 CPU @ 3.30 GHz (32 vCPU) |
メモリ | 512 GB |
ストレージ | 2 x 100 GB SSD 1 x 25.5 TB SSD容量ドライブ |
実装手順
RESEARCHモジュールへの新しいクラスタの追加
RESEARCHモジュールに新しいクラスタを追加するには、以下を実行します。
ファイルエクスプローラとブラウザの両方で次のパスを開き、既存のQlikサーバーが新しいサーバーからアクセスできることを確認します。 。
\\[QlikServer]\qlikshare新しいサーバーでファイアウォールとアンチウイルスが無効になっていることを確認します。
PostgreSQL Unicode(x64)ドライバーがインストールされていることを確認します。これは、次のステップで2つのODBC接続を作成するために必要になります。
ODBC接続を2つ追加します。
RESEARCHおよびRESEARCHPostgreSQL。
RESEARCHODBC接続の場合、データベースをBriefCamデータベースサーバーにマッピングします。
RESEARCHPostgreSQLODBC接続では、データベースをRESEARCHデータベースサーバーにマッピングします。
* 第2のRESEARCHマシンがPostgresデータベースにアクセスできるようにするには、第1のRESEARCHマシンでポート4432を着信で開く必要があります。
サービスアカウントユーザーを作成します(デフォルトでは、BCUserQlikサービスを実行するユーザーです)。 Computer Management(コンピュータの管理)で、ユーザーがAdministrators(管理者)グループに入っていることを確認します。
上記の手順で作成したサービスアカウントユーザーが、サービスとしてログオンするローカルポリシーに含まれていることを確認します。

Qlikバニラインストーラをダウンロードします(Gitアカウントのhttps://github.com/qlik-download/qlik-sense-server/releasesにあります)。 既存のサーバーにインストールされているバージョンと同じであることが重要です。
2022年5月のQlikバージョンをインストールする場合は、次のリンクから.NET 4.8フレームワークランタイムをダウンロードしてインストールしてください: https://dotnet.microsoft.com/en-us/download/dotnet-framework/net48。
既存のQlikサーバーで、Windowsサービスを開き、すべてのQlikサービスを停止します。
ProgramData\Qlik\Sense\Repository\PostgreSQL\12.5(または任意のバージョン)に移動し、次のファイルをバックアップします。
非ローカル接続を許可するように
pg_hba.confファイルを編集します。
すべてのアドレスからの接続をさらに受け入れるには、
postgresql.confファイルを編集します。
すべてのQlikサービスを開始します。
管理者としてQlikインストーラを実行します。
[クラスタに加わる] ボタンをクリックします。

(既存のQlikサーバーの)データベース資格情報を入力します。

サービスアカウントのユーザー資格情報(新しいサーバーで定義されたもの)を入力します:

Qlikをインストールした後、該当するパッチをお使いのバージョン(2022年5月または2020年11月)にインストールします。
既存のQlikサーバーに移動し、QMCを開きます(
https://localhost/qmc)。[Nodes]を選択します。
アクションバーで
新規作成をクリックします。下の画像に示されているように、パラメータを入力し、ホスト名フィールドには新しくインストールしたQlikサーバーのホスト名を設定します。

適用をクリックし、数秒待ちます。
サーバーがリモートホストに到達できない場合は、次の「ノード登録」メッセージが表示されます。

セントラルノードとスケジューラノード間の接続を確認します。
pingを使用して、両方のノードでIPV6とファイアウォールが無効になっていることを確認します。
Apply(適用)を再度クリックします。認証パスワードとURLが届くまでお待ちください。接続はポート4444を介して行われます。

新しいQlikサーバーに移動し、前のステップのURL http://localhost:4570/certificateSetupを開き、前のステップのパスワードを入力します。

元のQlikサーバー(新しいクラスタではない)で、すべてのQlikサービスを再起動します。
QMCのNodes画面で次の結果が得られることを確認してください。

つまり、2つのQlikサーバー(マルチノード)があります – セントラルとスケジューラ。
QMCのSchedulersセクションで、Central ノードを編集し、Typeフィールドを次のように設定します。

QMCのスケジューラセクションで、スケジュラーノードを編集し、Typeフィールドを次のように設定します。

QMCのデータ接続画面で、次の3つの接続を編集します。

3つのコネクションのそれぞれについて、Connection string フィールドで、ローカルパス(ドライブ cなど:),の代わりに、ネットワークパス(QlikShareフォルダが存在するホスト名(RESEARCHが最初にインストールされたサーバー)で動作するように変更します。

新しいサーバーで、QMCのタスクセクションを開き、
research_dbアプリとResearchアプリの両方が正常に実行されていることを確認してください。QMC(セントラルノード)で、ロードバランスルールのセクションに移動します。
ResourcesOnNonCentralNodesをダブルクリックします。

下の画像に示されているマークされたセクションを削除します。

スケジューラとセントラルノード間の手動フェールオーバーの強制
スケジューラノードとセントラルノードの間で手動フェールオーバーを強制するには、次の手順を実行します。
QMC(セントラルサーバー)で、スケジューラのメニューを選択します。

セントラルスケジューラを選択し、編集ボタンをクリックします。

AdvancedセクションのType(タイプ)フィールドで、Manager(マネージャ)とworker(作業者)を選択します。セントラルノードは初期状態(スタンドアローンサーバー)に戻ります。 スケジューラノードは、クラスタメンバーとしての機能を停止します(最終的には使用されなくなります)。

非セントラルノードのロードバランシングルールリソースの編集
QMCのスタートページから、ロードバランシングルールを開きます。
ResourcesOnNonCentralNodeルールを選択し、編集をクリックします。

詳細設定セクションで、条件を次のように編集します。
((node.iscentral="false"))[適用] をクリックします。

この変更後、ライセンスとオペレーションのタスクを含むすべてのQMCタスクが正常に実行されていることを確認します。
セントラルノードフェールオーバー(オプション)
マルチノードサイトで単一障害点を避けるために、新しいノードをデプロイメントに追加する際には、フェールオーバー候補の役割を割り当てることができます。つまり、RESEARCHサイト内のどのサーバーやノードでも、セントラルノードと同じ役割を果たすことができます。例えば、セントラルノードが10分以上オフラインの場合などに、セントラルノードの役割を入れ替えることができます。
セントラルノードをバックアップする場合:
追加のセントラルサーバー(元のノードと同じ仕様の新しいセントラルノード)を定義します。
QMC(追加のセントラルノード)の中で、ノードメニューを選択し、フェールオーバー候補として定義します。

ノードをフェールオーバー候補として設定した後、サイト内の各ノードは定期的にプライマリノード(セントラルノード)をチェックし、セントラルノードがアクティブであることを確認します。10分後にサイト内のプライマリノードと他のノード間に通信がない場合、プライマリノードは次の利用可能なノードに置き換えられます。フェールオーバー候補として複数のノードが設定されている場合、各ノードはデータベースフィールドのロックを取得するために競い合い、勝者がセントラルノードになります。QMCには、現在どのノードがセントラルノードであるかを示す追加フィールドがあります。