ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Event Processing管理者ガイド
11gリリース1 (11.1.1.7)
B61653-06
  目次へ移動
目次

前
 
次
 

5 Oracle Coherenceを使用したマルチサーバー・ドメインの管理

この章は、Oracle Coherenceに基づくOracle Event Processingマルチサーバー・ドメインの管理方法を説明します。マルチサーバー・ドメインの作成と更新方法を、メッセージの保護、メンバーシップの変更の管理、サーバーの起動と停止方法とともに説明します。

この章の内容は次のとおりです。

5.1 Oracle Coherenceを使用したOracle Event Processingマルチサーバー・ドメインの作成

この項では、Oracle Coherenceを使用して2つ以上のOracle Event Processingサーバーからなるマルチサーバー・ドメインを作成して構成する方法を説明します。次のものが含まれます。


注意:

マルチサーバー・ドメインでサーバーを適切に構成するには、そのサーバーは、同じマルチキャスト・アドレスとポート、および同じドメイン名を使用して構成する必要があります。同じマルチキャスト・アドレスおよびポートを使用し、異なるドメイン名を使用してサーバーを構成するとエラーになります。


5.1.1 Oracle Coherenceを使用したデフォルト・グループによるOracle Event Processingマルチサーバー・ドメインの作成方法

この手順では、事前定義済の2つのグループ(シングルトン・グループとドメイン・グループ)のみを使用してマルチサーバー・ドメインを作成する方法について説明します。デフォルト・グループを使用するドメインでは、すべてのサーバーが完全に同一である必要があります。

ドメインが完全に同一ではないサーバーをサポートする必要がある場合、カスタム・グループを使用して構成します。5.1.2項「Oracle Coherenceを使用したカスタム・グループによるOracle Event Processingマルチサーバー・ドメインの作成方法」を参照してください。


注意:

Oracle Event Processing高可用性アプリケーションをデプロイし、スケーラビリティが必要な場合、Oracle Event Processing高可用性通知グループを作成する必要もあります。詳細は、『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』のデプロイメント・グループと通知グループに関する項を参照してください。



注意:

この項では、1つのサーバーを含むドメインがすでに作成済であり、ドメインをマルチサーバー・ドメインにするには追加のサーバーをドメインに追加することを前提としています。ドメインの作成の詳細は、第3章「Oracle Event Processingスタンドアロンサーバー・ドメインの管理」を参照してください。


