この章では、動的クラスタの作成方法について説明します。
この章の内容は次のとおりです。
動的クラスタは、1台以上の動的サーバーを含むクラスタです。動的クラスタは、単一の共有サーバー・テンプレートに基づいています。この共有サーバー・テンプレートを使用して動的クラスタ内のサーバー構成を指定するため、クラスタを拡張する際には各サーバーを手動で構成する必要はありません。『Oracle WebLogic Serverドメイン構成の理解』のサーバー・テンプレートに関する項を参照してください。
動的クラスタを使用すると、ドメイン内のサーバー・インスタンスの数を簡単に増加できます。動的クラスタを構成する際、最大負荷時に必要になると予想されるサーバー・インスタンスの数を指定できます。WebLogic Serverは、指定された数のサーバー・インスタンスを作成し、それぞれに対して計算済の属性値を適用します。追加のサーバー容量が必要な場合は、最初にサーバー・インスタンスを手動で構成してクラスタに追加することなく、そのサーバー・インスタンスを起動できます。動的クラスタの構成の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの動的クラスタの作成に関する項を参照してください。クラスタを作成する際の設計およびデプロイメントに関するベスト・プラクティスについては、クラスタリングのベスト・プラクティスに関する項を参照してください。
サーバー・テンプレートを使用して、動的クラスタを作成し、必要なサーバー・インスタンスの数を指定すると、WebLogic Serverは計算を行い、次の属性に計算済の値を使用します。
サーバー名
(オプション)リスニング・ポート(クリア・テキストおよびSSL)
(オプション)マシンまたは仮想マシン
(オプション)ネットワーク・アクセス・ポイントのリスニング・ポート
計算済のサーバー名は、ServerNamePrefix
属性によって制御されます。サーバー名には、指定された接頭辞が付き、その後に索引番号が続きます。たとえば、接頭辞がdyn-server-
に設定されている場合、動的サーバーの名前は、(指定したサーバー・インスタンスの数に応じて)dyn-server-1
、dyn-server-2
などのようになります。
サーバー・テンプレートでの設定および動的クラスタの構成によって、動的クラスタ内のサーバー・インスタンスのリスニング・ポートが決まります。これらの設定の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの動的クラスタの作成に関する項を参照してください。WebLogic Serverでは、デフォルトでリスニング・ポートが計算されますが、これは動的クラスタの構成によって無効化することもできます。リスニング・ポート設定は、CalculatedListenPorts
属性によって制御されます。
サーバー・テンプレートまたはクラスタ構成自体で動的クラスタのリスニング・ポートを明示的に定義すると、その値は、最初に生成されたサーバー・インスタンスで使用され、それ以降のサーバー・インスタンスでは値が1ずつ増えていきます。デフォルトのリスニング・ポートが指定されると、WebLogic Serverは、百の位を1つ増やし、そこから続けます。表11-1は、計算済のリスニング・ポート値の例を示しています。
表11-1 リスニング・ポートの計算
リスニング・ポートのタイプ | サーバー・テンプレート内の構成設定 | 動的サーバーのリスニング・ポート値 |
---|---|---|
サーバーのリスニング・ポート |
リスニング・ポートは設定されません |
dyn-server-1: 7101 dyn-server-2: 7102 ... |
サーバーのリスニング・ポート |
リスニング・ポートは7300に設定されます |
dyn-server-1: 7301 dyn-server-2: 7302 ... |
サーバーのSSLリスニング・ポート |
SSLリスニング・ポートは設定されません |
dyn-server-1: 8101 dyn-server-2: 8102 ... |
サーバーのSSLリスニング・ポート |
SSLリスニング・ポートは8200に設定されます |
dyn-server-1: 8201 dyn-server-2: 8202 ... |
サーバーのネットワーク・アクセス・ポイントのリスニング・ポート |
ネットワーク・アクセス・ポイントのリスニング・ポートは設定されません |
dyn-server-1: 9101 dyn-server-2: 9102 ... |
サーバーのネットワーク・アクセス・ポイントのリスニング・ポート |
ネットワーク・アクセス・ポイントのリスニング・ポートは9200に設定されます |
dyn-server-1: 9201 dyn-server-2: 9202 ... |
サーバーのレプリケーション・ポート |
レプリケーション・ポートは8100に設定されます |
dyn-server-1: 8100 dyn-server-2: 8101 ... |
サーバーのレプリケーション・ポート |
レプリケーション・ポートは8100-8104に設定されます |
dyn-server-1: 8100-8104 dyn-server-2: 8105-8109 dyn-server-3: 8110-8114 ... |
システム・プロパティを使用して、サーバーの起動時にリスニング・ポートをオーバーライドすることもできます。次に例を示します。
リスニング・ポートをオーバーライドする手順は次のとおりです。
-Dweblogic.ListenPort=7305
SSLリスニング・ポートをオーバーライドする手順は次のとおりです。
-Dweblogic.ssl.ListenPort=7403
mynap
という名前のネットワーク・アクセス・ポイントのリスニング・ポートをオーバーライドする手順は次のとおりです。
-Dweblogic.networkaccesspoint.mynap.ListenPort=8201
動的クラスタのCalculatedMachineNames
およびMachineNameMatchExpression
属性は、動的クラスタ内のサーバー・インスタンスがマシンにどのように割り当てられるかを制御します。CalculatedMachineNames
属性がfalse
に設定されている場合、動的クラスタはマシンに割り当てられません。CalculatedMachineNames
属性がtrue
に設定されている場合、MachineNameMatchExpression
属性が使用されて、動的サーバーで使用されているマシンのセットが選択されます。MachineNameMatchExpression
属性が設定されていない場合、ドメイン内のすべてのマシンが選択されます。割当は、ラウンド・ロビン・アルゴリズムを使用して行われます。表11-2は、動的クラスタにおけるマシン割当の例を示しています。
この項では、WebLogic Scripting Tool (WLST)を使用して動的クラスタを作成する方法について説明します。
サーバー・テンプレートを作成し、サーバー・テンプレートで必要なサーバー属性を指定します。
動的クラスタを作成し、必要なクラスタ属性を指定します。
動的クラスタのサーバー・テンプレートを設定します。
動的クラスタで許可されるサーバー・インスタンスの最大数を設定します。
適切なWebLogic Serverメソッドを使用して、動的クラスタ内のサーバーを起動および停止します。
注意: 管理コンソールで動的クラスタを作成する際、WebLogic Serverにより、サーバー・テンプレート、動的クラスタ、および指定された数のサーバー・インスタンスが作成されます。それらを個別に作成する必要はありません。 管理コンソールを使用した動的クラスタの作成の詳細は、Oracle WebLogic Server管理コンソール・オンライン・ヘルプの動的クラスタの作成に関する項を参照してください。 |
次の例では、WLSTを使用して動的クラスタを作成する方法を示します。この例には、インライン・コメントが含まれています。
# # This example demonstrates the WLST commands needed to create a dynamic cluster # (dynamic-cluster). The dynamic cluster utilizes a server template # dynamic-cluster-server-template. To keep this example simple, error handling # was omitted. # connect() edit() startEdit() # # Create the server template for the dynamic servers and set the attributes for # the dynamic servers. Setting the cluster is not required. # dynamicServerTemplate=cmo.createServerTemplate("dynamic-cluster-server-template") dynamicServerTemplate.setAcceptBacklog(2000) dynamicServerTemplate.setAutoRestart(true) dynamicServerTemplate.setRestartMax(10) dynamicServerTemplate.setStartupTimeout(600) # # Create the dynamic cluster and set the dynamic servers. # dynCluster=cmo.createCluster("dynamic-cluster") dynServers=dynCluster.getDynamicServers() dynServers.setMaximumDynamicServerCount(10) dynServers.setServerTemplate(dynamicServerTemplate) # # Dynamic server names will be dynamic-server-1, dynamic-server-2, ..., # dynamic-server-10. # dynServers.setServerNamePrefix("dynamic-server-") # # Listen ports and machines assignments will be calculated. Using a round-robin # algorithm, servers will be assigned to machines with names that start with # dyn-machine. # dynServers.setCalculatedMachineNames(true) dynServers.setMachineNameMatchExpression("dyn-machine*") # # activate the changes # activate()
この結果得られるconfig.xml
ファイルは次のようになります。
<server-template> <name>dynamic-cluster-server-template</name> <accept-backlog>2000</accept-backlog> <auto-restart>true</auto-restart> <restart-max>10</restart-max> <startup-timeout>600</startup-timeout> </server-template> <cluster> <name>dynamic-cluster</name> <dynamic-servers> <server-template>dynamic-cluster-server-template</server-template> <maximum-dynamic-server-count>10</maximum-dynamic-server-count> <calculated-machine-names>true</calculated-machine-names> <machine-name-match-expression>dyn-machine*</machine-name-match-expression> <server-name-prefix>dynamic-server-</server-name-prefix> </dynamic-servers> </cluster>
起動スクリプト、管理コンソール、WLSTまたはノード・マネージャを使用して、動的でないクラスタを起動するのと同じ方法で動的クラスタを起動できます。サーバーの起動時に、サーバーの計算済の名前を指定します。計算済のサーバー名の詳細は、「サーバー名の計算」を参照してください。
始める前に、WebLogic Serverが、サーバー・インスタンスを実行するすべてのホストにインストールされていることを確認します。ノード・マネージャを使用してサーバー・インスタンスを起動および停止する場合は、それらのホスト上でノード・マネージャも実行する必要があります。
ノード・マネージャを使用して動的クラスタ内のサーバー・インスタンスを起動し、それらのサーバー・インスタンスをマシンに自動的にマップする場合は、動的クラスタを構成する前にマシンを構成する必要があります。Oracle WebLogic Server管理コンソール・オンライン・ヘルプのマシンの作成と構成に関する項を参照してください。
サーバーの起動を管理するために選択した方法と、すでにどの起動タスクを実行済であるかに応じて、クラスタ内のサーバー・インスタンスを起動する前に実行する必要のある他の手順がいくつかある場合があります。『Oracle WebLogic Serverサーバーの起動と停止の管理』のサーバーの起動(始める前に)に関する項を参照してください。
ノード・マネージャおよびWLSTを使用したクラスタの起動の詳細は、『WebLogic Scripting Toolの理解』のノード・マネージャを使用した、WebLogicドメインまたはクラスタ内の管理対象サーバーの起動に関する項を参照してください。
起動スクリプトを使用した、クラスタ内の管理対象サーバーの起動の詳細は、『Oracle WebLogic Serverサーバーの起動と停止の管理』の起動スクリプトを使用した管理対象サーバーの起動に関する項を参照してください。起動スクリプトを使用してサーバー・インスタンスを起動および停止する場合は、pack
およびunpack
コマンドを使用して、サーバー・インスタンスを実行するホストにドメインを拡張します。そして、startManagedWebLogic
起動スクリプトを使用して、起動するサーバー・インスタンスの名前を指定します。
動的でないサーバーを持つクラスタへのアプリケーションのデプロイと同じプロセスに従って、動的クラスタにアプリケーションをデプロイできます。クラスタへのアプリケーションのデプロイの詳細は、「アプリケーションをデプロイする」および「クラスタ化構成でのアプリケーションのデプロイメント」を参照してください。
デプロイメントに関する全般的なトピックは、『Oracle WebLogic Serverへのアプリケーションのデプロイ』を参照してください。
注意: アプリケーションを個々の動的サーバーにターゲット指定することはできません。アプリケーションをクラスタにターゲット指定する必要があります。そうすると、クラスタ内のすべての動的サーバーにアプリケーションがデプロイされます。 |
サーバー全体の移行およびサービスの移行は、動的クラスタでの使用に対してはサポートされていません。
動的クラスタは、個々の動的サーバー・インスタンスへのターゲット指定をサポートしていません。したがって、次のものを動的クラスタで使用することはできません。
クラスタにターゲット指定できないデプロイメント。これには、移行可能なターゲットが含まれます。
個々のサーバーを参照する構成属性。これには、JTA移行可能ターゲット、制約付き候補サーバー、ユーザーの優先サーバー、すべての候補サーバーおよびホスト・サーバーが含まれます。
サーバー固有の構成属性。これには、レプリケーション・グループ、セカンダリ・プリファレンス・グループおよび候補マシン(サーバー・レベル)が含まれます。
動的クラスタ上のJMSの制限もあります。詳細は、『Oracle WebLogic Server JMSリソースの管理』の簡素化されたJMSクラスタ構成に関する項を参照してください。