プライマリ・コンテンツに移動
Oracle® Fusion Middleware Oracle Enterprise Repositoryインストレーション・ガイド
12c リリース1 (12.1.3)
E59446-04
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

4 クラスタ化環境へのOracle Enterprise Repositoryのインストール

この章ではOracle Enterprise Repositoryの概要を示し、クラスタ化環境にOracle Enterprise Repositoryをインストールする方法を説明します。

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

4.1 概要

Oracle Enterprise Repositoryでは、各アプリケーション・サーバー上のサーバー側キャッシュが使用されます。使用可能な場合のみ、キャッシュされたデータが使用されます。それ以外の場合は、データベースがデータ・コンテンツをキャッシュおよびアプリケーションに配信します。

Oracle Enterprise Repositoryをクラスタ内で実行する場合、クラスタ・メンバーはHTTPを使用して相互に通信する必要があります。あるクラスタ・メンバー上で編集を行うと、そのクラスタ・メンバー上のキャッシュされた要素が無効になり、編集内容が他のクラスタ・メンバーに渡されます。これは、cachesyncurlと呼ばれるシステム・プロパティによって実行されます。このシステム・プロパティは、アプリケーションへのURLを有効な値として受け入れます。

システムの起動時に、cachesyncurlがデータベースに書き込まれ、データベースから他のサーバーのURLのリストが取得されます。クラスタの新規メンバーの存在を通知するメッセージが、検出されたすべてのURLに送信されます。その後、各サーバーはデータベースからサーバー・リストをリフレッシュします。サーバーが正常に停止するときに、リストから値が削除され、キャッシュ・リフレッシュ通知がサーバー・リストにブロードキャストされます。

編集によってローカル・キャッシュ内の要素が無効になると、無効にする必要があるキャッシュ要素を通知するメッセージが他のすべてのサーバーに送信されます。メッセージを受信すると、指定した要素がキャッシュから削除されます。その後データを要求すると、キャッシュにはデータが含まれていないため、まずデータをキャッシュに格納してから、データベースによってデータがアプリケーションに配信されます。

クラスタリングとインストールの要件

  • セッションの類似性

  • サーバー側のHTTPキャッシュ通信

オプション

  • フェイルオーバー

    セッション管理および永続セッションが必要

  • ロード・バランシング

クラスタ化環境へのOracle Enterprise Repositoryのインストール

クラスタ化環境にOracle Enterprise Repositoryをインストールするには:

  1. Oracle Enterprise Repositoryをインストールして構成します。

  2. Oracle Enterprise Repositoryをホストするクラスタ化環境を作成します。

  3. クラスタ化されたアプリケーション・サーバーのメンバーにOracle Enterprise Repositoryアプリケーションをデプロイします。

  4. クラスタのメンバー上でアプリケーションのデプロイメントを検証します。

  5. アプリケーション・プロパティをデータベースに移動します。

  6. クラスタを停止します。

  7. 他のすべてのクラスタ・メンバーにアプリケーションをインストールします。

  8. 各クラスタ・メンバー上でcluster.propertiesファイルを構成します。

  9. クラスタおよびすべてのメンバーを起動します。

  10. クラスタを検証します。

4.2 ステップ1: Oracle Enterprise Repositoryのインストール

クラスタ化環境を計画する前に、『Oracle WebLogic Serverクラスタの管理』でWebLogicサーバーを使用するクラスタ化についての重要な情報を確認します。

Oracle Enterprise Repositoryのインストールの詳細は、第2章「Oracle Enterprise Repositoryソフトウェアのインストール」を参照してください。

4.3 ステップ2: 1つのクラスタ・メンバーでのOracle Enterprise Repositoryのデプロイおよび検証

WebLogic ServerでのOracle Enterprise Repositoryの構成およびデプロイ方法の詳細は、第3章「Oracle Enterprise Repositoryドメインの構成」を参照してください。


注意:

JMSクラスタリングを実行する場合、データベース・オプションへの移動設定を使用する前にcmee.eventframework.clustering.enabledを有効にする必要があります。

4.4 ステップ3: クラスタ化環境の作成

packコマンドを使用して、第4.3項で作成した管理対象サーバーの内容を圧縮します。unpackコマンドを使用して、ドメインの重複を、クラスタ化環境への組込み用に構成された任意の数のマシンへ解凍します。詳細は、『PackおよびUnpackコマンドによるテンプレートとドメインの作成』を参照してください。


注意:

元のドメインの圧縮中に、<DOMAIN_HOME>/config_oerまたは<DOMAIN_HOME>/config_oacディレクトリ内のプロパティ・ファイルは、プロセスに含まれていません。初期のマシンのプロパティ・ファイルおよび構成ファイルは、手動で編集して、ターゲット・サーバーに手動でコピーする必要があります。この手順は、管理対象サーバーがオフラインの間に完了する必要があります。

次に、第5章「クラスタ環境用のOracle Enterprise Repositoryドメインの構成」の手順に従ってクラスタ化環境の作成を完了します。

ドメインの作成が完了したら、管理対象サーバーではなくクラスタをターゲットとするoer_serverデプロイメントおよびOERDataSourceをポイントするように、<DOMAIN_HOME>/config/config.xmlファイルを編集する必要があります。管理対象サーバーおよびクラスタ化環境にアクセスするために使用されているプロキシ・サーバー用のデプロイメントに応じて、cmee.propertiesファイルも編集する必要があります。

編集前のconfig.xmlファイルの要素の例は、次のとおりです。

  <app-deployment>
    <name>oer_server</name>
    <target>oer_server1</target>
    <module-type>ear</module-type>
    <source-path>/users/oracle/Oracle/Middleware/Oracle_Home/oer/applications/oer</source-path>
    <deployment-order>45</deployment-order>
    <security-dd-model>DDOnly</security-dd-model>
    <staging-mode>nostage</staging-mode>
  </app-deployment>

  <jdbc-system-resource>
    <name>OERDataSource</name>
    <target>oer_server</target>
    <descriptor-file-name>jdbc/OERDataSource-jdbc.xml</descriptor-file-name>
  </jdbc-system-resource>

編集後の同じファイルの例は、次のとおりです。

  <app-deployment>
    <name>oer_server</name>
    <target>oer_cluster1</target>
    <module-type>ear</module-type>
    <source-path>/users/oracle/Oracle/Middleware/Oracle_Home/oer/applications/oer</source-path>
    <deployment-order>45</deployment-order>
    <security-dd-model>DDOnly</security-dd-model>
    <staging-mode>nostage</staging-mode>
  </app-deployment>

編集前のcmee.propertiesファイルの例は、次のとおりです。

cmee.enterprisetab.homepage=http\://www.example.com \:8111/oer/custom/home_oac.jsp
cmee.server.paths.resource=http\://www.example.com \:8111/oer -web
cmee.assettab.asset-detail-page=http\://www.example.com \:8111/oer /cmee/index.jsp
cmee.server.paths.image=http\://www.example.com \:8111/oer -web/images
cmee.server.defaultencoding=UTF-8
cmee.server.paths.servlet=http\://www.example.com \:8111/oer
cmee.server.paths.jnlp-tool=http\://www.example.com \:8111/oer -web/webstart
cmee.server.paths.jsp=http\://www.example.com \:8111/oer

編集後の同じファイルの例は、次のとおりです。

cmee.enterprisetab.homepage=http\://ohs.example.com \:7777/oer/custom/home_oac.jsp
cmee.server.paths.resource=http\://ohs.example.com \:7777/oer -web
cmee.assettab.asset-detail-page=http\://ohs.example.com \:7777/oer /cmee/index.jsp
cmee.server.paths.image=http\://ohs.example.com \:7777/oer -web/images
cmee.server.defaultencoding=UTF-8
cmee.server.paths.servlet=http\://ohs.example.com \:7777/oer
cmee.server.paths.jnlp-tool=http\://ohs.example.com \:7777/oer -web/webstart
cmee.server.paths.jsp=http\://ohs.example.com \:7777/oer

4.5 ステップ4: データベースへのアプリケーション・プロパティの移動

プロパティをOracle Enterprise Repositoryアプリケーションに読み込む場合、常にプロパティ・ファイルが優先されます。アプリケーションでは、まずデータベース内でプロパティおよび対応する値を検索してから、プロパティ・ファイル内を検索します。データベースから読み込まれたプロパティは、ファイル内の対応する値で上書きされます。

この手順は、アプリケーションのデプロイから始まります。

  1. 「管理」画面で、左ペインの「システム設定」をクリックします。

  2. 下部にスクロールし、設定をデータベースに移動するボタンをクリックします。

    確認メッセージが表示されます。

  3. クラスパスからプロパティ・ファイルを削除します。

  4. 管理対象サーバーを停止します。

  5. 構成ファイルのフォルダを探します。

    <DOMAIN_HOME>/oer_config

  6. 構成フォルダから次にリストされているプロパティ・ファイルを削除します。

    • enterprise.properties

    • ldap.properties

    • containerauth.properties

    • eventing.properties

    • juddi.properties

    • openapiserverlog.properties

    これらのプロパティは、データベース内のentSettings表に書き込まれます。

  7. cmee.propertiesファイルを変更します。URL値を含むプロパティ値を除く、すべてのプロパティ値を削除します。クラスタ・メンバーへのロード・バランス・アクセスに使用されているプロキシ・サーバー・パスを指すように、URL参照を更新します。

  8. ここで、Oracle Enterprise Repositoryクラスタに直接アプリケーションを再デプロイします。


    注意:

    この手順がプロパティ・ファイルではなくデータベースに書き込まれた後、プロパティが有効になります。

