30日間の無料評価版をお試しいただけます。

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Anchor
top
top

 

Yellowfinの各ノードは「クラスタ対応」するためにClusterManagementサーブレットを持たなくてはいけません。ClusterManagementサーブレットは、各ノードのweb.xmlファイルに追加の構成ブロックを加えることで有効化されます。

アプリケーションメッセージングは、実装モードに応じて異なる動きをします。現状、REPOSITORY、DYNAMIC、LEGACYの3つのモードを利用することができます。

 

 

マルチキャストクラスタメッセージング(DYNAMICモード)

Yellowfinのアプリケーションメッセージングは、JGroupと呼ばれるマルチキャストメッセージングライブラリにより制御されています。このメソッドを使用することで、同一のYellowfinデータベースを共有する他のノードを自動的に検出します。

JGroupのデフォルト設定では、グループメンバーシップと新ノードの決定にUDPマルチキャストメッセージを使用します。このようなタイプのメッセージを送信できない可能性のある環境があります。例えば、Amazonでは内部ネットワークのノード間でのマルチキャストパケットを許可していません。マルチキャストクラスタメッセージングアダプタを使用すると、XML構成ファイルを渡してJGroupを構成し、ノードを検出する他の方法に使用することができます。このファイルは、ClusterManagementサーブレット内のBroadcastConfigurationサーブレットパラメーターへパスを渡すことで参照できるようになります。

 


Yellowfinの各ノードは「Cluster Aware」するために「ClusterManagement」サーブレットを有効にしなくてはいけません。ClusterManagementサーブレットは、各ノードのweb.xmlファイルに追加の設定を加えることで有効化されます。

アプリケーションの連携は、実装モードに応じて異なる動きをします。現状、REPOSITORY、DYNAMIC、LEGACYの3つのモードを利用することができます。



Multicast cluster messaging(DYNAMICモード)

Yellowfinのアプリケーション連携は、JGroupsと呼ばれるマルチキャストメッセージングライブラリにより制御されます。この方法を使用することで、同一のYellowfinデータベースを共有するクラスタ内の他のノードを自動的に検出します。

JGroupsのデフォルト構成では、グループメンバーシップと新ノードの検出にUDPマルチキャストメッセージを使用します。このようなタイプのメッセージを送信できない環境もあります。例えば、Amazonでは内部ネットワークのノード間でのマルチキャストパケットを許可していません。Multicast Cluster Messagingアダプターを使用すると、ノード検出に他の方法を使用するよう、JGroupsを設定するXMLファイルを渡すことができます。このファイルは、各ノードのweb.xml ファイルにあるClusterManagementサーブレット内のBroadcastConfigurationサーブレットのパラメーターにパスを渡すことで参照することができます。


Expand
titleDYNAMICモードのweb.xmlへの変更

各ノードのweb各ノードのweb.xmlに、以下のサーブレット定義を追加しなくてはいけません。xml ファイルに、以下のサーブレット定義を追加しなくてはいけません。

 


Code Block
languagejava
 <!-- Cluster Management -->
<servlet>
       <servlet-name>ClusterManagement</servlet-name>
       <servlet-class>com.hof.mi.servlet.ClusterManagement</servlet-class>
       <init-param>
             <param-name>ClusterType</param-name>
             <param-value>DYNAMIC</param-value>
       </init-param>
       <init-param>
             <param-name>SerialiseWebserviceSessions</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>CheckSumRows</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>EncryptSessionId</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>EncryptSessionData</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>AutoTaskDelegation</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
              <param-name>TaskTypes</param-name>
              <param-value>
                     REPORT_BROADCAST_BROADCASTTASK,
                     REPORT_BROADCAST_MIREPORTTASK,
                     FILTER_CACHE,
                     SOURCE_FILTER_REFRESH,
                     SOURCE_FILTER_UPDATE_REMINDER,
                     THIRD_PARTY_AUTORUN,
                     ORGREF_CODE_REFRESH,
                     ETL_PROCESS_TASK,
                     SIGNALS_DCR_TASK,
                     SIGNALS_ANALYSIS_TASK,
                     SIGNALS_CLEANUP_TASK,
                     COMPOSITE_VIEW_REFRESH,
                     SIGNALS_CORRELATION_TASK
             </param-value>
       </init-param>
       <init-param> 
              <param-name>MaxParallelTaskCounts</param-name> 
              <param-value>
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2
              </param-value>
       </init-param> 
       <load-on-startup>11</load-on-startup>
 </servlet>

 

 

 

レポジトリディスカバリー付きマルチキャスト(REPOSITORYモード)

