Sun Java ロゴ     前へ      目次      索引      次へ     

Sun ロゴ
Sun Java System Message Queue 3.5 SP1 管理ガイド 

第 5 章
ブローカの起動と設定

Sun JavaTM System Message Queue をインストールしたあとで、imqbrokerd コマンドを使用してブローカを起動します。ブローカインスタンスの設定は、設定ファイルセットと、設定ファイル内の対応するプロパティをオーバーライドする imqbrokerd コマンドで渡されるオプションによって決まります。

この章では、imqbrokerd コマンドの構文と、コマンド行オプションや設定ファイルを使用してブローカインスタンスを設定する方法について説明します。さらに、次の方法についても説明します。

Windows のサービスとしてブローカを起動し、使用する方法については、「Windows のサービスとしてのブローカの使用」を参照してください。


設定ファイル

ブローカの設定に使用されるインストール済みのブローカ設定ファイルテンプレートは、付録 A 「Message Queue データの場所」に示すとおり、オペレーティングシステムごとに異なるディレクトリに格納されています。

このディレクトリには、次のファイルが格納されています。

インスタンス設定ファイル

初めてブローカを実行すると、インスタンス設定ファイルが作成されます。このファイルを使用して、ブローカのインスタンスの設定プロパティを指定できます。インスタンス設定ファイルは、その設定ファイルが関連付けられているブローカインスタンスの名前 (instanceName) によって識別されたディレクトリに書き込まれます (付録 A 「Message Queue データの場所」を参照)。

インスタンス設定ファイルは、ブローカインスタンスによって管理されます。このファイルは、管理ツールを使用して設定に変更が加えられた場合に変更されます。インスタンス設定ファイルを手作業で編集して、設定を変更できます (「インスタンス設定ファイルの編集」を参照)。手作業で変更するには、.../instances/instanceName ディレクトリの所有権が必要です。所有権がなければ、root としてログインしてディレクトリの権限を変更する必要があります。

クラスタでブローカインスタンスを接続する場合 (「マルチブローカクラスタ (Enterprise Edition)」を参照)、クラスタ設定ファイルを使用して、クラスタ設定情報を指定する必要があります。詳細は、「クラスタ設定プロパティ」を参照

プロパティ値のマージ

起動時に、システムは異なる設定ファイルのプロパティ値をマージします。インストール時に設定された値、およびインスタンス設定ファイルに設定された値が使用され、デフォルトの設定ファイルで指定された値はオーバーライドされます。imqbrokerd コマンドオプションを使用すると、生成された値をオーバーライドできます。この方式を図 5-1 で図解します。

図 5-1 ブローカ設定ファイル

図は、コマンド行オプションが config.properties をオーバーライドし、以下順に install.properties、default options をオーバーライドする状況を示す

プロパティ命名構文

設定ファイルにある Message Queue プロパティの定義では、次の命名構文を使用します。

たとえば、次のエントリは、ブローカが追加メッセージを拒否するまでに、メモリーと持続ストレージに最大 50,000 メッセージを保持するように指定します。

次のエントリは、毎日、つまり 86400 秒ごとに新しいログファイルを作成するように指定します。

表 5-1 に、ブローカ設定プロパティとそのデフォルト値をアルファベット順に一覧表示します。

インスタンス設定ファイルの編集

初めてブローカインスタンスが実行されると、config.properties ファイルが自動的に作成されます。このインスタンス設定ファイルを編集して、対応するブローカインスタンスの動作やリソースの使用をカスタマイズできます。

ブローカインスタンスが config.properties ファイルを読み込むのは起動時だけです。config.propertiesファイルへの変更を確定するには、次の操作のどちらかを行います。

表 5-1 に、ブローカインスタンス設定プロパティとそのデフォルト値をアルファベット順に一覧表示します。各プロパティの意味と使用に関する詳細は、指定された相互参照の節で確認してください。

表 5-1 ブローカインスタンス設定プロパティ 

プロパティ名

データ型

デフォルト値

参照先

imq.accesscontrol.enabled

ブール

true

表 2-6

imq.accesscontrol.file.
filename

文字列

accesscontrol.
properties

表 2-6

imq.authentication.basic.
user_repository

文字列

file

表 2-6

imq.authentication.
client.response.timeout

整数 (秒)

180

表 2-6