4.6 ステップ5: 各クラスタ・メンバーでのcluster.propertiesファイルの構成

各クラスタ・メンバー上でcluster.propertiesファイルを構成するには:

  1. 各クラスタ・メンバーを停止します。

  2. 各クラスタ・メンバー上でcluster.propertiesと呼ばれるファイルを作成します。このファイルは、他のすべての.propertiesファイルと同じ場所にあります。

    <DOMAIN_HOME>/oer_config

    cluster.propertiesの内容は、cmee.propertiesファイルのプロパティcmee.server.paths.servletに基づいています。ただし、パス内のホスト名は、クラスタ全体のプロキシ・ホスト名ではなく、クラスタ・メンバーのホスト名を参照する必要があります。

    cluster.properties
    #cluster.properties
    Example:
    #cluster.properties
    Other properties that are optional
    # alias is used as an alternate/convenient name to refer
    # to the server
    # example: server1
    # default: same value as =cachesyncurl=
    alias=EclipseServer
    
    # registrationIntervalSeconds is the number of seconds between
    # attempts to update the server's registration record in the database
    # default: 120
    registrationIntervalSeconds=120
    
    # registrationTimeoutSeconds is the number of seconds before a server
    # is considered to be inactive/not running
    # make sure this value is higher than the registrationIntervalSeconds
    # default: 240
    registrationTimeoutSeconds=240
    
    # maxFailures is the number of consecutive attempts that are made
    # to deliver a message to another server after which it is determined
    # to be unreachable
    # default: 20
    maxFailures=20
    
    # maxQueueLength is the number of messages that are queued up to
    # send to another server after which server are determined to be
    # unreachable
    # default: 4000
    maxQueueLength=5000
    
    # email.to is the address of the email recipient for clustering status
    # messages
    email.to=jsmith@company.com
    
    # email.from is the address of the sender for clustering status messages
    email.from=jsmith@company.com
    
    # email.subject is the subject line of the message for clustering status
    # messages
    email.subject=Oracle Enterprise Repository Clustering communication failure
    
    # email.message is the body of the message for clustering status messages
    email.message=This is an automated message from the Oracle Enterprise
    Repository informing you of a cluster member communication failure.
    
    • cluster.propertiesファイルの例

      registrationIntervalSeconds=120registrationTimeoutSeconds=240
      maxFailures=20
      maxQueueLength=5000
      email.to=jsmith@example.com
      email.from=jsmith@example.com
      email.subject=Oracle Enterprise Repository Clustering communication failure
      email.message=This is an automated message from the Oracle Enterprise
      Repository informing you of a cluster member communication failure
      

      注意:

      1. アプリケーション・サーバーとデータベース・サーバーの間の遅延時間が120秒を超えないようにしてください。これらのサーバーを同期させておくために、ネットワーク・タイム・プロトコルをお薦めします。クラスタリング・プロセスでは、クラスタのノード間でメッセージを送信する間の時間の差異が計算されます。

      2. サーバーを再起動する前に、JMSクラスタリングが有効になっている場合、eventing.propertiesを追加する必要があります。これには、各クラスタ・メンバー上で一意の値を持つcmee.eventframework.jms.producers.client.idプロパティが含まれている必要があります。たとえば、cmee.eventframework.jms.producers.client.id=OER_JmsProducer1です

      3. クラスタ内の各管理対象サーバーに対するJVMプロパティとしてのcmee.cachesyncurlプロパティの設定に関する重要な情報については、第4.8項を参照してください。


  3. 各クラスタ・メンバーを再起動します。


    注意:

    maxFailuresを超えたためにクラスタ・メンバーが無効になった場合、アクティブ化する方法はサーバーの再起動のみです。

4.7 ステップ6: インストールの検証

