Yellowfinの各ノードは、デフォルトでバックグラウンドタスクを実行するように設定されています。クラスタは、そのタイプに応じて、タスクを実行するように適切に構成しなくてはいけません。
LEGACYクラスタを使用する場合は、以下の構成を適用します。
バックグラウンドタスクは、ひとつのノード上のみで有効にしなくてはいけません。これは、複数のノードが同様のタスクを実行する場合、レポートブロードキャストのようなタスクが、エンドユーザーに複数回レポートを送信する可能性があるためです。そのため、バックグラウンドタスクの実行は、単一ノードに制限することが推奨されます。
MIStartup Servletブロック内のweb.xmlファイルに以下を追加することで、タスクスケジューラーを無効化します。
<init-param> <param-name>DisableTaskScheduler</param-name> <param-value>TRUE</param-value> </init-param> |
システムタスクは、ひとつのノード上のみで有効化しなくてはいけません。
以下のXMLブロックを、web.xmlファイルから削除(または、コメントアウト)することで、バックグラウンドシステムタスクを無効にします。これは、グループの平滑化、LDAP同期、イベントアーカイブ、ドキュメントのクリーンアップ、平均実行時間の算出、などのシステムタスクを無効にします。
<servlet> <servlet-name>SystemTaskManager</servlet-name> <servlet-class>com.hof.servlet.SystemTaskManager</servlet-class> <load-on-startup>8</load-on-startup> </servlet> |
DYNAMIC、またはREPOSITORYクラスタは、バックグラウンドの実行に高度にスケール可能です。これを有効化するためには、すべてのノードで「AutoTaskDelegation」を「TRUE」に設定しなくてはいけません。これによりYellowfinクラスタは、以下に示す構成で稼働します。
マスタノードは、タスク委任の調整をします。これは、オプションでバックグラウンドタスクを実行します。マスタは、明示的に無効化されていない限り(これは推奨されません)、常にシステムタスクを実行します。スレーブノードは、実行するように構成されたバックグラウンドタスクのみを実行します。
Yellowfinのクラスタは、高度に構成可能です。
<init-param> <param-name>DisableTaskSchedulerPolling</param-name> <param-value>TRUE</param-value> </init-param> |
<init-param> <param-name>DisableTaskScheduler</param-name> <param-value>TRUE</param-value> </init-param> |
<init-param> <param-name>TaskTypes</param-name> <param-value> FILTER_CACHE, ETL_PROCESS_TASK, SOURCE_FILTER_REFRESH </param-value> </init-param> <init-param> <param-name>MaxParallelTaskCounts</param-name> <param-value> 1, 5, 3 </param-value> </init-param> |
これによりノードは、ひとつのキャッシュフィルター更新タスク、5つのデータトランスフォーメーションタスク、3つのアクセスフィルター更新タスクを同時に実行するように構成されます。
これが、ClusterManagement servletで構成されない場合、ノードはバックグラウンドタスクを実行しません。
利用可能なタスクタイプと、その説明です。
タスク名 | 説明 |
REPORT_BROADCAST_BROADCASTTASK | レポートブロードキャスト |
REPORT_BROADCAST_MIREPORTTASK | レポートデータの更新 |
ETL_PROCESS_TASK | データトランスフォーメーション |
FILTER_CACHE | キャッシュフィルターの更新 |
SOURCE_FILTER_REFRESH | アクセスフィルターの更新 |
SOURCE_FILTER_UPDATE_REMINDER | アクセスフィルター更新のリマインダー |
ORGREF_CODE_REFRESH | 参照コードの更新 |
THIRD_PARTY_AUTORUN | サードパーティ製コネクターのデータキャッシュの更新 |
SIGNALS_DCR_TASK | シグナルの事前実行タスク |
SIGNALS_ANALYSIS_TASK | シグナルの解析 |
SIGNALS_CLEANUP_TASK | シグナルの事後実行タスク |
COMPOSITE_VIEW_REFRESH | コンポジットビューのデータ更新 |
SIGNALS_CORRELATION_TASK | シグナルの相関を検知 |
こちらは推奨例です。
SIGNALS_DCR_TASK、SIGNALS_ANALYSIS_TASK、SIGNALS_CLEANUP_TASK、SIGNALS_CORRELATION_TASKのみを実行するノードは、「シグナルノード」としてデザインされます。ノードは、これらのタイプをひとつ以上実行しますが、これ以外のタイプを実行することはありません。クラスタは、ひとつ以上のシグナルノードを持つことができます。シグナルノードには特定のライセンスが必要であり、ウェブリクエストやその他のバックグラウンドタスクの処理に使用することができません。また、シグナルノードは、マスタになることができません。
<init-param> <param-name>TaskTypes</param-name> <param-value> SIGNALS_DCR_TASK, SIGNALS_ANALYSIS_TASK, SIGNALS_CLEANUP_TASK, SIGNALS_CORRELATION_TASK </param-value> </init-param> <init-param> <param-name>MaxParallelTaskCounts</param-name> <param-value> 2, 5, 2, 2 </param-value> </init-param> |
|