Coherenceを使用してデフォルト・グループによるOracle Event Processingマルチサーバー・ドメインを作成するには:

  1. 1つの初期サーバーを含むドメインを作成します。

    第3章「Oracle Event Processingスタンドアロンサーバー・ドメインの管理」を参照してください。

  2. 構成ウィザードを使用して、ドメインに1つまたは複数のサーバーを追加します。


    注意:

    構成ウィザードではマルチサーバー・ドメインへの新規サーバーの追加はサポートされていませんが、構成ウィザードを使用して新しいスタンドアロンサーバーを生成し、生成したサーバーの構成を手動で更新することにより、サーバーをマルチサーバー・ドメインに追加できます。


    5.2項「Oracle Coherenceを使用したOracle Event Processingマルチサーバー・ドメインの更新」を参照してください。

  3. 手動でconfig.xmlファイルを編集し、特定の情報とともにcluster要素を追加して、マルチサーバー・ドメイン内のすべてのサーバーを構成します。

    デフォルト・グループを使用してマルチサーバー・ドメインのサーバーを構成するには、例5-1に示すように、ルートconfig要素のcluster子要素を追加して、各メンバー・サーバーconfig.xmlファイルを更新します。

    clusterの次の子要素を含みます。

    • server-name: clusterserver-name子要素は、サーバーの一意の名前を指定します。コンソールにサーバーを表示する場合、Oracle Event Processing Visualizerはこの要素の値を使用します。

      デフォルト: 設定している場合はOracle Coherenceメンバー名、またはWLEvServer-MEMBERID

    • server-host-name: ポイント・ツー・ポイントHTTPマルチサーバー通信に使用するホスト・アドレス/IPを指定します。デフォルト値はlocalhostです。

      マルチサーバー・ドメイン内の1つ以上のOracle Event Processingサーバーが異なるホストにあり、Oracle Event Processing Visualizerを使用してマルチサーバー・ドメインを管理する場合は、この要素が必須です。サーバーが複数のIPアドレスが構成されたホスト・マシンにデプロイされている場合も、これは必須です(マルチサーバーかスタンドアロンサーバー環境のいずれでも)。

    • multicast-address: マルチサーバー・ドメインのすべてのサーバーが同じコンピュータ上でホストされている場合を除いて、multicast-address要素は必要です。その場合は、multicast-address要素を省略でき、コンピュータのIPアドレスに基づいてOracle Event Processingによりマルチサーバー・ドメインにマルチキャスト・アドレスが自動的に割り当てられます。

      ただし、サーバーが異なるコンピュータ上でホストされる場合、適切なドメイン・ローカル・アドレスを提供する必要があります。Oracleは、239.255.X.X形式のアドレスを使用することをお薦めします。自動で割り当てられたマルチキャスト・アドレスは、このアドレスに基づきます。

      このmulticast-addressを使用しているすべてのOracle Event Processingサーバーは、同一のサブネット上にある必要があります。

      Oracle Coherenceを使用して、ここでユニキャスト・アドレスを指定できます。Oracle CoherenceはWKA (Well Known Addressing)を使用します。

    • enabled: デフォルトでは、Oracle Coherenceでマルチサーバー・ドメインにあるサーバーのクラスタリングは有効化されているため、<enabled>true</enabled>要素はオプションです。

    例5-1では、サーバーはmyDomainというドメインの一部です。

    例5-1 myServer1 config.xmlファイル

    <config>
      <domain>
            <name>myDomain</name>
      </domain>
      <cluster>
          <server-name>myServer1</server-name>
          <multicast-address>239.255.0.1</multicast-address>
          <enabled>true</enabled>
      </cluster> 
    ...
    </config>
    

    マルチサーバー・ドメインの各サーバーに対して、multicast-address要素には同じ値が含まれている必要があります。ただし、server-name要素は、マルチサーバー・ドメインの各サーバーで異なる必要があります。例5-2には、myDomainマルチサーバー・ドメインのmyServer2という2番目のサーバーのconfig.xmlファイルを示します。

    例5-2 myServer2 config.xmlファイル

    <config>
      <domain>
            <name>myDomain</name>
      </domain>
      <cluster>
          <server-name>myServer2</server-name>
          <multicast-address>239.255.0.1</multicast-address>
          <enabled>true</enabled>
      </cluster> 
    ...
    </config>
    

    追加のマルチサーバーの関連する構成要素と子要素の必要な順序の説明は、6.5項「cluster要素の子要素の順序」を参照してください。

  4. オプションで、必要に応じてデフォルトのOracle Coherenceクラスタリング構成をオーバーライドできます。

    5.1.3項「Oracle Coherenceクラスタの構成」を参照してください。

  5. オプションで、暗号化とデジタル署名を構成して、ドメイン内のサーバー間で共有されるメッセージを保護します。

    5.3.1項「Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」を参照してください。

  6. 単一点障害を防ぐために、ドメインにあるnマシンの小さいサブセットでOracle Event Processing Visualizerを有効にすることを考慮します。

    『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle Event Processing Visualizerを起動する方法に関する項を参照してください。


    注意:

    特定のOracle Event ProcessingサーバーでOracle Event Processing Visualizerを有効にすると、Oracle Event Processing Visualizerのワークロードによってサーバーのパフォーマンスが低下される可能性があります。


  7. マルチサーバー・ドメインのすべてのサーバーを起動します。

    5.5項「マルチサーバー・ドメインのOracle Event Processingサーバーの起動と停止」を参照してください。

5.1.2 Oracle Coherenceを使用したカスタム・グループによるOracle Event Processingマルチサーバー・ドメインの作成方法

この手順では、完全に同一ではないサーバーを格納するためにカスタム・グループを使用するOracle Coherenceを使用したマルチサーバー・ドメインの作成方法について説明します。

ドメインにあるすべてのサーバーが完全に同一である場合、カスタム・グループを作成する必要はありません。かわりに、事前定義済のデフォルト・グループ(シングルトン・グループとドメイン・グループ)を使用できます。5.1.1項「Oracle Coherenceを使用したデフォルト・グループによるOracle Event Processingマルチサーバー・ドメインの作成方法」を参照してください。