imq.authentication.type

文字列

digest

表 2-6

imq.autocreate.destination.
isLocalOnly

ブール

false

表 2-10

imq.autocreate.destination.
limitBehavior

文字列

REJECT_NEWEST

表 2-10

imq.autocreate.destination.
maxBytesPerMsg

バイト文字列1

10k

表 2-10

imq.autocreate.destination.
maxNumMsgs

整数

100,000

表 2-10

imq.autocreate.destination.
maxNumProducers

整数

100

表 2-10

imq.autocreate.destination.
maxTotalMsgBytes

バイト文字列1

10m

表 2-10

imq.autocreate.queue

ブール

true

表 2-10

imq.autocreate.queue.
consumerFlowLimit

整数

1000

表 2-10

imq.autocreate.queue.
localDeliveryPreferred

ブール

false

表 2-10

imq.autocreate.queue.
maxNumActiveConsumers

整数

1

表 2-10

imq.autocreate.queue.
maxNumBackupConsumers

整数

0

表 2-10

imq.autocreate.topic

ブール

true

表 2-10

imq.autocreate.topic.
consumerFlowLimit

整数

1,000

表 2-10

imq.cluster.property_name

 

表 5-3

imq.hostname

文字列

すべての使用可能な IP アドレス

表 2-3

imq.httpjms.http.property_name

 

表 C-1

imq.httpsjms.https.
property_name

 

表 C-3

imq.keystore.property_name

 

表 8-8

imq.log.console.output

文字列

ERROR|WARNING

表 2-9

imq.log.console.stream

文字列

ERR

表 2-9

imq.log.file.dirpath

文字列

付録 A 「Message Queue データの場所」を参照

表 2-9

imq.log.file.filename

文字列

log.txt

表 2-9

imq.log.file.output

文字列

ALL

表 2-9

imq.log.file.rolloverbytes

整数 (バイト)

-1
(ロールオーバーな し)

表 2-9

imq.log.file.rolloversecs

整数 (秒)

604800

表 2-9

imq.log.level

文字列

INFO

表 2-9

imq.log.syslog.facility

文字列

LOG_DAEMON

表 2-9

imq.log.syslog.identity

文字列

imqbrokerd_${imq.
instanceName}

表 2-9

imq.log.syslog.logconsole

ブール

false

表 2-9

imq.log.syslog.logpid

ブール

true

表 2-9

imq.log.syslog.output

文字列

ERROR

表 2-9

imq.log.timezone

文字列

該当地域のタイムゾーン

表 2-9

imq.message.expiration.
interval

整数 (秒)

60

表 2-4

imq.message.max_size

バイト文字列1

70m

表 2-4

imq.metrics.enabled

ブール

true

表 2-9

imq.metrics.interval

整数 (秒)

-1
(報告なし)

表 2-9

imq.metrics.topic.enabled

ブール

true

表 2-9

imq.metrics.topic.interval

整数 (秒)

60

表 2-9

imq.metrics.topic.persist

ブール

false

表 2-9

imq.metrics.topic.timetolive

整数 (秒)

300

表 2-9

imq.passfile.dirpath

文字列

付録 A 「Message Queue データの場所」を参照

表 2-6

imq.passfile.enabled

ブール

false

表 2-6

imq.passfile.name

文字列

passfile

表 2-6

imq.persist.file.
destination.message.
filepool.limit

整数

100

表 2-5

imq.persist.file.message.
cleanup

ブール

false

表 2-5

imq.persist.file.message.
filepool.cleanratio

整数

0

表 2-5

imq.persist.file.message.
max_record_size

バイト文字列1

1m

表 2-5

imq.persist.file.sync.
enabled

ブール

false

表 2-5

imq.persist.jdbc.property_name

 

表 B-1

imq.persist.store

文字列

file

表 2-5

imq.ping.interval

整数

120

表 2-3

imq.portmapper.backlog

整数

50

表 2-3

imq.portmapper.hostname

文字列

imq.hostname から継承

表 2-3

imq.portmapper.port

整数

7676

表 2-3

imq.resource_state.count

整数
(パーセント)

5000 (green)
500 (yellow)
50 (orange)
0 (red)

表 2-4

imq.resource_state.
threshold

整数
(パーセント)

0 (green)
80 (yellow)
90 (orange)
98 (red)

表 2-4

