いくつかの異なるオプションを使用して、構成内のさまざまなコンテナー・サーバー上に いつ断片を配置するかを制御できます。始動時は、断片の配置を遅らせるよう選択できます。すべての コンテナー・サーバーを実行中の場合は、サーバーを保守する間、配置を中断、再開、または 変更する必要がある可能性があります。
始動時の配置の制御
環境の始動時、断片の配置をいつ開始するかを制御できます。 デフォルトである種の制御は実施されます。配置を制御するアクションを何も取らなければ、断片の配置は 即時に開始されます。断片がすぐに配置されると、後続のコンテナー・サーバーが開始するにつれ 断片の配置が均等でなくなる可能性があり、配分のバランスを取るために追加の配置操作が実行されます。
コンテナー・サーバーを開始する前に、xscmd -c suspendBalancing コマンドを使用して、特定の データ・グリッドおよびマップ・セットの断片のバランシングを停止します。コンテナー・サーバーが開始されたら、xscmd -c resumeBalancing コマンドを 使用して、コンテナー・サーバーでの断片の配置を開始できます。
placementDeferralInterval プロパティーは、コンテナー・サーバーでの 断片配置のサイクル数を最小にします。 断片配置は定義された時間間隔で起動されます。
カタログ・サーバーのサーバー・プロパティー・ファイル内で placementDeferralInterval プロパティーを設定します。 組み込みサーバー API を使用している場合は、CatalogServerProperties インターフェースの setPlacementDeferralInterval メソッドを使用してください。このプロパティーは、コンテナー・サーバー上に 断片を配置するまでの時間 (ミリ秒数) を設定します。このプロパティーのデフォルト値は 15 秒です。 デフォルト値では、コンテナー・サーバーが開始しても、プロパティーに指定された時間が経過するまで 配置は開始されません。複数のコンテナー・サーバーが連続して開始する場合、所定の間隔内に 新しいコンテナー・サーバーが開始すると、遅延インターバル・タイマーはリセットされます。例えば、最初の コンテナー・サーバーの 10 秒後に 2 番目のコンテナー・サーバーが開始すれば、2 番目のコンテナー・サーバーの 開始後 15 秒経過するまで配置は開始されません。 しかし、2 番目のコンテナー・サーバーの 20 秒後に 3 番目のコンテナー・サーバーが開始した場合、配置は 既に最初の 2 つのコンテナー・サーバーで開始されています。
コンテナー・サーバーが使用不可になると、カタログ・サーバーがそのイベントを認識し次第、 配置が起動され、できるだけ速やかにリカバリーできるようにします。
以前 numInitialContainers 属性を使用していた場合、引き続き この属性を使用できます。しかし、配置を制御する目的では、numInitialContainers 属性 よりも xscmd -c suspendBalancing および xscmd -c resumeBalancing コマンド、 その次には placementDeferralInterval を使用するほうが推奨されます。numInitialContainers 属性は、 この mapSet エレメント内の断片の初期配置を行うために必要とするコンテナー・サーバーの数を指定します。 numInitialContainers 属性は、デプロイメント・ポリシー記述子 XML ファイル内にあります。numInitialContainers と placementDeferralInterval を 両方設定した場合、placementDeferralInterval プロパティーの値に 関係なく、numInitialContainers 値が満たされるまで配置は発生しないので注意してください。
初期始動後の配置の制御
xscmd -c triggerPlacement -g my_OG -ms my_Map_Set コマンドを使用して、強制しなければ 配置は発生しない可能性がある一時点で、強制的に配置を行うことができます。 ここで、my_OG と my_Map_Set は、実際のデータ・グリッドとマップ・セットの 値に設定してください。 例えば、placementDeferralInterval プロパティーで指定された時間が まだ経過していないときや、バランシングが中断状態のときにこのコマンドを実行できます。
xscmd -c swapShardWithPrimary コマンドを使用して、新しいプライマリー断片になる レプリカ断片を割り当てます。前のプライマリー断片はレプリカになります。
xscmd -c balanceShardTypes コマンドを使用して、構成内で実行中の コンテナー・サーバー間でプライマリー断片とレプリカ断片の比率が衡平になるよう調整します。各コンテナー・サーバーでの比率は、断片 1 つの差の範囲内に保たれます。