注意:

Oracle Event Processing高可用性アプリケーションをデプロイし、スケーラビリティが必要な場合、Oracle Event Processing高可用性通知グループを作成する必要もあります。詳細は、『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』のデプロイメント・グループと通知グループに関する項を参照してください。



注意:

この項では、1つのサーバーを含むドメインがすでに作成済であり、ドメインをマルチサーバー・ドメインにするには追加のサーバーをドメインに追加することを前提としています。ドメインの作成の詳細は、第3章「Oracle Event Processingスタンドアロンサーバー・ドメインの管理」を参照してください。


この手順では、myServer1myServer2、およびmyServer3と3つのサーバーを作成していることを想定します。myServer1は、selectorグループのメンバーであり、myServer2myServer3は、strategyグループのメンバーであるとしています。

Oracle Coherenceを使用してカスタム・グループによるOracle Event Processingマルチサーバー・ドメインを作成するには:

  1. 1つの初期サーバーを含むドメインを作成します。

    第3章「Oracle Event Processingスタンドアロンサーバー・ドメインの管理」を参照してください。

  2. 構成ウィザードを使用して、ドメインに1つまたは複数のサーバーを追加します。


    注意:

    構成ウィザードではマルチサーバー・ドメインへの新規サーバーの追加はサポートされていませんが、構成ウィザードを使用して新しいスタンドアロンサーバーを生成し、生成したサーバーの構成を手動で更新することにより、サーバーをマルチサーバー・ドメインに追加できます。


    5.2項「Oracle Coherenceを使用したOracle Event Processingマルチサーバー・ドメインの更新」を参照してください。

  3. 手動でconfig.xmlファイルを編集し、特定の情報とともにcluster要素を追加して、マルチサーバー・ドメイン内のすべてのサーバーを構成します。

    カスタム・グループを使用してマルチサーバー・ドメイン内のサーバーを構成するには、ファイルがすでに存在していない場合はclustergroups子要素を追加して各メンバー・サーバーconfig.xmlファイルを更新し、groups要素の値としてグループの名前を指定します。


    注意:

    cluster要素の子要素を追加する場合は、6.5項「cluster要素の子要素の順序」に示すように要素の正しい順序を監視します。


    サーバーが複数のグループのメンバーである場合、groups要素には複数のグループ名が含まれます。カンマを使用して複数のグループ名を区切ります。

    groups要素はオプションです。サーバー構成にこの要素がない場合、サーバーはデフォルト・グループ(ドメインおよびシングルトン)のメンバーになります。ドメインとシングルトン・グループの詳細は、6.2項「グループ」を参照してください。

    例5-3例5-4および例5-5には、各サーバーのconfig.xmlファイルの関連するスニペットを示します。

    例5-3 myServer1のサーバー構成ファイルconfig.xml

    <config>
      <domain>
            <name>myDomain</name>
      </domain>
      <cluster>
          <server-name>myServer1</server-name>
          <multicast-address>239.255.0.1</multicast-address>
          <enabled>true</enabled>
          <groups>selector</groups>
      </cluster> 
    ...
    </config>
    

    例5-4 myServer2のサーバー構成ファイルconfig.xml

    <config>
      <domain>
            <name>myDomain</name>
      </domain>
      <cluster>
          <server-name>myServer2</server-name>
          <multicast-address>239.255.0.1</multicast-address>
          <enabled>true</enabled>
          <groups>strategy</groups>
      </cluster> 
    ...
    </config>
    

    例5-5 myServer3のサーバー構成ファイルconfig.xml

    <config>
      <domain>
            <name>myDomain</name>
      </domain>
      <cluster>
          <server-name>myServer3</server-name>
          <multicast-address>239.255.0.1</multicast-address>
          <enabled>true</enabled>
          <groups>strategy</groups>
      </cluster> 
    ...
    </config>
    
  4. オプションで、必要に応じてデフォルトのOracle Coherenceクラスタリング構成をオーバーライドできます。

    5.1.3項「Oracle Coherenceクラスタの構成」を参照してください。

  5. オプションで、暗号化とデジタル署名を構成して、ドメイン内のサーバー間で共有されるメッセージを保護します。

    5.3.1項「Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法」を参照してください。

  6. 単一点障害を防ぐために、ドメインにあるnマシンの小さいサブセットでOracle Event Processing Visualizerを有効にすることを考慮します。

    『Oracle Fusion Middleware Oracle Event Processing Visualizerユーザーズ・ガイド』のマルチサーバー・ドメインでOracle Event Processing Visualizerを起動する方法に関する項を参照してください。


    注意:

    特定のOracle Event ProcessingサーバーでOracle Event Processing Visualizerを有効にすると、Oracle Event Processing Visualizerのワークロードによってサーバーのパフォーマンスが低下される可能性があります。


  7. マルチサーバー・ドメインのすべてのサーバーを起動します。

    5.5項「マルチサーバー・ドメインのOracle Event Processingサーバーの起動と停止」を参照してください。

