クラスタWebサービスにおける操作のリスト

クラスタWebサービスには、ノード・プロファイルを作成する操作と、ノードをEndeca Serverクラスタで管理する操作が含まれます。また、データ・ドメイン・プロファイルの定義と管理を行う操作およびクラスタとデータ・ドメインのステータスの確認を行う操作も含まれています。

操作の説明

クラスタWebサービスの使用方法:
  • ノード・プロファイルを定義します。ノード・プロファイルにより、Endeca Serverノードで基礎となるハードウェア特性を用意します。デプロイの際にEndeca Serverクラスタがノード・プロファイルをそのノードすべてに対して使用して、データ・ドメインが存在するノードにハードウェアを割り当てます。
  • データ・ドメイン・プロファイルを定義します。データ・ドメイン・プロファイルは、異なる種類のデータ・ドメイン用のテンプレートです。データ・ドメインをEndeca Serverクラスタに追加する前に、データ・ドメイン・プロファイルを作成する必要があります。

Endeca Serverノードをインストールしてデプロイすると、Endeca Serverノード・プロファイルとデータ・ドメイン・プロファイルを構成できます。次に、管理Webサービスを使用して、Endeca Serverノードでホストされるデータ・ドメインを追加して管理し、定義されたデータ・ドメイン・プロファイルを使用します。

リクエスト

クラスタWebサービスの入力は、そのリクエストの要素によって異なります。次に例を示します。
  • ノード・プロファイルを構成するには、setNodeProfile要素を使用して、CPUの数と利用可能なRAMの容量を指定します。
  • Endeca Serverノードをリストするには、listNodes要素を使用します(この操作ではパラメータは不要です)。
他の操作については、このトピックにおいて操作のリストで説明します。

レスポンス

リクエストの成功に応じて、クラスタWebサービスでは次を返します。
  • 問題がなくレスポンスが成功すると、空のレスポンス要素が返されます(listNodeslistDataDomainProfilesの操作は例外で、情報が返されます)。
  • 指定された名前のデータ・ドメインが存在している、データ・ドメイン・プロファイルがEndeca Serverクラスタで定義されていない、またはEndeca Serverクラスタにはリクエストの処理で十分なリソースがないなど、インスタンスでリクエストによりSOAPフォルトが返されます。

操作のリスト

クラスタWebサービスにより、次の操作ができます。それらの操作はリクエストにある要素で示されます。

リクエスト要素 説明
setNodeProfile カスタム・ノード・プロファイルを定義します。カスタム・ノード・プロファイルにより、ハードウェア特性をすべてのEndeca Serverクラスタ・ノードに対して設定し、CPUの数と利用可能なRAMの容量を指定できます。カスタム・ノード・プロファイルが存在しないと、新規ノードの追加時に、デフォルトのノード・プロファイルがEndeca Serverクラスタで使用されます。たとえば、デフォルトのノード・プロファイルに基づいて、最初のEndeca Serverノードがデプロイされた後、新規Endeca Serverノードをクラスタでデプロイする際にsetNodeProfile操作をいつでも使用できます。

カスタム・ノード・プロファイルを設定すると、新規Endeca Serverノードをクラスタでデプロイする際、現在のノードを含めてすべてのEndeca Serverノードでこのプロファイルが使用されます。

データ・ドメイン・プロファイルとデータ・ドメインを作成する前に、カスタム・ノード・プロファイルの構成をお薦めします(これは、ノード・プロファイルで決定されるEndeca Serverクラスタ・ノードの容量に依存するためです)。また、データ・ドメイン作成後にノード・プロファイルを変更すると、これがデータ・ドメインに影響する場合があります。

カスタム・ノード・プロファイルを定義するには、次を指定します。
  • numCpuCores。各Endeca Serverマシンで構成されるスレッドの数です。デフォルトは、コアごとに許可されているEndeca Serverスレッドの数endeca-threads-allowed-per-core (EndecaServer.properties)とコアの数を乗算した値です。(endeca-threads-allowed-per-coreのデフォルトは1.0です。)
  • ramSizeMB。このマシンでEndeca Serverアプリケーションをリクエストしている仮想メモリーの容量です。システムに応じて、さらに大きな容量およびシステムが使用できる容量が指定されます。
getNodeProfile setNodeProfileで設定されているように、Endeca Serverクラスタにおけるノードのハードウェア・プロファイルを返します。リクエストでは、CPUの数と利用可能なRAMの容量を返します。この操作では引数はありません。
deleteNode hostnameを指定することで、ノードをEndeca Serverクラスタから削除します。

削除しようとするノードがデータ・ドメインをホストしている場合、この操作で十分なリソースがクラスタにあると、Endeca Serverクラスタはデータ・ドメインを他のノードに移行しようとします。

Endeca Serverクラスタのリソース不足により、ノードでホストされるデータ・ドメインが他のノードに移行できない場合や、指定ノードがクラスタに存在しない場合、リクエストではフォルトが返されます。