レポジトリディスカバリーはDYNAMICモードの実装ですが、共有されたYellowfinレポジトリ経由でノードを検出するために、カスタムプラグインが付属しています。これは、マルチキャストパケットが機能しない環境でクラスタリングを有効化する場合に有効です。

この機能は、RepositoryDiscoveryサーブレットパラメーターをtrueに設定したDYNAMICモードで有効化することもできます。


TaskTypesMaxParallelTaskCountsは、どちらのタスクをYellowfinが実行する予定かに基づき、各ノードで微調整が必要です。上記の構成では、ノードは各タイプのタスク最大2つを並行に実行します。より詳細な情報は、こちらを参照してください。




Multicast with repository discovery(REPOSITORYモード)

Repository discoveryはDYNAMICモードの実装ですが、共有されたYellowfinリポジトリ経由でノードを検出するために、カスタムプラグインが付属しています。これは、マルチキャストパケットが機能しない環境でクラスタリングを有効化する場合に有効です。

この機能は、各ノードのweb.xml ファイルにあるRepositoryDiscoveryサーブレットのパラメーターをtrueに設定したDYNAMICモードで有効化することもできます。 


Expand
titleREPOSITORYモードのweb.xmlへの変更

各ノードのweb.xmlに、以下のサーブレット定義を追加しなくてはいけません。

 各ノードのweb.xml ファイルに、以下のサーブレット定義を追加しなくてはいけません。


Code Block
languagejava
<!-- Cluster Management -->
<servlet>
       <servlet-name>ClusterManagement</servlet-name>
       <servlet-class>com.hof.mi.servlet.ClusterManagement</servlet-class>
       <init-param>
             <param-name>ClusterType</param-name>
             <param-value>REPOSITORY</param-value>
       </init-param>
       <init-param>
             <param-name>SerialiseWebserviceSessions</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>CheckSumRows</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>EncryptSessionId</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>EncryptSessionData</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>AutoTaskDelegation</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
              <param-name>TaskTypes</param-name>
              <param-value>
                     REPORT_BROADCAST_BROADCASTTASK,
                     REPORT_BROADCAST_MIREPORTTASK,
                     FILTER_CACHE,
                     SOURCE_FILTER_REFRESH,
                     SOURCE_FILTER_UPDATE_REMINDER,
                     THIRD_PARTY_AUTORUN,
                     ORGREF_CODE_REFRESH,
                     ETL_PROCESS_TASK,
                     SIGNALS_DCR_TASK,
                     SIGNALS_ANALYSIS_TASK,
                     SIGNALS_CLEANUP_TASK,
                     COMPOSITE_VIEW_REFRESH,
                     SIGNALS_CORRELATION_TASK
              </param-value>
       </init-param>
       <init-param> 
              <param-name>MaxParallelTaskCounts</param-name> 
              <param-value>
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2,
                     2
              </param-value>
       </init-param> 
       <load-on-startup>11</load-on-startup>
 </servlet>

 

 

 

Webサービスクラスタメッセージング(LEGASYモード)

Yellowfinのレガシークラスタメッセージングは、AXIS webサービスにより制御されます。これは、起動時にすべてのノードが定義されていないてはならず、各ノードのweb.xmlファイルでエンドポイント、ポート番号、ユーザー、パスワードが定義されていなくてはいけません。レガシーモードでは、クラスタインスタンスは同一ホスト上に存在することができません。

 


TaskTypesMaxParallelTaskCountsは、どちらのタスクをYellowfinが実行する予定かに基づき、各ノードで微調整が必要です。上記の構成では、ノードは各タイプのタスク最大2つを並行に実行します。より詳細な情報は、こちらを参照してください。



Web service cluster messaging(LEGACYモード)

YellowfinのLegacy Cluster Messagingは、AXIS webserviceにより制御されます。これは、起動時にすべてのノードが定義されていなくてはならず、各ノードのweb.xmlファイルでサービスエンドポイント、ポート番号、ユーザー、パスワードが定義されていなくてはいけません。Legacyモードでは、クラスタインスタンスは同一ホスト上に存在することができません。


Expand
titleLEGACYモードのweb.xmlへの変更

各ノードのweb.xmlに、以下のサーブレット定義を追加しなくてはいけません。

 各ノードのweb.xml ファイルに、以下のサーブレット定義を追加しなくてはいけません。