5.1.3 Oracle Coherenceクラスタの構成

Oracle Event Processingは、Oracle Coherenceにより提供されるネイティブ構成である、Oracle Coherenceクラスタ構成のtangosol-coherence-override.xmlを利用します。このファイルの詳細および例は、5.1.3.1項「tangosol-coherence-override.xmlファイル」を参照してください。

アプリケーションをアセンブルするときには、次を考慮します。

  • tangosol-coherence-override.xmlは、グローバルなサーバーごとのファイル(Oracle Coherenceドキュメントでは「操作構成」と呼ばれる)です。このファイルをOracle Event Processingサーバーconfigディレクトリの、サーバー構成ファイルと同じ場所に配置します。

キャッシュ・システムでOracle Coherenceプロバイダの使用を宣言する場合は、このキャッシュ・システムのすべてのキャッシュについても、Oracle Event Processingのローカル構成のかわりにOracle Coherence構成にマップされることを必ず確認してください。それ以外の場合は、Oracle Event Processingで例外がスローされます。

5.1.3.1 tangosol-coherence-override.xmlファイル

tangosol-coherence-override.xmlファイルはOracle Coherenceクラスタリングを構成します。<cluster-config><management-config>および<logging-config>の各要素は、オーバーライド・ファイルからの使用がサポートされています。


注意:

Oracle Event Processingでは、常にクラスタ名をドメイン名に設定するため、クラスタ名をオーバーライドできません。異なるドメイン間で誤ってクラスタを検出してしまわないように、各Oracle Event Processingドメインで一意の名前を使用することを考慮します。


次の例は、パケットが移動するホップ(ホップはルーター経由でネットワーク・セグメントから別のネットワーク・セグメントにトラバースとして測定されます)の最大数が決定される、存続期間設定を指定する単純な構成を示しています。

<?xml version='1.0'?>
<coherence xml-override="/tangosol-coherence-override.xml">
  <cluster-config>
    <multicast-listener>
      <time-to-live>3</time-to-live>
    </multicast-listener>
    ...
</coherence>

tangosol-coherence-override.xmlファイルの詳細は、『Oracle Coherence開発者ガイド』の操作オーバーライド・ファイル(tangosol-coherence-override.xml)に関する項を参照してください。

5.2 Oracle Coherenceを使用したOracle Event Processingマルチサーバー・ドメインの更新

ドメインを後でマルチサーバー・ドメインに変換できるように、構成ウィザードを使用して新しいサーバーを既存のスタンドアロン・サーバー・ドメインに追加します。手順は新しいドメインを作成する場合と同じです。この項を続行する前に3.1項「Oracle Event Processingスタンドアロン・サーバー・ドメインの作成」を必ず参照してください。

5.2.1 グラフィカル・モードでの構成ウィザードを使用したOracle Event Processingマルチサーバー・ドメインの更新方法

次の手順では、WindowsまたはUnixの両方の関連するコマンド・スクリプトを実行し、グラフィカル・モードで構成ウィザードの起動と使用方法について説明します。


注意:

Windowsでは、「スタート」メニューを使用して構成ウィザードを起動できます。

Start > All Programs > Oracle Event Processing 11gR1 > Tools > Configuration Wizard