listNodes クラスタのノードごとにホスト名とポートが格納されるリストを返します。この操作では引数は不要です。
putDataDomainProfile 新規データ・ドメイン・プロファイルを構成します。これによって、作成時にデータ・ドメインで利用可能なリソースを定義します。次の値を指定します。
  • namedescriptionは、データ・ドメイン・プロファイルの名前と説明です。
  • リーダー・ノードが問合せリクエストをフォロワ・ノードと共有(trueに設定される場合)するか、更新リクエスト処理専用(falseに設定される場合)にするかどうかをallowQueriesOnLeaderは示します。デフォルトはtrueです。
  • numFollowersは、問合せの負荷を処理するDgraphフォロワ・ノードの数です。デフォルトは0です。リーダー・ノードでの問合せが許可されていない場合は、numFollowersを1以上にする必要があります。
  • readOnlyは、データ・ドメインでその索引に対する読取りリクエストのみが処理されるかどうかを示します。デフォルトは、falseです。
  • このデータ・ドメインをホストするノードが他のデータ・ドメインと共有(trueに設定される場合)しながらEndeca Serverクラスタがその容量を超過できるか、そのリソースをその容量の範囲内でのみ共有(falseに設定される場合)するかどうかをallowOversubscribeは示します。デフォルトはtrueです。
  • numComputeThreadsは、このプロファイルを使用してデータ・ドメインのDgraphノードごとにリクエストを処理するために割り当てるスレッドの数です。値が指定されなかったり0が指定されると、このデフォルトは利用可能なプロセッサの数または4のうち大きい方の値になります。
  • computeCacheSizeMBは、各Dgraphノードで結果キャッシュに割り当てるRAMの容量(MB単位)です。値が指定されなかったり0が指定されると、DgraphノードをホストするEndeca Serverノードで利用可能なRAMの容量の10%として算出されるDgraphデフォルト・キャッシュ・サイズにこれがデフォルト設定されます。
  • autoIdleは、このデータ・ドメインがアイドル・タイムアウト中に問合せを受け取らなかった場合、自動的にアイドル状態にするかどうかを示します。falseに設定すると、データ・ドメインはアイドル状態にはなりません。trueに設定すると、アイドル・タイムアウトの期限が切れた後、データ・ドメインがアイドル状態になります。デフォルトは、falseです。
  • idleTimeoutMinutes (オプション)。データ・ドメインを自動アイドル化するように構成されている際、問合せを受け取らなかった場合にアイドル状態になるまでの時間(分単位)。指定しなかった場合は、デフォルト値の10分が使用されます。このパラメータは、自動アイドル化を許可されていないデータ・ドメインには影響を与えません。
putDataDomainProfile (続き) putDataDomainProfileの追加の値は次のとおりです。
  • startupTimeoutSecondsは、Dgraphプロセスの起動に許容される時間(秒単位)です。デフォルトは600秒です。shutdownTimeoutSecondsは、Dgraphプロセスの停止に許容される時間(秒単位)です。デフォルトは30秒です。
  • sessionIdTypeは、リクエストをデータ・ドメインにルーティングする際、セッション・アフィニティを確立するために使用する方法です。デフォルトはヘッダーです。値は大/小文字が区別されません。
  • sessionIdKeyは、sessionIdTypeセッション・アフィニティ・メソッドでチェックされるオブジェクトの名前です。デフォルトはX-Endeca-Session-IDです。
  • Dgraphのフラグは次のとおりです。enableAncestorCountsbacklogTimeoutminRefinementSamplesenableExactImplicitsnumImplicitSamplesnetTimeoutSecondsmaxSearchTermssnippetCutoffsearchCharLimitdisableSnippetsenableAllDynamicsMAsdisableContractionmaxWildcards。詳細は、「データ・ドメイン・プロファイルのパラメータ」を参照してください。
  • args(オプション)。追加のDgraphフラグのリスト。リストについては、『Oracle Endeca Server管理者ガイド』を参照してください。
getDataDomainProfile 指定されたnameのデータ・ドメイン・プロファイルを返します。putDataDomainProfileで指定された情報と同じ情報をリクエストで返します。
deleteDataDomainProfile 指定されたデータ・ドメイン・プロファイルをEndeca Serverから削除します。
listDataDomainProfiles putDataDomainProfileで指定された情報と同じ情報を含むすべての定義済データ・ドメイン・プロファイルのリストを返します。
getClusterHealth Endeca Serverノードとそれらのステータス、クラスタ・コーディネータを実行しているノードのポートとホスト名およびそれらのステータス、およびデータ・ドメインの名前とステータスが返されます。
getDataDomainHealth 指定されたnameのデータ・ドメインのヘルスを返し、データ・ドメインにあるDgraphノードのステータスをリストします。
getNodeHealth Endeca Serverノードのホスト名とポート、およびノードのステータスが返されます。さらに、このEndeca ServerノードでホストされるDgraphノード(これらのDgraphノードは、異なるデータ・ドメイン・クラスタに属します)のステータスをリストします。

ノードのホスト名を指定する必要があります。

usage Dgraphプロセス用フラグのリストを返します。これらのフラグは、putDataDomainProfile操作のargs要素における値として使用できます。

クラスタWebサービスへのリクエストの例

次の例は、getDataDomainHealth操作におけるクラスタWebサービスのリクエストとレスポンスを示します。

この簡略な例は、データ・ドメインであるtest2のヘルスに関するリクエストを示します。
<ns1:getDataDomainHealth xmlns:ns1="http://www.endeca.com/endeca-server/cluster/2/0">
   <ns1:name>test2</ns1:name>
</ns1:getDataDomainHealth>
注意: このドキュメントはAPIリファレンスで補足されます。クラスタWebサービスで使用される要素とタイプのリファレンス情報については、Oracle Endeca Server APIリファレンスのクラスタWebサービスAPIリファレンスに関する項を参照してください。