2.8.8 クラスタで使用する定義コマンド
多くのコマンドには,クラスタの操作に特に関係する属性があります。これらの属性について,コマンドの種類に応じて次に示すグループに分けて説明します。
-
チャネル定義コマンド
-
キュー定義コマンド
コマンドでは,クラスタ名はClusterName属性を使用し,長さ48文字以下で指定します。参加できるクラスタは一つです。同一のキューマネジャ内で指定するクラスタ名は,すべて同じにする必要があります。
- 〈この項の構成〉
(1) チャネル定義コマンド
TCP定義のmqtalccha定義コマンドには,クラスタに適用できるパラメタと属性があります。クラスタに特別なチャネルタイプとしてclusrcvrとclussdrがあります。クラスタレシーバチャネルを定義するには,mqtalccha定義コマンドの-y typeオペランドにclusrcvrを指定します。クラスタレシーバチャネル定義に必要なそのほかの属性の多くは,レシーバチャネルまたはセンダチャネルの定義に適用されるものと同じです。クラスタセンダチャネルを定義するには,mqtalccha定義コマンドの-y typeオペランドにclussdrを指定し,さらに,センダチャネルの定義に使用するものと同じ各種の属性を指定します。
TCP定義のmqtalccha定義コマンドおよびmqttcpcr定義コマンドに指定する,クラスタに関連する属性は次に示すとおりです。
-
ClusterName(mqtalccha -a clusterオペランド指定値)
-
NetworkPriority(mqtalccha -p netprtyオペランド指定値)
-
OwnIPAddrまたはOwnHostName(mqtalccha -rオプション指定値)
-
OwnPortNumまたはOwnServName(mqttcpcr -rオプション指定値)
ClusterName属性は,クラスタセンダチャネルまたはクラスタレシーバチャネルを指定する場合だけ適用できます。NetworkPriority属性は,クラスタレシーバチャネルだけに適用できます。ClusterName属性は,チャネルに関連づけるクラスタの名前を指定するために使用します。NetworkPriority属性は,チャネルの優先順位を指定するために使用します。これは,ワークロード管理機能を補助するためのものです。あて先に達するのに複数のルートを選択できる場合,ワークロード管理機能は,優先順位が最も高いルートを選択します。
クラスタレシーバチャネルに指定するOwnIPAddr属性またはOwnHostName属性は,キューマネジャのネットワークアドレスを識別するためにクラスタ全体で使用されます。これらの値は,対応するクラスタセンダチャネルのPartnerIPAddr属性またはPartnerHostName属性に使用されるため,注意して指定してください。
クラスタレシーバプロセスに指定するOwnPortNum属性またはOwnServName属性は,キューマネジャのポート番号を識別するためにクラスタ全体で使用されます。これらの値は,対応するクラスタセンダチャネルのPartnerPortNum属性またはPartnerServName属性に使用されるため,注意して指定してください。
- 注意事項
これらの属性は,mqtdmpedコマンドで確認できます。
クラスタセンダチャネルまたはクラスタレシーバチャネルの状態を表示するためにmqtlschaコマンドを使用できます。このコマンドでは,手作業で作成された事前定義チャネルだけでなく,MQTサーバが認識するすべてのチャネルの状態を表示し,自動定義チャネルの状態も表示できます。しかし,リポジトリで管理するすべてのチャネルの状況が取得できるものではありません。
(2) キュー定義コマンド
モデルキューの属性定義(MQAサービス定義のmqaqueatl定義コマンド),リモートキューのローカル定義(MQAサービス定義のmqaremque定義コマンド),および別名キューの属性定義(MQAサービス定義のmqaalsque定義コマンド)の各定義コマンドには,クラスタに関連する属性があります。
- 注意事項
-
MQAサービス定義のmqaqueatl定義コマンドの-uオプションで,transmissionを指定した場合,キューは転送用に使用されるので,クラスタに参加するキューは作成できません。
-
ClusterName属性は,キューが所属するクラスタの名前を指定するために使用します。
-
DefBind属性は,アプリケーションで,MQOPEN命令にMQOO_BIND_AS_Q_DEFが指定されている場合に,バインディングを使用することを指定するために使用します。この属性のデフォルトはfixedです。これは,キューをオープンする時にキューハンドルを同名のクラスタキューのうち,特定のキューにバインドすることを指定します。これの代わりに,not_fixedを使用して,キューハンドルを特定のキューにバインドしないよう指定することもできます。MQAサービス定義のmqaqueatl定義コマンドの-wオプションにfixedまたはnot_fixedを指定すると,キューはMQBND_BIND_ON_OPENまたはMQBND_BIND_NOT_FIXEDの属性で定義されます。クラスタ内のすべての同名クラスタキューについて,DefBind属性を同じ値に設定することをお勧めします。
これらの属性は,mqainqコマンドの出力にも適用されます。mqainqコマンドにはキューマネジャ名を指定できます。