わかりやすくするために、次を前提とします。

  • 新しいドメインをすでに作成済であり、ドメイン・ディレクトリはC:\oracle_cep\user_projects\domains\mydomainです。

  • ドメインにはdefaultserverという単一のサーバーが含まれ、サーバー・ファイルはC:\oracle_cep\user_projects\domains\myDomain\myServer1ディレクトリにあります。

  • 既存のmydomainドメインにmyServer2という新しいサーバーを作成します。

グラフィカル・モードで構成ウィザードを使用してOracle Event Processingマルチサーバー・ドメインを更新するには:

  1. コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』の開発環境の設定に関する項を参照してください。

  2. ORACLE_CEP_HOME/ocep_11.1/common/binディレクトリに変更します。ここで、ORACLE_CEP_HOMEは、/oracle_cepのようなメインOracle Event Processingインストール・ディレクトリを示します。

    prompt> cd /oracle_cep/ocep_11.1/common/bin
    
  3. ウィザードを起動するには、config.cmd(Windows)またはconfig.sh(UNIX)コマンドを起動します。

    prompt> ./config.sh
    

    構成ウィザードのロードが終了すると、標準のOracleへようこそウィンドウが表示されます。


    注意:

    Oracle Event Processing構成ウィザードはわかりやすいプログラムですが、ツールの使用方法について詳細情報が必要な場合は、次の手順説明に従ってください。


  4. 「次へ」をクリックします。

  5. 「ドメインの作成または更新の選択」ウィンドウで、新規Oracle Event Processingドメインの作成を選択します。

  6. 「次へ」をクリックします。

  7. ドメインに追加する新しいサーバーの管理者ユーザー名とパスワードを入力します。

  8. 「次へ」をクリックします。

  9. ドメインの新しいサーバーに関する基本構成情報を入力します。新しいサーバーがドメイン内の他のサーバーと同じコンピュータ上に配置される場合、すべてのサーバーを起動したときに競合が発生しないように、次の情報が他のサーバーと重複しないようにする必要があります。具体的には:

    • 新しいサーバー名を入力します。この名前は、新しいサーバーのファイルを格納するディレクトリ名としても使用されます。次の例では、この値はmyServer1です。

    • Oracle Event Processing自体のリスニング・ポート。

  10. 「次へ」をクリックします。

  11. Oracle Event Processingアイデンティティ・キーストアのパスワードを入力し、確認します。デフォルトでは、証明書のプライベート・キーのパスワードはアイデンティティ・キーストアと同じです。別のパスワードを使用する場合は、キーストア・パスワードを使用の選択を解除し、プライベート・キーのパスワードを入力します。

  12. 「次へ」をクリックします。

  13. 「構成オプション」ウィンドウで、次のように設定をします。

    1. デフォルトのJDBCデータ・ソース構成を変更する場合は、「はい」を選択します。

    2. デフォルトの構成を使用する場合は、「いいえ」を選択します。


    注意:

    アプリケーションをドメイン内のグループにデプロイすると、Oracle Event Processingはグループのメンバーである各サーバーにアプリケーションをレプリケートします。つまり、アプリケーションでデータソースを使用し、ドメイン内のサーバーごとにデータソースの構成が異なる場合は、このデータ・ソースでのデータの格納および取得は、アプリケーションを実行しているサーバーによって異なります。


  14. 「次へ」をクリックします。

  15. デフォルトのJDBCデータ・ソース構成を変更することを選択した場合は、「Configure Database Properties」ウィンドウに情報を入力します。

    上のセクションで、データソース名を入力します。次に、データベース・タイプ(OracleまたはMicrosoft SQL Server)と該当のドライバを選択します。「Browse/Append」ボタンを使用して、新しいドライバを参照することもできます。

    下のセクションで、データベース名、データベース・サーバーをホストするコンピュータ名、ポート、およびデータベースに接続するユーザーの名前とパスワードなど、このデータ・ソースから接続するデータベースの詳細を入力します。この情報に基づいて、使用するJDBC接続URLが自動的に生成されます。

  16. 「次へ」をクリックします。

  17. 「サーバーの構成」ウィンドウで、既存のドメイン名とドメインの場所のフル・パス名を入力します。次の例では、ドメイン名にmyDomain、ドメインの場所にC:\oracle_cep\user_projects\domainsを入力します。

  18. 「作成」をクリックします。

  19. 新しいサーバーが正常に作成されると、「Creating Domain」ウィンドウに次のようなメッセージが表示されます。

    Domain created successfully!
    Domain location: /oracle_cep/user_projects/domains/myDomain
    
  20. 「完了」をクリックします。