Code Block
languagejava
<!-- Cluster Management -->
<servlet>
       <servlet-name>ClusterManagement</servlet-name>
       <servlet-class>com.hof.mi.servlet.ClusterManagement</servlet-class>
       <init-param>
             <param-name>ServiceUser</param-name>
             <param-value>admin@yellowfin.com.au</param-value>
       </init-param>
       <init-param>
             <param-name>ServicePassword</param-name>
             <param-value>test</param-value>
       </init-param>
       <init-param>
             <param-name>ServiceAddress</param-name>
             <param-value>/services/AdministrationService</param-value>
       </init-param>
       <init-param>
             <param-name>ServicePort</param-name>
             <param-value>80</param-value>
       </init-param>
       <init-param>
             <param-name>ClusterHosts</param-name>
             <param-value>
                   192.168.4.184
             </param-value>
       </init-param>
       <init-param>
             <param-name>SerialiseWebserviceSessions</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>CheckSumRows</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>EncryptSessionId</param-name>
             <param-value>true</param-value>
       </init-param>
       <init-param>
             <param-name>EncryptSessionData</param-name>
             <param-value>true</param-value>
       </init-param>
       <load-on-startup>11</load-on-startup>
 </servlet>

 

 

 





web.xml ファイルのパラメーター

以下のプロパティは、各ノードのweb.xml ファイルで設定することのできる、ClusterManagementサーブレット定義のオプションを概説しています。xmlファイルパラメーター以下のプロパティは、ClusterManagementサーブレット定義のオプションです。

プロパティ

ClusterType

DYNAMIC、REPOSITORY、またはLEGACYです。DYNAMIC、またはLEGACY。DYNAMICは、マルチキャストメッセージングを使用し、クラスタ内の他のノードを自動的に検知します。LEGACYはデフォルト設定であり、定義されたクラスタノードの一覧とコミュニケーションをするために、webサービスを使用します。

DYNAMICは、マルチキャストメッセージングを使用し、クラスタ内の他のノードを自動的に検知します。REPOSITORYはDYNAMICの拡張であり、マルチキャストメッセージングは機能しません。LEGACYはデフォルト設定であり、定義されたクラスタノードの一覧と通信をするために、webサービスを使用します。

BroadcastConfiguration

JGroups構成ファイルです。これは、マルチキャストネットワーキングの機能しない環境で、使用されるJgroups設定をカスタマイズすることができます。これは、DYNAMICモードのみで使用し、設定はオプションです。デフォルトでは、JGroupはudpJGroups構成ファイルです。これは、マルチキャストネットワーキングが機能しない環境で、使用されるJGroupsの構成をカスタマイズすることができます。これは、DYNAMICモードでのみ利用可能であり、設定はオプションです。デフォルトでは、JGroupsはudp.xml内で定義された設定を使用します。xml内で定義された構成を使用します。

ServiceUser

他ノードへのwebサービス接続を検証するユーザーです。LEGACYモードでのみ使用します。他ノードへのwebservice接続を検証するユーザーです。LEGACYモードでのみ利用可能です。

ServicePassword

ServiceUserのパスワードです。LEGACYモードでのみ使用します。LEGACYモードでのみ利用可能です。

ServicePasswordEncrypted

True、またはFalseのどちらかを定義します。True/False
ServicePasswordのコンテンツは暗号化されているかどうか。ServicePasswordの値が暗号化されているかどうかで設定を行います。

ServiceAddress

Yellowfin webサービスのアドレスです。LEGACYモードでのみ使用します。webserviceのパスです。LEGACYモードでのみ利用可能です。

ServicePort

Yellowfinが実行されているポート番号です。LEGACYモードでのみ使用します。LEGACYモードでのみ利用可能です。

ClusterHostsクラスタ内のすべてのノードをコンマ区切りで表示した一覧です。これには、IPアドレス、またはホスト名を含めることができます。

LEGACYモードでのみ使用します。クラスタ内のすべてのノードをカンマ区切りで表示した一覧です。これには、IPアドレス、またはホスト名を含めることができます。LEGACYモードでのみ利用可能です。

SerialiseWebserviceSessions

True、またはFalseのどちらかを定義します。

クラスタでシングルサインオンを使用している場合に必要となります。データベースへのトークンをシリアル化することで、任意のノードからトークンへアクセスすることができます。

True/False

クラスタでシングルサインオンを使用している場合に必要となります。データベースへのトークンをシリアル化することで、トークンは任意のノードからアクセスできるます。

CheckSumRows

True/FalseTrue、またはFalseのどちらかを定義します。

データベース内のシリアル化されたwebサービスセッションレコードの合計を確認するセキュリティオプションです。これは、Yellowfinでの不正なセッション作成につながる可能性のあるテーブルへの変更を防ぐことができます。データベース内のシリアル化されたwebserviceセッションレコードの合計を確認するセキュリティオプションです。これは、Yellowfinでの不正なセッション作成につながる可能性のあるテーブルへの変更を防ぐことができます。

EncryptSessionId

True/FalseTrue、またはFalseのどちらかを定義します。

