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

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

 

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

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

 

 

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

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

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

 

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

 

 <!-- 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>
       <load-on-startup>11</load-on-startup>
 </servlet>

 

 

 

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

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

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

 

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

 

<!-- 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>
       <load-on-startup>11</load-on-startup>
 </servlet>

 

 

 

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

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

 

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

 

<!-- 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ファイルパラメーター

以下のプロパティは、ClusterManagementサーブレット定義のオプションです。

プロパティ

ClusterType

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

BroadcastConfiguration

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

ServiceUser

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

ServicePassword

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

ServicePasswordEncrypted

True/False
ServicePasswordのコンテンツは暗号化されているかどうか。

ServiceAddress

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

ServicePort

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

ClusterHosts

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

SerialiseWebserviceSessions

True/False

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

CheckSumRows

True/False

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

EncryptSessionId

True/False

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

EncryptSessionData

True/False

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

AutoTaskDelegation

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

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

SessionReplication

True/False

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

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.

前項:クラスタリング概要

 

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

 

  • No labels