5.3 マルチサーバー・ドメインのサーバー間で送信されるメッセージの保護

マルチサーバーに関係するメッセージを変換することで、マルチサーバー・ドメインのサーバーはその状態を更新します。それらのメッセージは少なくとも整合性のチェックをすることが重要です。整合性を実現するために秘密鍵を使用できます。この鍵はドメインのすべてのサーバーで共有される必要があります。

この項では次の内容について説明します。

5.3.1 Oracle Coherenceを使用したマルチサーバー・ドメインのサーバー間で送信されるメッセージの保護方法

Oracle Coherenceクラスタリングの実装を使用してマルチサーバー・ドメインのサーバー間で送信されるメッセージを保護できます。

Oracle Coherenceを使用してマルチサーバー・ドメインのサーバー間で送信されるメッセージを保護するには:

  1. サーバーが現在実行中の場合、マルチサーバー・ドメインのすべてのサーバーを停止します。

    5.5項「マルチサーバー・ドメインのOracle Event Processingサーバーの起動と停止」を参照してください。

  2. 例5-6に示すように、security子要素をcluster要素に追加し、マルチサーバー・ドメインの各サーバーのconfig.xmlファイルを編集します。

    例5-6 cluster要素のsecurity子要素

    <config>
      <domain>
            <name>myDomain</name>
      </domain>
      <cluster>
          <server-name>myServer1</server-name>
          <multicast-address>239.255.0.1</multicast-address>
          <identity>1</identity> 
          <enabled>coherence</enabled>
          <security>encrypt</security>
      </cluster> 
    ...
    </config>
    

    config.xmlファイルは、各サーバーのDOMAIN_DIR/servername/configディレクトリにあります。ここで、DOMAIN_DIRは、ドメイン・ディレクトリを参照し、servernameは、d:\oracle_cep_home\user_projects\domains\mydomain\myserver1\configのようなサーバーの名前を参照します。

    security子要素に対して次のいずれかの値を指定する必要があります。

    • none: デフォルト値。マルチサーバー・ドメインに対してセキュリティが構成されていないことを指定します。

    • encrypt: マルチサーバー・メッセージを暗号化する必要があることを指定します。

    cluster要素の子要素の正しい順序に従います。6.5項「cluster要素の子要素の順序」を参照してください。

  3. 例5-7に示すように、configルート要素のencryption-service子要素を追加し、マルチサーバー・ドメインの各サーバーのDOMAIN_DIR/servername/config/security-config.xmlファイルを編集します。

    例5-7 security-config.xmlファイルのencryption-service要素

    <config>
      <encryption-service>
         <signature-enabled>true</signature-enabled>
      </encryption-service>
      <css-realm>
       ...
    </config>
    
  4. マルチサーバー・ドメインの各サーバーのDOMAIN_DIR/servername/.aesinternal.datファイルは、1つのサーバーから他のサーバーにコピーすることによって、まったく同じであることを確認します。

    このファイルは、サーバーの最初の作成時に、構成ウィザードにより自動的に作成されます。Oracle Event Processingはこのファイルを使用してメッセージを暗号化します。

    たとえば、ドメインのすべてのサーバーがd:\oracle_cep\user_projects\domains\mydomainディレクトリにあり、そのドメインにserver1server2、およびserver3の3つのサーバーがあることを想定します。すべてのサーバーに同じ.aesinternal.datファイルがあることを確認するには、1つのファイルをserver1から他のサーバーにコピーします。

    prompt> cd d:\oracle_cep\user_projects\domains\mydomain\server1
    prompt> cp .aesinternal.dat ..\server2
    prompt> cp .aesinternal.dat ..\server3
    
  5. ドメイン内の1つのサーバーを起動します。

    5.5項「マルチサーバー・ドメインのOracle Event Processingサーバーの起動と停止」を参照してください。

    ステップ3encryption-service要素をsecurity-config.xmlファイルに追加しているため、Oracle Event Processingでは自動的にメイン・サーバー・ディレクトリに.msasig.datファイルが作成されます。Oracle Event Processingはメッセージのデジタル署名のためにこのファイルを使用します。

  6. 起動したサーバーを停止します。

    5.5項「マルチサーバー・ドメインのOracle Event Processingサーバーの起動と停止」を参照してください。

  7. ステップ5で作成した.msasig.datファイルを他のサーバーにコピーします。

    例:

    prompt> cd d:\oracle_cep\user_projects\domains\mydomain\server1
    prompt> cp .msasig.dat ..\server2
    prompt> cp .msasig.dat ..\server3
    
  8. クラスタの各サーバーで次のステップを実行します:

    • コマンド・ウィンドウを開き、環境を設定します。『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』の開発環境の設定に関する項を参照してください。

    • DOMAIN_DIR/servernameディレクトリに変更します。ここで、DOMAIN_DIRは、ドメイン・ディレクトリ、servernameは、d:\oracle_cep_home\user_projects\domains\mydomain\myserver1のようなサーバー名です。

      prompt> cd d:\oracle_cep_home\user_projects\domains\mydomain\myserver1
      
    • JDK keytoolユーティリティおよび次のコマンド・ラインを使用して、ブート・ユーザーを含むキーストアcoherence-identity.jksを作成します(読みやすくするために分割してありますが、実際には完全なコマンドは1行にする必要があります)。

      prompt> keytool -genkey -v -keystore config/coherence-identity.jks 
      -storepass PASSWORD -alias BOOT-USER -keypass BOOT-USER-PASSWORD 
      -dname CN=BOOT-USER
      

      説明:

      • PASSWORDは、キーストアを保護するために使用するパスワードです。

      • BOOT-USERは、Oracle Event Processingサーバー・ホストにログインするために使用するユーザー名です。

      • BOOT-USER-PASSWORDは、Oracle Event Processingサーバー・ホストにログインするときに使用するパスワードです。

    • permissions.xmlファイルを作成します。

    • ブート・ユーザーに対して次の権限を追加するために、permissions.xmlファイルを編集します。

      <permissions>
          <grant>
              <principal>
                  <class>javax.security.auth.x500.X500Principal</class>
                  <name>CN=BOOT-USER</name>
              </principal>
      
              <permission>
                  <target>*</target>
                  <action>all</action>
              </permission>
          </grant>
      </permissions>
      

      ここで、BOOT-USERは、Oracle Event Processingサーバー・ホストにログインするために使用するユーザー名です。

    • permissions.xmlファイルを保存して閉じます。

    • login.configファイルを作成します。

    • 次の行を追加するために、login.configファイルを編集します。

      Coherence {
          com.tangosol.security.KeystoreLogin required
              keyStorePath=".${/}config${/}coherence-identity.jks";
      }; 
      
    • login.configファイルを保存して閉じます。

    • サーバーを実際に起動するjavaコマンドに次のプロパティを追加し、startwlevs.cmd(Windows)またはstartwlevs.sh(UNIX)の使用しているプラットフォーム向けのサーバーの起動スクリプトを更新します。

      -Djava.security.auth.login.config=./login.config
      

      次のような例があります(実際には、完全なコマンドは1行にする必要があります)。

      "%JAVA_HOME%\bin\java" %DGC% %DEBUG% 
      -Djava.security.auth.login.config=./login.config 
      -Dwlevs.home="%USER_INSTALL_DIR%" -Dbea.hoe="%BEA_HOME%" 
      -jar "%USER_INSTALL_DIR%\bin\wlevs.jar" %1 %2 %3 %4 %5 %6
      
  9. このドメインのサーバーでOracle Event Processing Visualizerを使用する場合は、10.5.3項「Oracle Event Processing Visualizer用のマルチサーバー・ドメインでSSLを構成する方法」を参照してください。

  10. マルチサーバー・ドメインのすべてのサーバーを起動します。

    5.5項「マルチサーバー・ドメインのOracle Event Processingサーバーの起動と停止」を参照してください。