imq.service.activelist

list

jms、admin

表 2-3

imq.service_name.
accesscontrol.enabled

ブール

システム全体のプロパティから値を継承

表 2-6

imq.service_name.
accesscontrol.file.filename

文字列

システム全体のプロパティから値を継承

表 2-6

imq.service_name.
authentication.type

文字列

システム全体のプロパティから値を継承

表 2-6

imq.service_name.max_threads

整数

1000 (jms)
500 (ssljms)
500 (httpjms)
500 (httpsjms)
10 (admin)
10 (ssladmin)

表 2-3

imq.service_name.min_threads

整数

10 (jms)
10 (ssljms)
10 (httpjms)
10 (httpsjms)
4 (admin)
4 (ssladmin)

表 2-3

imq.service_name.protocol_type.
hostname

文字列

imq.hostname から継承

表 2-3

imq.service_name.protocol_type.
port

整数

0
(動的に割り当てら れる)

表 2-3

imq.service_name.
threadpool_model

文字列

dedicated (jms)
dedicated (ssljms)
dedicated (httpjms)
dedicated (httpsjms)
dedicated (admin)
dedicated (httpsjms)

表 2-3

imq.shared.
connectionMonitor_limit

整数

512 (Solaris および Linux の場合)
64 (Windows の場合)

表 2-3

imq.system.max_count

整数、
0 (制限なし)

-1

表 2-4

imq.system.max_size

バイト文字列1
0 (制限なし)

-1

表 2-4

imq.transaction.autorollback

ブール

false

表 2-4

imq.user_repository.ldap.
property_name

 

表 8-5

1 データ型がバイト文字列となっている値は、バイト、K バイト、M バイト単位で表されます。たとえば、次のように指定します。1000 は 1000 バイト、7500b は 7500 バイト、77k は 77K バイト (77 x 1024 = 78848 バイト)、17m は 17M バイト (17 x 1024 x 1024 = 17825792 バイト) をそれぞれ表します。


ブローカの起動

ブローカインスタンスを起動するには、imqbrokerd コマンドを使用します。


管理コンソール (imqadmin) またはコマンドユーティリティ (imqcmd) を使用してブローカインスタンスを起動することはできません。これらの Message Queue 管理ツールを使用するには、事前にブローカインスタンスを実行する必要があります。


1 つ以上のプロパティ値をオーバーライドするには、有効な imqbrokerd コマンド行オプションを指定します。コマンド行オプションは、ブローカ設定ファイルの値をオーバーライドします。ただし、オーバーライドの対象は現在のブローカセッションだけです。コマンド行オプションは、インスタンス設定ファイルに書き込まれません。

imqbrokerd コマンドの構文

imqbrokerd コマンドの構文は、次のとおりです。オプションはスペースで区切ります。