各クラスタ・メンバーの標準出力ログにメッセージが送信されます。

  • 「単一サーバー・モードで実行しています」

    Oracle Enterprise Repositoryのクラスタリングが構成されていないため、アプリケーションは単一サーバー・モードで実行されていることを示します。

  • 「次のsync-urlで、マルチ・サーバー・モードで実行しています」

    Oracle Enterprise Repositoryのクラスタリングが機能しており、アプリケーションはクラスタ化モードで実行されていることを示します。

変数

cachesyncurl

cluster.propertiesファイル内のcachesyncurlの値は、/cachesyncのパスが追加された個別のノードのインスタンスと同じURLを参照します。ほとんどのクラスタ構成には、クラスタ化されたサーバー内の各ノードをロード・バランシングするプロキシ・サーバーがあります。

例:

ノード1: cachesyncurl=http://node1.example.com:7101/oer

ノード2: cachesyncurl=http://node1.example.com:7101/oer

Oracle Enterprise Repositoryの診断画面からクラスタリング診断ページを表示することで、クラスタリングのインストールを検証することもできます。クラスタ診断ページを表示するには、「診断」画面の「クラスタ情報」をクリックします。このページには、クラスタに登録されているすべてのサーバーに関する情報、およびサーバー間通信に関する情報がリストされます。

Oracle HTTP Serverの構成ファイル

Oracle HTTP Serverを使用してロード・バランサからノードにルーティングする場合、HTTP Serverの構成ファイル(httpd.conf)に/oerおよび/oer-webの2つのエントリを含める必要があります。サンプルのhttpd.confファイルを次に示します。

<VirtualHost 10.0.0.1:80>
   ServerName 10.0.0.1:80
   <IfModule mod_weblogic.c>
        SecureProxy OFF
        # TrustedCAFile /usr/local/apache2/ca.pem
        RequireSSLHostMatch false
        Debug ERR
        DebugConfigInfo ON
        ErrorPage /error.html
        WLLogFile logs/worker_matchproxy.log
        WLTempDir /tmp
        KeepAliveEnabled      ON
        KeepAliveSecs         15
        HungServerRecoverSecs 30
        MaxSkipTime   10
        ConnectRetrySecs 5
    </IfModule>
    <Location /console>
        SetHandler weblogic-handler
        WebLogicCluster 10.0.0.2:7001
    </Location>
    <Location /oer_fa_cluster>
        SetHandler weblogic-handler
        WebLogicCluster 10.0.0.3:7101,10.0.0.4:7101
    </Location>
   <Location /oer_fa_cluster-web>
       SetHandler weblogic-handler
        WebLogicCluster 10.0.0.3:7101,10.0.0.4:7101
    </Location>
</VirtualHost>

この例では、ホスト10.0.0.1はクラスタ・マシンをプロキシするためのHTTPサーバー、ホスト10.0.0.2は管理サーバー、ホスト10.0.0.3および10.0.0.4はOracle Enterprise Repository管理対象サーバーです。

詳細は、「Oracle WebLogic Serverの理解」を参照してください。

4.8 ステップ7: WebLogic ServerのJVMパラメータのクラスタリング

クラスタ・ノードが集中化された管理コンソールを介してデプロイされる場合、cluster.propertiesファイルがなくても適切なOracle Enterprise Repositoryクラスタリング操作が許可されるように、JVMパラメータを適用する必要があります。

このJVMパラメータは、クラスタ内のメンバーごと、または管理対象サーバーの起動コマンド・ファイル内で静的に適用する必要があります。これはDOMAIN_HOME/bin/setStartupEnv.shまたはsetStartupEnv.batファイルのサーバー定義を使用して、最も容易に実行できます。次のコード(環境に合せて編集)をsetStartupEnv.shまたは.batファイルに追加します。

case "${SERVER_NAME}" in
oer_server1)
EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Dcmee.cachesyncurl=http://server1:8111/oer"
;;
oer_server2)
EXTRA_JAVA_PROPERTIES="${EXTRA_JAVA_PROPERTIES} -Dcmee.cachesyncurl=http://server2:8111/oer"
;;
esac

このJVMパラメータもWebLogic Serverに対しJAVA_OPTIONS環境変数内で設定することができます。JVMパラメータは次のようになります。

-Dcmee.cachesyncurl=http://<member host name>:<port>/<APP_PATH>

クラスタ・ドメイン内の各管理対象サーバーは、HTTPプロキシ・サーバーを介すことなく、直接お互いに通信します。cmee.cachesyncurlプロパティは管理対象サーバーのホスト名/IPアドレスおよびポート番号を表します。


注意:

クラスタ内の各管理対象サーバーは、クラスタ内で共存し、協調するために、これらのJVMパラメータのいずれかを使用して起動する必要があります。