データベースへシリアル化されたwebサービスセッションIDを暗号化するセキュリティオプションです。データベースでシリアル化されたwebserviceセッションIDを暗号化するセキュリティオプションです。これは、Yellowfinでの不正なセッション作成につながる可能性のあるテーブルへの変更を防ぐことができます。

EncryptSessionData

True/FalseTrue、またはFalseのどちらかを定義します。

データベースへシリアル化されたwebサービスセッションレコードを暗号化するセキュリティオプションです。データベースでシリアル化されたwebsetviceセッションレコードを暗号化するセキュリティオプションです。これは、Yellowfinでの不正なセッション作成につながる可能性のあるテーブルへの変更を防ぐことができます。

AutoTaskDelegation

True/False
これは、DYNAMICモードのみで使用し、設定はオプションです。

これを有効化すると、クラスタはバックグラウンドタスクを実行するために、ノードを自動的に割り当てます。これを有効化することで、バックグラウンドタスクを実行するために、手動でノードを設定する必要がありません。Yellowfinは、他のノードが既にタスクを実行している場合は、起動時にノード上のシステムタスクを停止します。

SessionReplication

True/False

コンテナレベルレプリケーション

True、またはFalseのどちらかを定義します。
これは、DYNAMICおよび、REPOSITORYモードでのみ利用可能であり、設定はオプションです。

これを有効にすると、クラスタはバックグラウンドタスクを実行するために、自動的に「マスタ」ノードを割り当てます。これを有効化することで、バックグラウンドタスクを実行するために、手動でノードを設定する必要がありません。マスタノードは、明示的に無効化されていない場合、システムタスクも実行します。

AutoTaskDelegationが無効化されている場合、各ノードはLEGACYモードのように稼働します。バックグラウンドタスクを実行するために、特定のノードを指定する必要があるため、こちらのモードは推奨されません。

TaskTypes

これは、DYNAMICおよび、REPOSITORYモードでのみ利用可能なオプションです。

これは、ノード上で実行可能なタスクタイプのカンマ区切り一覧です。これが指定されない場合、ノードはバックグラウンドタスクを実行しません。

利用可能なタイプは、こちらで指定されています。

MaxParallelTaskCounts

これは、DYNAMICおよび、REPOSITORYモードでのみ利用可能なオプションです。

これは、ノード上で同時に実行できる(TaskTypeで指定された)各タイプのタスク数を示す、カンマ区切りの数字の一覧です。一覧内で指定された各値は、TaskTypeパラメーター内の値と1対1でマッピングされます。対応するカウントを持たないTaskTypeは無視されます。

SessionReplication

True、またはFalseのどちらかを定義します。

コンテナレベルのセッションレプリケーションを有効にする場合は、これをtrueに設定します。これは、クラスタ内のセッションを破棄するために使用されるロジックを変更します。

RepositoryDiscovery

True、またはFalseのどちらかを定義します。

これは、DYNAMICモードでのみ利用可能です。これにより、REPOSITORYモードがサポートされる前に、ビルドでRepositoryDiscoveryを有効にします。REPOSITORYモードは、RepositoryDiscoveryが有効化されたDYNAMICモードのエイリアスです。


追加のパラメーター

いくつかの環境下では、DYNAMICモードが機能しない場合があります。これは通常、サーバ上のネットワーク構成が原因です。デフォルトでJGroupsは、利用可能であればIPv6を使用します。IPv4を強制的に実行することで、正常に動作するようになる場合もあります。以下のコマンドを、catalina.sh、またはcatalina.batファイルに追加します。


ファイルコマンド
Catalina.sh


Code Block
languagejava
JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"


Catalina.bat


Code Block
languagejava
set JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true





デフォルトのJGroups設定(udp.xml)を使用している場合は、マルチキャストアドレスとポート番号を設定することもできます。これは、クラスタノードがお互いを検出できない環境で役立ちます。


ファイルコマンド
Catalina.sh


Code Block
languagejava
JAVA_OPTS="$JAVA_OPTS -Djgroups.udp.mcast_addr=228.0.0.5 -Djgroups.udp.mcast_port=47885"


Catalina.bat


Code Block
languagejava
set JAVA_OPTS=%JAVA_OPTS% -Djgroups.udp.mcast_addr=228.0.0.5 -Djgroups.udp.mcast_port=47885

RepositoryDiscovery

True/False

This option is for DYNAMIC mode only. This enables RepositoryDiscovery on builds prior to the REPOSITORY mode being supported. REPOSITORY mode is an alias for DYNAMIC mode with RepositoryDiscovery enabled.





Section


Column
width40%

前項:クラスタリング概要クラスタのインストール


 
Column
width30%



Column
width30%

後項:アプリケーションメッセージング

...

バックグラウンドタスク



horizontalrule

Styleclass
ClasstopLink

ページトップ