Oracle® Fusion Middleware Oracle Enterprise Repositoryインストレーション・ガイド 12c リリース1 (12.1.3) E59446-04 |
|
![]() 前 |
![]() 次 |
この章ではOracle Enterprise Repositoryの概要を示し、クラスタ化環境にOracle Enterprise Repositoryをインストールする方法を説明します。
この章の内容は次のとおりです。
Oracle Enterprise Repositoryでは、各アプリケーション・サーバー上のサーバー側キャッシュが使用されます。使用可能な場合のみ、キャッシュされたデータが使用されます。それ以外の場合は、データベースがデータ・コンテンツをキャッシュおよびアプリケーションに配信します。
Oracle Enterprise Repositoryをクラスタ内で実行する場合、クラスタ・メンバーはHTTPを使用して相互に通信する必要があります。あるクラスタ・メンバー上で編集を行うと、そのクラスタ・メンバー上のキャッシュされた要素が無効になり、編集内容が他のクラスタ・メンバーに渡されます。これは、cachesyncurlと呼ばれるシステム・プロパティによって実行されます。このシステム・プロパティは、アプリケーションへのURLを有効な値として受け入れます。
システムの起動時に、cachesyncurlがデータベースに書き込まれ、データベースから他のサーバーのURLのリストが取得されます。クラスタの新規メンバーの存在を通知するメッセージが、検出されたすべてのURLに送信されます。その後、各サーバーはデータベースからサーバー・リストをリフレッシュします。サーバーが正常に停止するときに、リストから値が削除され、キャッシュ・リフレッシュ通知がサーバー・リストにブロードキャストされます。
編集によってローカル・キャッシュ内の要素が無効になると、無効にする必要があるキャッシュ要素を通知するメッセージが他のすべてのサーバーに送信されます。メッセージを受信すると、指定した要素がキャッシュから削除されます。その後データを要求すると、キャッシュにはデータが含まれていないため、まずデータをキャッシュに格納してから、データベースによってデータがアプリケーションに配信されます。
クラスタリングとインストールの要件
セッションの類似性
サーバー側のHTTPキャッシュ通信
オプション
フェイルオーバー
セッション管理および永続セッションが必要
ロード・バランシング
クラスタ化環境へのOracle Enterprise Repositoryのインストール
クラスタ化環境にOracle Enterprise Repositoryをインストールするには:
Oracle Enterprise Repositoryをインストールして構成します。
Oracle Enterprise Repositoryをホストするクラスタ化環境を作成します。
クラスタ化されたアプリケーション・サーバーのメンバーにOracle Enterprise Repositoryアプリケーションをデプロイします。
クラスタのメンバー上でアプリケーションのデプロイメントを検証します。
アプリケーション・プロパティをデータベースに移動します。
クラスタを停止します。
他のすべてのクラスタ・メンバーにアプリケーションをインストールします。
各クラスタ・メンバー上でcluster.properties
ファイルを構成します。
クラスタおよびすべてのメンバーを起動します。
クラスタを検証します。
クラスタ化環境を計画する前に、『Oracle WebLogic Serverクラスタの管理』でWebLogicサーバーを使用するクラスタ化についての重要な情報を確認します。
Oracle Enterprise Repositoryのインストールの詳細は、第2章「Oracle Enterprise Repositoryソフトウェアのインストール」を参照してください。
WebLogic ServerでのOracle Enterprise Repositoryの構成およびデプロイ方法の詳細は、第3章「Oracle Enterprise Repositoryドメインの構成」を参照してください。
注意: JMSクラスタリングを実行する場合、データベース・オプションへの移動設定を使用する前にcmee.eventframework.clustering.enabled を有効にする必要があります。 |
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
プロパティをOracle Enterprise Repositoryアプリケーションに読み込む場合、常にプロパティ・ファイルが優先されます。アプリケーションでは、まずデータベース内でプロパティおよび対応する値を検索してから、プロパティ・ファイル内を検索します。データベースから読み込まれたプロパティは、ファイル内の対応する値で上書きされます。
この手順は、アプリケーションのデプロイから始まります。
「管理」画面で、左ペインの「システム設定」をクリックします。
下部にスクロールし、設定をデータベースに移動するボタンをクリックします。
確認メッセージが表示されます。
クラスパスからプロパティ・ファイルを削除します。
管理対象サーバーを停止します。
構成ファイルのフォルダを探します。
<DOMAIN_HOME>/oer_config
構成フォルダから次にリストされているプロパティ・ファイルを削除します。
enterprise.properties
ldap.properties
containerauth.properties
eventing.properties
juddi.properties
openapiserverlog.properties
これらのプロパティは、データベース内のentSettings表に書き込まれます。
cmee.propertiesファイルを変更します。URL値を含むプロパティ値を除く、すべてのプロパティ値を削除します。クラスタ・メンバーへのロード・バランス・アクセスに使用されているプロキシ・サーバー・パスを指すように、URL参照を更新します。
ここで、Oracle Enterprise Repositoryクラスタに直接アプリケーションを再デプロイします。
注意: この手順がプロパティ・ファイルではなくデータベースに書き込まれた後、プロパティが有効になります。 |
各クラスタ・メンバー上でcluster.properties
ファイルを構成するには:
各クラスタ・メンバーを停止します。
各クラスタ・メンバー上で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
注意:
|
各クラスタ・メンバーを再起動します。
注意: maxFailuresを超えたためにクラスタ・メンバーが無効になった場合、アクティブ化する方法はサーバーの再起動のみです。 |
各クラスタ・メンバーの標準出力ログにメッセージが送信されます。
「単一サーバー・モードで実行しています」
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の理解」を参照してください。
クラスタ・ノードが集中化された管理コンソールを介してデプロイされる場合、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パラメータのいずれかを使用して起動する必要があります。 |