5.4 マルチサーバー・ドメインAPIを使用したグループ・メンバーシップの変更管理

アクティブ/アクティブ・システムでは、アプリケーションは複数のサーバーに均一にデプロイされ、アクティブに実行されます。

しかし、均一にデプロイされたこれらのアプリケーションからコーディネータ(リーダー)となるプライマリ・アプリケーションを選択する必要が生じる場合があります。この場合、コーディネータ・アプリケーションから発生したイベントは保持され、EPNの次のコンポーネントに渡されます。セカンダリ・サーバーの結果は削除されます。ただし、コーディネータにエラーが発生した場合は、いずれかのセカンダリ・サーバーが新しいコーディネータとして選択される必要があります。

アプリケーションでこれを有効化するには、一般的にイベント・シンクのロールに属するアダプタまたはイベントBeanが、com.bea.wlevs.ede.api.cluster.GroupMembershipListenerインタフェースを実装する必要があります。それにより、マルチサーバー・ドメイン・グループのメンバーシップの変更をイベント・シンクがリスニングできるようになります。実行時には、メンバーシップに変更が発生するたびに、Oracle Event ProcessingがonMembershipChangeコールバック・メソッドを自動的に呼び出します。

コールバック・メソッドのシグネチャは次のとおりです。

onMembershipChange(Server localIdentity, Configuration groupConfiguration); 

