ノード ロールによるワークロード管理
ノード ロールを使用すると、Tableau Server インストールで特定のタイプのワークロードが処理される場所を構成できます。ノード ロール機能を使用すると、リソースを特定のワークロード専用にしたり、ワークロードに合わせて拡張したりできます。バックグラウンダーとファイル ストアのノード ロールを構成できます。
バックグラウンダー ノード ロールは、ノードで実行する必要があるバックグラウンド タスクのタイプを指定しますが、ファイル ストア ノード ロールは、ノードで実行する必要がある抽出のワークロードのタイプを指定します。どちらのノード ロールも、ノード レベルで指定されます。これらのノード ロールは独立して機能して選択したワークロードを最適化できますが、2 つのノード ロールを組み合わせて使用すると、サーバー ノードを、選択したワークロードを優先的に実行し、抽出負荷の大きいワークロードでパフォーマンスを最適化するための専用のノードにすることができます。この組み合わせについては、後ほど「ファイル ストア ノード ロールセクションで詳しく説明します。
バックグラウンダー ノード ロール
バックグラウンダー プロセスでは、抽出の更新、サブスクリプション、フロー タスク、「今すぐ実行」タスク、tabcmd から開始したタスクなどの Tableau Server タスクを実行します。これらのタスクをすべて実行すると、多くのマシン リソースが使用される可能性があります。クラスタ内に複数のバックグラウンダー ノードがある場合は、バックグラウンダー ノード ロール機能を使用してバックグラウンダーがノードで実行できるタスクのタイプを指定することにより、バックグラウンダー ワークロードを管理できます。
現在、この構成オプションは TSM CLI コマンド経由でのみ使用でき、マルチノード クラスタでのみ有用です。ノードが 1 つしかない場合、バックグラウンダーは既定ですべてのタスクを実行するように設定され、これは変更できません。
バックグラウンダー ノード ロールの使用
バックグラウンダー ノード ロール機能は、Tableau Server インストールで特定のタイプのバックグラウンダー ワークロードが処理される場所をより細かく制御して、リソースを特定のワークロード専用にしたりワークロードに合わせて拡張できるようにすることを意図しています。
たとえば、展開で抽出が大量に実行され、ユーザーが多くの抽出更新や暗号化ジョブを実行している場合は、あるノードを抽出更新専用にすると便利です。サブスクリプションの場合も同様で、Tableau Server インストールで大量のサブスクリプションが処理される場合、他のジョブがサブスクリプション用のリソースを取得しないようにするには、あるノードをサブスクリプション専用にすることができます。これらの場合は、他のバックグラウンダー ノードを抽出更新やサブスクリプション以外のワークロード専用にすることもできます。
高可用性をサポートするため、複数のノードをそれぞれ特定のワークロード専用にすることをお勧めします。たとえば、あるノードを抽出更新専用にする場合は、抽出更新ワークロードを処理する 2 番目のノードも構成するとよいでしょう。このようにすると、抽出更新専用のノードが使用できなくなった場合でも、抽出更新を他のノードで引き続き処理できます。
構成オプション
構成 | ジョブ |
all-jobs (既定値) | すべての Tableau Server ジョブ。 |
flows | フロー実行ジョブ。 |
no-flows | フロー以外のすべてのジョブ。 |
extract-refreshes | 次の処理用に作成されたジョブ。 増分更新、完全更新、フロー出力が作成する抽出を含むすべての抽出の暗号化と復号化。 |
subscriptions | サブスクリプション ジョブ。 |
system | 他の Tableau Server プロセスと連携するシステム メンテナンス ジョブ。たとえば、クラッシュしたジョブのクリーニング、データベース イベントの取得、Active Directory の同期などがあります。 |
extract-refreshes-and-subscriptions | 抽出更新、フロー出力が生成する抽出を含むすべての抽出の暗号化と復号化、およびサブスクリプション ジョブ。 |
no-extract-refreshes | 抽出更新、フロー出力から作成された抽出を含むすべての抽出の暗号化と復号化以外のすべてのジョブ。 |
no-subscriptions | サブスクリプション以外のすべてのジョブ。 |
no-extract-refreshes-and-subscriptions | 抽出更新、フロー出力から作成された抽出を含むすべての抽出の暗号化と復号化、サブスクリプション以外のすべてのジョブ。 |
no system | システム メンテナンス ジョブを除くすべてのジョブ。 |
tsm コマンドを使用してノード ロールを設定する方法の詳細については、tsm topologyを参照してください。
注: ノードの役割を構成するには、サーバーを再起動する必要があり、いくらかのダウンタイムが必要になります。詳細については、tsm pending-changesを参照してください。
ライセンスの要件
フロー、抽出更新、サブスクリプションなどの特定のタイプのタスクのみを実行するようにノードを構成するには、Tableau Server で次のいずれかのライセンスがアクティブ化されている必要があります。
フローを実行するようにノードを構成するには、有効な データ管理 ライセンスがサーバーで有効になっており、Tableau Prep Conductor がそのノード上で実行されている必要があります。Tableau Prep Conductor の詳細については、Tableau Prep Conductorを参照してください。
抽出更新、サブスクリプション、および抽出やサブスクリプションに関連するあらゆる組み合わせを実行するようにノードを設定するには、Tableau Server 上で Advanced Management 機能を有効化している必要があります。ライセンスの有効期限が切れた場合、または非アクティブになっている場合は、サーバー構成に変更を加えるたびにエラーが表示されます。Advanced Management の詳細については、Tableau Server 上の Tableau Advanced Management についてを参照してください。
重要!
フロー、抽出更新、サブスクリプションはコストがかかり、リソースを大量に消費する可能性がありますが、専用のリソースが必要なジョブはこれだけではありません。all-jobs グループには、ワークブックのサムネイル生成など、バックグラウンダーが実行するさまざまなシステム ジョブがあります。抽出更新、サブスクリプション、フロー以外のジョブを実行するノードに十分なマシン リソースがあることを確認してください。
TSM コマンドを使用したノード ロールの構成の詳細については、tsm topology set-node-roleを参照してください。
考慮事項
バックグラウンダー ノード ロールを構成する際は、以下のようないくつかの規則を考慮する必要があります。
ノードに対して一度に設定できるノード ロール構成は 1 つだけです。1 つのノードで複数のノード ロールを構成することはできません。
ノード ロールを構成するには、そのノードに少なくとも 1 つのバックグラウンダー プロセスが存在する必要があります。
バックグラウンダー ノードが 1 つしかない場合は、このノードによってすべてのジョブを実行するように構成する必要があります。これは既定の構成であり、追加のライセンスは必要ありません。
複数のバックグラウンダー ノードがある場合は、その組み合わせによってすべてのジョブを処理するように構成する必要があります。これは、次の方法で実現できます。
all-jobs オプションを使用して、すべてのジョブを実行するようにいずれかのノードを構成します。これは最も簡単な方法です。
いずれかのノードで以下のいずれかの例外構成を使用します。
- no-flows
- no-subscriptions
- no-extract-refreshes
- no-extract-refreshes-and-subscriptions
たとえば、3 つのバックグラウンダーがあるクラスタでは、1 台のノードをフローの実行用に構成し、1 台のノードをサブスクリプションと抽出更新の実行用に構成し、1 台のノードをフロー、サブスクリプション、抽出更新を除くすべてのジョブの実行用に構成できます。
注: フロー、フロー以外のすべてのジョブ、またはすべてのジョブの実行用のノード ロールを指定する機能は、2019.1 で導入されました。
ファイル ストア ノード ロール
Tableau Server ファイル ストアは、抽出のストレージを管理します。抽出に依存するワークロードには、大きく分けて 3 つのカテゴリーがあります。
抽出のワークロード | 実行サービス |
更新 | バックグラウンダー |
クエリ | データ エンジン |
バックアップ/復元 | バックアップ/復元 |
ファイル ストア ノード ロールの管理とバックグラウンダー ノード ロールの管理を組み合わせると、サーバー管理者はサーバー ノードを、選択したワークロードを優先的に実行し、抽出負荷の大きいすべてのカテゴリーのワークロードでパフォーマンスを最適化する専用のノードとすることができます。
スタンドアロンのデータ エンジン ノードのみを持つトポロジを使用し、抽出クエリ ワークロードを実行する専用のノードとすることができます。詳細については、抽出クエリの負荷が大きい環境用に最適化を参照してください。とはいえ、これはバックグラウンダー ノードによって実行される抽出更新ワークロードを犠牲にして成り立つものです。トポロジベースの分離アプローチを使用すると、バックグラウンダー ノードのいずれもファイル ストアがなく、すべての抽出更新トラフィックがネットワーク経由で流れるため、抽出更新の負荷が大きいバックグラウンダー ワークロードは遅くなる可能性があります。
ファイル ストア ノード ロールの構成オプションを使用すると、抽出クエリを処理する特定のサーバー ノードを、それが可能なサーバー ノードのリストから優先的に選択するように指定できます。これは、サーバー管理者がバックグラウンダー サーバー ノード上でファイル ストアを有効にするのを許可し、これらのノードで抽出クエリを実行できないようにすることで、バックアップや抽出更新などのワークロードを高速化するのに役立ちます。この機能は、抽出負荷の大きいクエリ ワークロードと更新ワークロードがあり、抽出クエリと更新パフォーマンスを最適化する場合に便利です。
抽出更新ワークロードとバックアップまたは復元ワークロードを最適化するためのガイドライン
専用のデータ エンジン ノードを含むトポロジから開始します 抽出クエリの負荷が大きい環境用に最適化を参照)。
注: 以下の図と手順では、ノード 1 は初期ノード、ノード 2 は追加ノード 1、ノード 3 は追加ノード 2、ノード 4 は追加ノード 3 です。
- ファイル ストアをノード 1 に追加します。
tsm topology set-process -n node1 -pr filestore -c 1
- 抽出クエリのワークロードを優先的に実行するようにノード 3 とノード 4 を指定します。
tsm topology set-node-role -n node3, node4 -r extract-queries
- 非抽出更新のワークロードを優先的に実行するようにノード 1 を指定します。
tsm topology set-node-role -n node1 -r extract-refreshes
- 非抽出更新のワークロードを優先的に実行するようにノード 2 を指定します。
tsm topology set-node-role -n node2 -r no-extract-refreshes
- 保留中の変更を適用します。
tsm pending-changes apply
注: Tableau Server 展開では、既存ノードにファイル ストア ロールを追加すると、新しいファイル ストアを同期しながら、すべてのファイル ストア ノード間のネットワーク I/O が一時的に増加します。この動作期間は、ファイル ストア上のデータ量とネットワーク帯域幅の容量によって変わります。同期のステータスは、TSM Web GUI を使用して監視できます。展開に複数のファイル ストアを追加する場合、それを連続で追加し、各ファイル ストアの追加の間に最初の同期が完了するのを待機することをお勧めします。
抽出クエリ ワークロード管理の微調整
ユーザーが抽出ベースの Viz をインタラクティブに表示しているときに、メール登録とメトリクス アラートの抽出クエリがそれと同時に実行されると、Viz の読み込み時間が通常よりも遅くなることがあります。次のノード ロールを使用して、これらのワークロードの優先順位を微調整します。
使用するノード ロール | 抽出クエリ ワークロードのタイプ | 例 |
extract-queries | スケジュール済み | メール登録とメトリクス アラート |
extract-queries-interactive | インタラクティブ | 抽出ベースの Viz を表示するユーザー |
サーバーの展開でメール登録とメトリクス アラートの増加が確認される場合は、ノードを追加して extract-queries
ノード ロールを割り当てることができます。そうすると、メール登録とメトリクス アラートを処理するためのノードの可用性が増大します。
サーバーの展開で抽出ベースの Viz を表示するユーザーの増加が確認される場合は、ノードを追加して extract-queries-interactive
ノード ロールを割り当てることができます。そうすると、ノードでインタラクティブな抽出クエリに優先順位を付けて、抽出ベースの Viz の読み込み時間を短縮できます。extract-queries-interactive
ノード ロールは、厳密に分離されるものではなく、優先されるロールです。つまり、クエリは extract-queries-interactive
ノード ロールが割り当てられているノードにルーティングされます。extract-queries-interactive
ロールを持つ複数のノードがある場合、クエリはノードの正常性に基づいてルーティングされます。
たとえば、ノードを追加し、extract-queries-interactive
ワークロードを優先的に実行するように指定します。
tsm topology set-node-role -n node4 -r extract-queries-interactive
構成オプション
構成 | ジョブ |
all-jobs (既定値) | すべての Tableau Server ジョブ。 |
extract-queries | 抽出クエリ用に作成されるジョブ。選択されたノードは all-jobs として実行され、抽出クエリの処理を優先して実行します。 |
extract-queries-interactive | 抽出クエリ用に作成されるジョブ。選択されたノードは all-jobs として実行され、インタラクティブな抽出クエリの処理を優先して実行します。これらのクエリは、ユーザーが画面を見ていて、抽出ベースのダッシュボードの読み込みを待機しているときに実行されるクエリのようなものです。これは高度な設定であるため、クラスターのサブスクリプションおよびアラート ジョブのワークロードの負荷が大きく、スケジュールされたロードと同じ時間に実行される Viz の読み込み時間のパフォーマンスが低下する場合にのみ使用してください。 |
TSM コマンドを使用したノード ロールの構成の詳細については、tsm topology set-node-roleを参照してください。
ライセンスの要件
ノードを抽出クエリの実行用に構成するには、有効な Advanced Management ライセンスが Tableau Server でアクティブ化されている必要があります。
ノード ロールの表示方法
次のコマンドを使用して、Tableau Server で現在構成されているノード ロールを表示します。tsm topology list-nodes -v
実行可能なユーザー
Tableau Server 管理者は、ノード ロールを構成し、必要なプロダクト キーを認証することができます。