imqbrokerd [[ -Dproperty=value]...]

    [ -backup fileName]

    [ -cluster "[broker1] [[,broker2]...]"

    [ -dbuser userName] [ -dbpassword password]

    [ -force]

    [ -h|-help]

    [ -javahome path]

    [ -ldappassword password]

    [ -license licenseName]

    [ -loglevel level]

    [ -metrics interval]

    [ -name instanceName]

    [ -password keypassword] [ -passfile fileName]

    [ -port number]

    [ -remove instance]

    [ -reset data]

    [ -restore fileName]

    [ -shared]

    [ -silent|-s] [ -tty]

    [ -upgrade-store-nobackup]

    [ -version]

    [ -vmargs arg1 [[arg2]...]


Solaris では、/etc/imq/imqborkerd.conf 設定ファイルの RESTART プロパティを YES に指定すると、異常終了後に、ブローカが自動的に再起動するように設定できます。



Solaris および Linux プラットフォームでは、設定情報と持続データを保持するディレクトリに対するアクセス権は、最初にブローカインスタンスを起動するユーザーの umask コマンドによる設定に依存します。したがって、ブローカインスタンスを正常に動作させるためには、それ以降も所定のユーザーだけが起動する必要があります。


起動の例

次の例は、imqbrokerd コマンドの使用方法を示しています。imqbrokerd コマンド行オプションの詳細は、表 5-2 を参照してください。

デフォルトのブローカ名と設定を使用するブローカインスタンスを起動するには

次のコマンドを使用します。

このコマンドにより、ポート 7676 のポートマッパを持つローカルマシン上にある、ブローカのデフォルトのインスタンス (imqbroker) が起動されます。

Enterprise Edition のトライアルライセンスでブローカインスタンスを起動するには

Platform Edition ライセンスは持っているが、90 日間の Enterprise Edition 機能を試してみたい場合は、-license コマンド行オプションで使用ライセンスとして「try」を指定すると、Enterprise Edition のトライアルライセンスを有効にできます。

ブローカインスタンスを起動するたびにこのオプションを使用する必要があります。使用しない場合、デフォルトで Platform Edition の基本ライセンスに戻ります。

プラグイン持続で名前付きブローカインスタンスを起動するには

プラグインデータストア (付録 B 「プラグイン持続の設定」を参照) を使用する、ユーザー名とパスワードが必要な myBroker という名前のブローカを起動するには、次のコマンドを使用します。

imqbrokerd オプションの概要

表 5-2 に、imqbrokerd コマンドのオプションと、各オプションから影響を受ける設定プロパティがあれば、そのプロパティを示します。

表 5-2 imqbrokerd オプション 

オプション

影響を受けるプロパティ

説明

-backup fileName

影響なし

ブローカクラスタに対してのみ適用。指定したファイルに、マスターブローカの設定変更レコードをバックアップする。「設定変更レコードのバックアップ」を参照

-cluster"[broker1]
[[,broker2]...]"


broker
は次のどちらかになる

  • host[:port]
  • [host]:port

imq.cluster.brokerlist に接続先となるブローカのリストを設定する

ブローカクラスタに対してのみ適用。特定のホストやポートにある全ブローカに接続する。このリストは、imq.cluster.brokerlist プロパティにあるリストとマージされる。host に値を指定しない場合、localhost が使用される。port に値を指定しない場合、7676 が使用される。このオプションを使用して複数のブローカに接続する方法については、「クラスタの操作 (Enterprise Edition)」を参照

-dbpassword password

imq.persist.jdbc.
password
に特定のパスワードを設定する

プラグインの JDBC 準拠のデータストアに対するパスワードを指定する。付録 B 「プラグイン持続の設定」を参照

-dbuser userName

imq.persist.jdbc.user
を指定されたユーザー名に設定する

プラグインの JDBC 準拠のデータベースに対するユーザー名を指定する。付録 B 「プラグイン持続の設定」を参照

-Dproperty=value

システムプロパティを設定する。インスタンス設定ファイル内の対応するプロパティ値をオーバーライドする

指定したプロパティを指定した値に設定する。ブローカ設定プロパティについては、表 5-1 を参照

注意 : D オプションを使用して設定するプロパティのスペルと形式は、十分に確認すること。誤った値を渡した場合、システムからの警告なしに Message Queue でプロパティを設定できなくなる

-force

影響なし

ユーザーの確認なしで、アクションを実行する。このオプションは、通常は確認が必要な -remove instance オプションと -upgrade-store-nobackup オプションにだけ適用される

-h|-help

影響なし

ヘルプを表示する。コマンド行ではそれ以外のことは実行されない

-javahome path

影響なし

代替の Java 2 準拠の JDK へのパスを指定する。デフォルトでは、バンドルされたランタイムを使用する

-ldappassword
password

imq.user_repository.
ldap.password
を指定されたパスワードに設定する

LDAP ユーザーリポジトリにアクセスするためのパスワードを指定する。「ユーザーリポジトリに LDAP サーバを使用する」を参照

-license [licenseName]

影響なし

使用している Message Queue 製品エディションのデフォルトと異なる場合、読み込みのためのライセンスを指定する。ライセンス名を指定しない場合、システムにインストールされている全ライセンスが一覧表示される。インストールされた Message Queue エディションによって、licenseName の値は、pe (Platform Edition - 基本機能の場合)、try (Platform Edition - 90 日間の企業向けトライアル機能の場合)、および unl (Enterprise Edition の場合) のどれかになる。「製品エディション」を参照

-loglevel level

imq.broker.log.level に特定のレベルを設定する

ログ作成レベルを、NONEERRORWARNINGINFO のどれかに指定する。デフォルト値は INFO。詳細は、「ロガー」を参照

-metrics interval

imq.metrics.
interval
を特定の秒数に設定する

ブローカメトリックスが一定間隔 (秒単位) でロガーに書き込まれるように指定する

-name instanceName

imq.instancename に特定の名前を設定する

このブローカのインスタンス名を指定し、対応するインスタンス設定ファイルを使用する。ブローカ名を指定しない場合、インスタンス名は imqbroker に設定される
: 同一ホスト上で複数のブローカのインスタンスを実行している場合、各インスタンスの名前は一意となる必要がある

-passfile fileName

imq.passfile.
enabled
true に設定する。jmq.passfile.dirpath にファイルを含むパスを指定する
imq.passfile.name にファイル名を設定する

SSL キーストア、LDAP ユーザーリポジトリ、および JDBC 準拠のデータベースのパスワードの読み込み元となるファイル名を指定する。詳細は、「passfile の使用」を参照

-password keypassword

imq.keystore.password に特定のパスワードを設定する

SSL 証明書のキーストアに対するパスワードを指定する。詳細は、「セキュリティマネージャ」を参照

-port number

imq.portmapper.port に特定の数を設定する

ブローカのポートマッパのポート番号を指定する。デフォルトでは 7676 に設定されている。同一サーバ上でブローカの 2 つのインスタンスを実行するには、各ブローカのポートマッパが異なるポート番号となる必要がある。Message Queue クライアントはこのポート番号を使用してブローカインスタンスに接続する

-remove instance

影響なし

ブローカのインスタンスが削除される。つまり、インスタンス設定ファイル、ログファイル、持続ストア、その他インスタンスに関連するファイルやディレクトリが削除される。-force オプションを一緒に指定しないかぎり、ユーザーの確認が求められる

-reset store| messages|
durables|
props

影響なし

指定された引数に応じて、データストアまたはデータストアのサブセットをリセットするか、あるいはブローカインスタンスのプロパティをリセットする

データストアをリセットすると、持続メッセージ、永続サブスクリプション、トランザクションの情報など、すべての持続データが消去される。このため、データが消去された状態で、ブローカインスタンスを起動できる。また、すべての持続メッセージだけを消去したり、すべての永続サブスクリプションだけを消去したりすることもできる。その後の再起動時に持続ストアをリセットしない場合は、-reset オプションを指定せずにブローカインスタンスを再起動する。詳細は、「持続マネージャ」を参照

ブローカのプロパティをリセットすると、既存のインスタンス設定ファイル (config.properties) が空のファイルに置き換えられる。プロパティはすべてデフォルト値となる

-restore fileName

影響なし

ブローカクラスタに対してのみ適用。マスターブローカの設定変更レコードを、指定したバックアップファイルに置き換える。このファイルは、-backup オプションを使用して事前に作成しておく必要がある。「設定変更レコードの復元」を参照

-shared

imq.jms.
threadpool_model
shared に設定する

共通のスレッドプールを使用して、jms コネクションサービスが実装されるように指定する。このスレッドプールでは、スレッドがコネクション間で共有され、ブローカインスタンスにサポートされるコネクション数が増加する。詳細は、「コネクションサービス」を参照

-silent|-s

imq.log.console.
output
NONE に設定する

コンソールへのログ作成をオフにする

-tty

imq.log.console.
output
ALL に設定する

すべてのメッセージがコンソールに表示されるよう指定する。デフォルトでは、WARNING レベルまたは ERROR レベルのメッセージだけが表示される

-upgrade-store-
nobackup

影響なし

非互換のバージョンから Message Queue 3.5 または Message Queue 3.5 SPx へアップグレードすると、自動的に古いデータストアが削除されるように指定する。詳細は、『Message Queue インストールガイド』を参照

-version

影響なし

インストールされた製品のバージョン番号を表示する

-vmargs arg1 [[arg2]...]

影響なし

Java VM に渡す引数を指定する。引数はスペースで区切られる。複数の引数を渡す場合や、引数にスペースが含まれる場合は、引用符で囲む。たとえば、次のように指定する
imqbrokerd -tty -vmargs "-Xmx128m  -Xincgc"


クラスタの操作 (Enterprise Edition)

この節では、マルチブローカクラスタを設定するために使用するプロパティ、ブローカを接続する 2 つの方法、およびクラスタを管理する方法について説明します。クラスタの概要については、「マルチブローカクラスタ (Enterprise Edition)」を参照してください。

クラスタを操作するときは、クラスタにあるすべてのブローカのホスト間で時計の同期が取れていることを確認してください (「システムの時計の設定」を参照)。

クラスタ設定プロパティ

ブローカをクラスタに接続する場合、接続されたすべてのブローカに、クラスタ設定プロパティを一括して指定する必要があります。これらのプロパティにより、クラスタにあるブローカの関係が記述されます。表 5-3 で、クラスタ関連の設定プロパティの概要を説明します。アスタリスク (*) が付いたプロパティは、クラスタ内のすべてのブローカで同じ値にする必要があります。

表 5-3 クラスタ設定プロパティ 

プロパティ名

説明

imq.cluster.brokerlist*

クラスタ内のすべてのブローカを指定する。host:port エントリのコンマで区切られたリストで構成される。host は、各ブローカのホスト名で、port はそのポートマッパのポート番号。たとえば、次のように指定する
host1:3000, host2:8000, ctrhost

imq.cluster.
masterbroker*

クラスタ内のどのブローカをマスターブローカにするのかを指定する。マスターブローカは状態の変化を追跡する。プロパティは、host:port で構成される。host は、マスターブローカのホスト名で、port はそのポートマッパのポート番号。このプロパティは運用環境に合せて設定する。たとえば、ctrhost:7676

imq.cluster.url*

クラスタ設定ファイルの場所を指定する。個別に設定するのではなく、ブローカが中央の 1 つのクラスタ設定ファイルを参照する場合に使用する。URL の文字列で設定される。Web サーバ上にある場合は、通常の http:URL を使用して、アクセスできる。共有ドライブ上にある場合は、file:URL を使用して、アクセスできる

たとえば、次のように指定するhttp://webserver/imq/cluster.properties
file:/net/mfsserver/imq/cluster.properties

imq.cluster.port

クラスタ内にある各ブローカに対して、cluster コネクションサービスのポート番号を指定する。cluster コネクションサービスは、クラスタにあるブローカ間での内部通信に使用される。
デフォルト値 : 0 (ポートは動的に割り当てられる)

imq.cluster.hostname

クラスタ内の各ブローカに対して、コンピュータに複数のネットワークインタフェースカードがあるなど、使用可能な複数のホストがある場合に、cluster コネクションサービスのバインド先となるホスト (ホスト名または IP アドレス) を指定する。cluster コネクションサービスは、クラスタにあるブローカ間での内部通信に使用される。
デフォルト値 : imq.hostname の値を継承する (表 2-3 を参照)

imq.cluster.transport*

cluster コネクションサービスがクラスタ内のブローカ間の内部通信に使用するネットワークトランスポートを指定する。ブローカ間で安全な暗号化されたメッセージ配信を行うには、クラスタ内のすべてのブローカに対して、このプロパティを ssl に設定する。デフォルト値 : tcp

次の 2 つの方法のうちどちらかを使用して、クラスタプロパティを設定できます。

次のサンプルコードは、クラスタ設定ファイルの内容を表示しています。host1ctrlhost は両方とも、デフォルトのポートで動作しています。これらのプロパティは、host1host2、および ctrlhost がクラスタで接続され、ctrlhost がマスターブローカであることを指定しています。

imq.cluster.brokerlist=host1,host2:5000,ctrlhost

imq.cluster.masterbroker=ctrlhost

このクラスタで接続されている各ブローカのインスタンス設定ファイルには、クラスタ設定ファイルの URL を含む必要があります。次に例を示します。

imq.cluster.url=file:/home/cluster.properties

ブローカの接続

この節では、ブローカをクラスタに接続する方法、およびクラスタ内のブローカ間で安全な暗号化されたメッセージ配信を実行できるようにクラスタを設定する方法を説明します。

接続方法

ブローカをクラスタに接続する方法は、 クラスタ設定ファイルを使用する場合と、クラスタ設定ファイルを使用しない場合の 2 とおりに大別されます。

どちらの方法を使用する場合でも、起動するブローカはすべて 5 秒間隔でほかのブローカへの接続を試みますが、マスターブローカが起動されるまでは、接続できません。マスターブローカより先にクラスタのブローカを起動した場合、クラスタのブローカはクライアントのコネクションを拒否する中断状態になります。マスターブローカを起動すると、自動的に中断状態だったブローカが完全に機能するようになります。

方法 1: クラスタ設定ファイルを使用せずに接続する
ブローカをクラスタに接続するには
  1. ブローカを起動する imqbrokerd コマンドの -cluster オプションを使用し、-cluster オプションに、接続先のブローカの完全なリストを引数として指定します。
  2. クラスタに接続するブローカを起動するときに、各ブローカに対してこの手順を実行します。
  3. たとえば、次のコマンドは新しいブローカを起動して、host1 のデフォルトのポートで実行中のブローカ、host2 のポート 7677 で実行中のブローカ、およびローカルホストのポート 7678 で実行中のブローカに接続します。

方法 2: クラスタ設定ファイルを使用して接続する

接続されるブローカのリストを指定するクラスタ設定ファイルを作成することも可能です。この場合、オプションでマスターブローカのアドレスも指定できます。クラスタを定義するこの方法は、運用システムに適しています。この方法を使用する場合は、クラスタのブローカごとに、imq.cluster.url プロパティの値がクラスタ設定ファイルを指すように設定する必要があります。

ブローカ間の安全なコネクション

クラスタ内のブローカ間で安全な暗号化されたメッセージの配信を実行したい場合は次のようにして、cluster コネクションサービスが SSL ベースのトランスポートプロトコルを使用するように設定する必要があります。

クラスタで安全なコネクションを設定するには
  1. クラスタ内のブローカごとに、SSL ベースのコネクションサービスを設定します。
  2. 設定方法は、「TCP/IP を介した SSL ベースのサービスの設定」を参照してください。

  3. imq.cluster.transport クラスタ設定プロパティを ssl に設定します。
  4. クラスタ設定ファイルを使用しない場合は、クラスタ内のブローカごとにこのプロパティを設定する必要があります。

クラスタ内のブローカの管理

ブローカクラスタを設定すると、新しいブローカを追加するか、すでにクラスタの一部となっているブローカを再起動するか、あるいはクラスタからブローカを削除する必要が生じることがあります。

クラスタへのブローカの追加

新しいブローカを既存のクラスタに追加するには

クラスタ内のブローカの再起動

クラスタ内のブローカが何らかの理由でクラッシュしたかシャットダウンされた場合は、そのブローカをクラスタのメンバーとして再起動する必要があります。

既存のクラスタのメンバーであるブローカを再起動するには

クラスタからのブローカの削除

ブローカを既存のクラスタから削除するには

マスターブローカの設定変更レコードの管理

クラスタごとに 1 つのマスターブローカがあり、クラスタの持続的な状態に対する変更がすべて追跡されます。この状態では、永続サブスクリプションと管理者が作成した物理的な送信先に関する情報が含まれます。すべてのブローカは、これらの持続オブジェクトに関する情報の同期を取るため、起動時にマスターブローカを参照し、次に、設定変更レコードを確認します。したがって、マスターブローカに障害があると、このような同期が不可能となります。その結果、マスターブローカに障害が生じると、物理的な送信先や永続サブスクリプションを作成したり削除したりできません。

マスターブローカには重要な情報が含まれているため、マスターブローカの設定変更レコードを定期的にバックアップし、障害発生時にバックアップから復元できるようにする必要があります。

次の節では、設定変更レコードのバックアップと復元の方法を説明します。

設定変更レコードのバックアップ

設定変更レコードをバックアップするには

imqbrokerd コマンドに -backup オプションを使用します。たとえば、次のように指定します。

これを適宜行うことが重要です。きわめて古いバックアップを復元すると、情報が失われることがあります。つまり、バックアップが最後に実行されたとき以降に行われた、物理的な送信先または永続サブスクリプションの変更は失われます。

設定変更レコードの復元

障害時にマスターブローカを復元するには
  1. クラスタにあるすべてのブローカをシャットダウンします。
  2. 次のコマンドを使用して、マスターブローカの設定変更レコードを復元します。
  3. imqbrokerd -restore mybackuplog

  4. マスターブローカに新しい名前やポート番号を割り当てる場合、プロパティ imq.cluster.masterbroker を使用して、クラスタ設定ファイルを更新し、マスターブローカがクラスタの一部であること、およびマスターブローカの新しい名前を指定する必要があります。
  5. すべてのブローカを再起動します。

ブローカを復元しても、必ずブローカの設定変更レコードに古いデータが再読み込みされます。ただし、前述したように、定期的なバックアップを頻繁に実行することで、古いデータの再読込みが最小限に抑えられます。

マスターブローカは、持続オブジェクトへの変更履歴全体を記録するため、一定期間を超えるとデータベースが非常に大きくなることがあります。バックアップや復元を実行することにより、大きくなったデータベースが圧縮されたり最適化されたりという効果が得られます。


ログ作成

この節では、デフォルトでのブローカのログ作成の設定と、代替の出力チャネルへログ情報をリダイレクトするように設定を変更したり、ログファイルのロールオーバー条件を変更したりする方法について説明します。ログ作成の説明については、「ロガー」を参照してください。ログ作成を使用してブローカメトリックスを報告する方法については、「監視ツール」を参照してください。

デフォルトのログ作成の設定

ブローカを起動すると、ログファイルが関連付けられたブローカインスタンスの名前 (instanceName) で識別されるディレクトリにあるローリングログファイルにログ出力を保存するように自動的に設定されます (付録 A 「Message Queue データの場所」を参照)。

ログファイルは、簡単なテキストファイルです。ログファイルは、次のように順番に名前が付けられています。

デフォルトでは、ログファイルは週に 1 回ロールオーバーされ、システムは 9 つのバックアップファイルを保持します。

ブローカは、3 つのログカテゴリをサポートしています。それらは、ERRORWARNINGINFO です (表 2-7 を参照)。ログ作成レベルを設定すると、そのレベル以上のメッセージが収集されます。デフォルトのログレベルは INFO です。つまり、デフォルトでは、ERRORWARNING、および INFO レベルのメッセージが記録されます。

ログメッセージの書式設定

記録するメッセージは、タイムスタンプ (タイムスタンプのタイムゾーンを変更する方法は、表 2-9 を参照)、メッセージコード、およびメッセージ自体から構成されます。情報量は、設定したログレベルにより異なります。INFO メッセージの例を次に示します。

[13/Sep/2000:16:13:36 PDT] B1004 Starting the broker service using tcp [ 25374,100] with min threads 50 and max threads of 500

ロガー設定の変更

表 2-9 にすべてのロガープロパティを示します。

ブローカのロガー設定を変更するには
  1. ログレベルを設定します。
  2. 1 つまたはそれ以上のログ作成カテゴリの出力チャネル (ファイル、コンソール、またはその両方) を設定します。
  3. 出力をファイルに記録する場合、ファイルのロールオーバー条件を設定します。

ロガープロパティを設定すると、手順は完了します。ロガープロパティの設定は、次のどちらかの方法で行います。

コマンド行で渡されたオプションは、ブローカインスタンス設定ファイルで指定されたプロパティをオーバーライドします。表 5-4 にログ作成に影響する imqbrokerd オプションを一覧表示します。

表 5-4 imqbrokerd ロガーオプションと対応するプロパティ 

imqbrokerd オプション

説明

-metrics interval

メトリックス情報がロガーに書き込まれる間隔を、秒単位で指定する

-loglevel level

ログレベルを、ERRORWARNINGINFO のいずれかに設定する

-silent

コンソールへのログ作成をオフにする

-tty

すべてのメッセージをコンソールに送信する。デフォルトでは、WARNING レベルまたは ERROR レベルのメッセージだけが表示される

続いて、デフォルトの設定を変更して、次のことを実行する方法を説明します。

出力チャネルの変更

デフォルトでは、エラーメッセージと警告メッセージは、ログファイルに記録されると同時に、端末に表示されます。Solaris では、エラーメッセージはシステムの syslog デーモンにも書き込まれます。

次の方法で、ログメッセージの出力チャネルを変更できます。

ログファイルのロールオーバー条件の変更

ログファイルのロールオーバーには、時間とサイズの 2 つの条件があります。デフォルトでは時間の条件が使用され、7 日ごとにファイルがロールオーバーされます。

時間に関連するロールオーバープロパティとサイズに関連するロールオーバープロパティの両方が設定されている場合は、どちらかの制限に最初に達したときにロールオーバーが実行されます。前の節でも説明したように、ブローカでは 9 つのロールオーバーファイルが保持されます。



前へ      目次      索引      次へ     


Copyright 2003 Sun Microsystems, Inc. All rights reserved.