onMembershipChangeコールバック・メソッドの実装では、イベント・シンクがServerオブジェクト(localIdentity)を使用してリーダーかどうかを検証します。この検証は、localIdentityと、第2パラメータgroupConfigurationでのConfiguration.getCoordinator()の実行結果を比較して行うことができます。また、このパラメータを使用すると、Configuration.getMembers()を実行して、現在のグループのメンバーをサーバーに知らせることもできます。


注意:

通知グループに新しいAPIがあります。詳細は、『Oracle Fusion Middleware Oracle Event Processing開発者ガイド for Eclipse』のデプロイメント・グループと通知グループに関する項を参照してください。


メンバーがコーディネータである場合にのみイベントを保持するために、イベント・シンクはグループのメンバーシップに変更があるたびに新しいServerIDを取得する必要があります。グループ・メンバーシップに変更が発生するのは、たとえば、グループ内の他のサーバーでエラーが発生し、そのサーバーがコーディネータではなくなった場合です。

グループに対する変更だけでなくドメイン全体に対するメンバーシップの変更をリスニングするための、同様のインタフェースcom.bea.wlevs.ede.api.cluster.DomainMembershipListenerがあります。

ホット-ホット構成には、失敗の通知にゼロ以外の遅延がある点に注意してください。クラスタリングの実装に通知APIを使用する場合、サーバー障害とマスター・サーバーに配信される通知の間のウィンドウで発生するイベントを失って、処理できません。

詳細は、Oracle Fusion Middleware Oracle Event Processing Java APIリファレンスを参照してください。

5.5 マルチサーバー・ドメインのOracle Event Processingサーバーの起動と停止

マルチサーバー・ドメインのサーバーを起動するには、起動スクリプトを実行して各サーバーを個別に起動します。これは、スタンドアロン・サーバー・ドメインのサーバーを起動する方法と同じです。詳細は、3.3項「スタンドアロンサーバー・ドメインのOracle Event Processingサーバーの起動と停止」を参照してください。

マルチ・サーバー・ドメインのカスタム・グループを構成しなかった場合、単純にすべてのサーバーは事前定義されたドメイン・グループ(マルチ・サーバー・ドメイン内のすべてのサーバーが含まれる)とシングルトン・グループ(メンバーのサーバーごとに1つ)のメンバーになります。つまり、マルチ・サーバー・ドメインに3つのサーバーが存在する例では、シングルトン・グループも3つになります。

これに対し、マルチサーバー・ドメインにカスタム・グループを構成した場合、サーバーは事前定義されたグループのメンバーであると同時に、構成されたグループのメンバーにもなります。


注意:

Windowsの場合、起動したコマンド・プロンプトの「閉じる」ボタンをクリックしてOracle Event Processingサーバーを停止しないでください。stopwlevs.cmdスクリプトまたはCtrl-Cを使用すると、Oracle Event Processingサーバーはいつでも停止します。