...

WebSphere MQ V7.1 for Linux 導入ガイド はじめに

by user

on
Category: Documents
681

views

Report

Comments

Transcript

WebSphere MQ V7.1 for Linux 導入ガイド はじめに
WebSphere MQ V7.1 for Linux
導入ガイド
ISE Webプラットフォーム
2012年4月
はじめに
本資料では、WebSphere MQ (以下 MQ) for Linux V7.1を導入する際の手順と
考慮点についてご説明します
MQサーバー導入に関する項目、MQクライアント導入に関する項目、参考資料をそ
れぞれトピックとして取り上げていますので、目的に合わせて参照してください
各トピックの必須項目は必ず実施してください
注意事項は、※印、または破線のボックスに記述されています
ユーザーの入力部分はイタリックになっています
この資料は、あくまで参考情報であり、内容について保証するものではありません
ので、あらかじめご了承ください
„
当資料では、以下の環境を元に作成しています
WebSphere MQ for Linux (x86_64) V7.1.0.0
Red Hat Enterprise Linux Server release 6.0
2
トピック
MQ V7.1の導入について・・・
MQ V7.1からの複数バージョンの導入
インストレーション名の指定
プライマリー・インストレーションの指定
キュー・マネージャーと導入環境の関連付け
MQサーバー導入関連項目
MQクライアント導入関連項目
参考資料
前提条件の確認・・・・
前提ハードウェア、ソフトウェアの確認
前提ディスク容量の確認
導入準備・・・・・・・・・
OSユーザーの作成 / グループの設定
ファイルシステムの作成
OSの設定
3
トピック
MQサーバーの導入・・
MQサーバー導入関連項目
MQサーバーの導入
インストレーション名の設定
プライマリー・インストレーションの設定
MQサーバーのアンインストール
Fix Packの適用
導入可能コンポーネント
言語設定
MQクライアント導入関連項目
参考資料
MQ V7.1へのマイグレーション (MQサーバー)・・・・
MQ V7.1へのマイグレーション
単一環境のマイグレーション方法
共存環境のマイグレーション方法
4
トピック
MQサーバーの導入確認・・・
MQサーバー導入関連項目
導入確認 (ローカル接続)
導入確認 (サーバー間接続)
MQクライアント導入関連項目
参考資料
MQクライアントの導入と導入確認・・・・・
MQクライアントの導入
MQクライアントの導入確認
その他 ・・・・・・・・・・・・・・・・
マニュアル一覧
マニュアル及び製品関連のサイト
5
Blank Page
6
MQ V7.1の導入について
‹ MQ V7.1からの複数バージョンの導入
‹ インストレーション名の指定
‹ プライマリー・インストレーションの指定
‹ キュー・マネージャーと導入環境の関連付け
7
MQ V7.1からの複数バージョンの導入
MQ V7.1より、1つのOSに複数のバージョンのMQを導入可能
V7.0.1.6以降はV7.1と共存し、同時に使用できる
„
V7.0.1.5以前の環境はV7.1環境と共存できない
既存のMQを停止せずに導入可能
任意のディレクトリを指定して導入可能
複数の導入環境を使用するための新たな仕組みが追加
各導入環境に名称(インストレーション名)の付与
デフォルト環境とするプライマリー・インストレーションの指定
キュー・マネージャーと導入環境の関連付け
従来
V7.1
/opt/mqm
/var/mqm
/opt/mqm
MQ V7.0.1
QMGR1
/var/mqm
MQ V7.0.1.6
QMGR1
インストレーション1
Primary
任意のディレクトリ
QMGR2
MQ V7.1
インストレーション2
8
New !
/var/mqm
QMGR2
複数バージョン環境を共存するメリットと考慮点
複数バージョン環境を共存させるメリット
マシンやシステム・リソースの有効活用(テスト環境など)
„
バージョンやFixレベルの異なる複数の環境をOS上に共存し、使い分けられる
マイグレーションやFix適用に伴う作業の柔軟化、簡易化
„
Æ
„
„
従来通り単一環境で行う方法や複数環境を共存して行う方法を選択できる
p.15の「MQ V7.1へのマイグレーション方法」を参照
複数環境を共存する場合、既存環境を稼働しながら新バージョンの導入を進められ、
システムの停止時間を短縮
新バージョン環境やFix適用環境に切り替える際の負荷を軽減
複数バージョン環境を共存させる際の考慮点
導入環境を保守する際、どの環境に対して実施するか意識する
„
„
追加導入する際は、事前に既存環境の導入ディレクトリを確認
Fix適用/アンインストールする際は、対象とする導入環境を指定して実施
キュー・マネージャーは関連付けられている導入環境から操作する必要がある
„
Æ
„
プライマリー以外の環境では操作前に環境設定を行う必要あり(setmqenvコマンド)
詳しくはp.14の「プライマリー・インストレーション以外での環境設定」にて説明
別の導入環境に関連付けを変えることが可能(setmqmコマンド)
9
インストレーション名の指定
V7.1の導入環境には固有のインストレーション名が付与される
デフォルトのインストレーション名は”InstallationN”(N: 数字を順次割り当て)
V7.0.1環境(共存する場合)
… Installation0(変更不可)
V7.1(初回導入環境)
… Installation1(変更不可)
„ V7.1(2つ目の導入環境)
… Installation2(変更可)
※V7.0.1環境が共存する場合、 V7.1初回導入時にV7.0.1環境には「Installation0」が自動設定
される
※V7.1の2つ目以降の導入環境のインストレーション名は任意の名前を指定可能
„
„
任意のインストレーション名を指定する場合、導入前に以下のルールに従って設定
16文字以内
„ 英文字(a-z, A-Z)及び数字(0-9)の組み合わせ
„ 英文字の大文字/小文字は識別されない
※インストレーション名の指定は、導入前に設定する必要がある(crtmqinstコマンド)
„
10
インストレーション名の指定
導入環境に関する情報は、インストレーション名と共に管理
導入環境の情報はインストール構成ファイル(mqinst.ini)に保管
„
/etc/opt/mqm/mqinst.ini (UNIX, Linuxの場合)
導入環境の情報の管理方法
„
„
„
追加は crtmqinst コマンド、変更は setmqinst コマンド、確認は dspmqinst コマンド
導入環境の追加、変更はrootユーザーのみ可能
手動でインストール構成ファイルを編集することは不可
インストール構成ファイルで管理する情報
„
„
„
„
インストレーション名
インストレーションに対する説明
プライマリー・インストレーションか否か
インストール・ディレクトリ
11
プライマリー・インストレーションの指定
デフォルトで使用する環境をプライマリー・インストレーションとして指定
プライマリー・インストレーションに指定することで、以下のリンクが自動設定され、
制御コマンドやアプリケーションの実行が明示的なパス指定なしで可能になる
„
/usr/lib、/usr/bin、/usr/includeへのシンボリック・リンク(UNIX, Linuxの場合)
プライマリー・インストレーションの設定は導入後、明示的に指定する必要がある
„
導入後、setmqinstコマンドを使用して指定
プライマリー・インストレーションに設定していない導入環境では、明示的にパスを
指定しないと制御コマンドを実行できない
„
„
旧バージョンのように導入直後からパス指定なしにdspmqver、dspmqなどの制御コマンドを実行
できない場合がある
パス設定のためのsetmqenvコマンドが提供されている(詳しくは次ページ)
複数環境が存在する場合、プライマリー・インストレーションに指定できるのは1環境
V7.1をプライマリーに設定する場合は、導入ディレクトリに関係なく明示的に指定が必要
„
„
デフォルト以外のディレクトリを指定した導入環境も、プライマリーに指定することは可能
プライマリー・インストレーションの変更も可能
V7.0.1が存在する場合は、V7.0.1が必ずプライマリー・インストレーションとなる
„
„
変更は不可
V7.1をプライマリーに設定したい場合は、V7.0.1のアンインストールが必要
12
プライマリー・インストレーション以外での環境設定
プライマリー・インストレーション以外の導入環境を使用する場合、明示的に
環境設定が必要
使用する導入環境に対するパスを設定
使用する導入環境の導入ディレクトリ下でsetmqenvコマンドを実行
„
. $MQ_INSTALLATION_PATH/bin/setmqenv –s
・MQ_INSTALLATION_PATHはMQ製品が導入されたパスを指し、導入時に指定したディレクトリです。
・setmqenvコマンドは必ず始めに" . "(ドット)とスペースを挟んで実行し、実行後も設定が引き継がれるよう
にしてください。(UNIX, Linuxの場合)
13
キュー・マネージャーと導入環境の関連付け
キュー・マネージャーは一つの導入環境に関連付けられる
crtmqmコマンドを実行した導入環境に関連付けられる
関連付けられていない導入環境からの操作は不可
導入環境の関連付けは変更することが可能
導入環境との関連付けの情報の管理
WebSphere MQ構成ファイル(mqs.ini)に保管
„
„
/var/mqm/mqs.ini (UNIX, Linuxの場合)
キュー・マネージャーごとにインストレーション名を保持
導入環境との関連付けの管理方法
„
„
変更は setmqm コマンド
確認は dspmq –o installation コマンドかmqs.iniを参照
導入環境との関連付けにおける注意点
上位バージョンへ関連付けた場合、初回起動時にマイグレーションが実施される
„
マイグレーション後、下位バージョンの環境に関連付けを変更して稼働することは不可
14
MQ V7.1へのマイグレーション方法
マイグレーション方法(例)
A. 単一環境のマイグレーション
B. 共存環境のマイグレーション
MQ V7.0.1.6
MQ V7.0.1.6
MQ V7.1
QMGR
QMGR
MQ V7.1
Primary
Primary
サーバー上のMQ導入環境を新しいリリースで置き換える
(従来型)
サーバー上に新しいバージョンを追加導入し、その後の
任意のタイミングでマイグレーションと旧バージョンの
アンインストールを行う
方法
既存バージョンと同じデフォルトの場所にV7.1を導入して
プライマリー・インストレーションに設定し、キュー・マネー
ジャーを再起動してマイグレーション
V7.1を別の場所に導入してから、キュー・マネージャーを
再起動してマイグレーション
V7.0.1.6を使用しなくなった時点で、V7.1をプライ
マリー・インストレーションに設定
導入環境
の構成
単一環境で、既存バージョンの環境は保存しない(アンイ
ンストール)
V7.0.1.6とV7.1を共存、後でV7.1の単一環境へ移行
注意点
・V7.1の導入前にキュー・マネージャーの停止が必要
・V7.1への切り替え前にキュー・マネージャーの停止が
必要
・V7.1をプライマリーにするにはV7.0.1.6をアンインストール
する必要あり(プライマリーになるまで環境設定が必要)
15
Blank Page
16
前提条件の確認
✤ 前提ハードウェア、ソフトウェア
✤ 前提ディスク容量
✤・・・必須の確認項目
✢・・・任意の確認項目
17
前提ハードウェア、ソフトウェア – Linux(32bit,64bit)
稼働環境
環境(Linux 32bit)
サポート対象
プロセッサー
x86-64 プロセッサーを含む Linux for System x (32-bit) x86 互換PC
OS
・IBM Retail Environment for SUSE Linux v2 以降
・Red Flag 5.0 DC Server 以降
・Red Hat Enterprise Linux (RHEL) 5 以降
・Red Hat Enterprise Linux (RHEL) Server 6 以降
・SUSE Linux Enterprise Point of Service (NLPOS/SLEPOS) 11 以降
・SUSE Linux Enterprise Server (SLES) 10 SP3 以降
・SUSE Linux Enterprise Server (SLES) 11 以降
通信プロトコル
TCP/IP (IPv4, IPv6)
SNA LU6.2 (Communications Server for Linux 6.2が必要)
環境(Linux 64bit)
サポート対象
プロセッサー
Linux for System x (64-bit) AMD64, EM64T と互換プロセッサー
OS
・Red Hat Enterprise Linux (RHEL) 5 以降
・Red Hat Enterprise Linux (RHEL) Server 6 以降
・SUSE Linux Enterprise Server (SLES) 10 SP3 以降
・SUSE Linux Enterprise Server (SLES) 11 以降
通信プロトコル
TCP/IP (IPv4, IPv6)
最新のサポート状況リスト:
http://www-01.ibm.com/support/docview.wss?uid=swg27023058
18
前提ハードウェア、ソフトウェア – Linux(POWER)
稼働環境
環境(Linux p)
サポート対象
マシン
Linux for System p 64-bit System i と System p IBM POWER プロセッサーに基づいたシステム
OS
・Red Hat Enterprise Linux (RHEL) 5 以降
・Red Hat Enterprise Linux (RHEL) Server 6 以降
・SUSE Linux Enterprise Server (SLES) 10 SP1 以降
・SUSE Linux Enterprise Server (SLES) 11 以降
通信プロトコル
TCP/IP (IPv4, IPv6)
SNA LU6.2 (Communications Server for Linux 6.2)
最新のサポート状況リスト:
http://www-01.ibm.com/support/docview.wss?uid=swg27023058
19
前提ハードウェア、ソフトウェア – Linux(System z)
稼働環境
環境(Linux z)
サポート対象
プロセッサー
Linux for System z IBM System z9/10 または IBM eServer (または同等) 64-bit プロセッサー
OS
・Red Hat Enterprise Linux (RHEL) 5 以降
・Red Hat Enterprise Linux (RHEL) Server 6 以降
・SUSE Linux Enterprise Server (SLES) 10 SP1 以降
・SUSE Linux Enterprise Server (SLES) 11 以降
通信プロトコル
TCP/IP (IPv4, IPv6)
SNA LU6.2 (Communications Server for Linux on zSeries 6.2が必要)
最新のサポート状況リスト:
http://www-01.ibm.com/support/docview.wss?uid=swg27023058
20
SSLの前提条件
g++ バージョン 3.2 ランタイム・ライブラリー
導入先ディレクトリー:
ライブラリー名:
/usr/lib (※)
libgcc_s.so、libstdc++.so.5
※libgcc、および libstdc++5 RPMが
導入済みの Red Hat の場合
ライブラリーが /usr/lib に導入されない場合はいずれかを実行
„
„
„
ライブラリーを含むパッケージをディストリビューションから入手してインストール
以下の URL の GNU コンパイラー・コレクションのホーム・ページなどから GNU gcc および g++
バージョン 5 コンパイラーをインストール
http://gcc.gnu.org/
インストール後に、上記のライブラリーが /usr/lib に入っていることを確認
IBM® Global Security Kit V8
WebSphere MQ に同梱
21
MQ エクスプローラーの前提条件(x86/x86-64のみ)
MQ エクスプローラーを使用する場合の前提条件
512MB RAM
1 GHz のプロセッサー
300MBのディスクスペース
OS 用の適切なモニター (1024×768 の画面サイズ)
GTK2 version 2.2.4-0 以降
Bitstream vera fonts
22
前提ディスク容量
Linux(x86_64)に全コンポーネントを導入し
た場合の実測値。
MQによって使用されるディスク容量
インストール・ディレクトリ
導入コンポーネントによって容量は変わる
プラットフォーム
Linux(X86_64)
項目
使用するインストール・ディレクトリのディスク容量(MB)
WebSphere MQ サーバーの導入
634
WebSphere MQ クライアントの導入
417
構成ディレクトリ(/var ディレクトリ)
項目
使用する /var/mqm ディレクトリのディスク容量 (MB)
WebSphere MQ サーバー
130
WebSphere MQ クライアント
15
その他、ディスクを使用する項目
„
„
„
前提条件ソフトウェア
オプションのソフトウェア
ユーザー・アプリケーション
実際にトランザクション量を加味し、MQ環境を構築する際
に必要となるディスク容量の見積りに関しては、p24-26 を
参照してください。
23
<参考>/var/mqmディレクトリのディスク容量の見積もり
/var/mqmが主に消費するディスク容量は下記の合計で見積もる
キューに滞留しているメッセージ
トランザクション・ログ
FDCファイル
キューに滞留しているメッセージ
メッセージは/var/mqm/qmgrs以下のディレクトリに格納される
„
ノン・パーシステント・メッセージも、キュー・バッファーから溢れるとファイルに格納される
平均メッセージ長、トランザクションレート、ピーク時の滞留時間、障害時の滞留許可
時間から、キューに滞留するパーシステント・メッセージの総容量を見積もる
„
正常処理時だけでなく、メッセージ滞留が発生するような障害時(送信チャネル障害、受信アプ
リケーション障害)を想定して見積もりを行う必要がある
見積もり例
„
„
平均メッセージ長 1KB、トランザクション・レート 10msg/秒、障害時の滞留許可時間 3時間の
場合
1KB × 10 msg/s × 3時間 = 100MB
24
<参考>/var/mqmディレクトリのディスク容量の見積もり
トランザクション・ログ
トランザクション・ログは/var/mqm/log以下のディレクトリに格納される
メッセージのサイズ、トランザクションレートよりログが消費するディスク容量を見積もる
„
例えば、トランザクション・レートの高い時間帯の2~3時間に出力されるトランザクション・ログを保持する
など
見積もり例
1KB(MQMD含む)
チャネル
リクエスト・キュー
1KB(MQMD、MQXQH含む)
④
„
サーバー・アプリケーション
②
①
③
XMITQ
上図のようなサーバー・アプリケーションの場合、1つのメッセージを処理するために、およそ4KBのログを
出力(メッセージはパーシステント)
①チャネルのPUT(750バイト + 1KB) + ②アプリケーションのGET(260バイト)
+ ③ アプリケーションのPUT (750バイト + 1KB) + ④チャネルのGET(260バイト) = 4KB
※詳細なログのサイズにつきましては、Infocenterの” WebSphere MQ > 構成 > 可用性、リカバリー、
および再始動 > メッセージの消失を確実に回避する (ログ)” 「ログのサイズの計算」を参照してください。
„
ピーク時間帯のトランザクション・レートが10件/秒、3時間分のログを保持必要がある場合
- 4KB × 10 msg/s × 3時間 = 420MB
※リニア・ログを使用する場合、不要になったログは、非アクティブ・ログとして削除されずにディスクを消費し続けます。
不要ログ・ファイルの削除間隔内で、非アクティブ・ログを保持できる容量も見積もる必要があります。
25
<参考>/var/mqmディレクトリのディスク容量の見積もり
FDCファイル
MQの内部エラー発生時に/var/mqm/errorsに書き出されるFDCファイルが主にディスクを
消費
„
エラー内容によりファイルのサイズは異なるが、大きなファイルで200KB程度
FDCファイルを何個程度保存するかよりディスク容量を見積もる
見積もり例
„
„
100個程度のFDCファイルまで保存できるようにする必要がある場合
200KB × 100 = 20MB
※S/W障害の可能性がある事象が発生し、問題解析が必要になった場合、MQトレースを取
得しパスポート・アドバンテージに解析を依頼します。/var/mqm配下にはこのトレースが書き出さ
れるディレクトリ(/var/mqm/trace)も配置されます。トレース取得時に/var/mqmのDISK容量で
は不十分である可能性もあるので、トレース取得時には、別途、/var/mqm/traceにファイル・シ
ステムを割り当てることを検討してください。
26
導入準備
✤ OSユーザー / グループの設定
✢ ファイルシステムの作成
✢ オペレーティング・システムの設定
✤・・・必須の作業項目
✢・・・任意の作業項目
注:
・導入準備としてmqmユーザーの作成/グループの設定は必須です。
(セキュリティー要件に応じ、mqm以外の管理ユーザー、アプリケーション実行ユーザーの作成は任意です。)
・ファイルシステムの作成はオプションですが、導入前に作成してください。
・その他の設定に関しては、必要に応じて設定してください。
27
OSユーザー/グループの作成
MQの管理操作(キュー・マネージャーの起動・停止、キューなどのオブジェクト定義の
作成・削除 など)を行うためのmqmユーザー、mqmグループの作成が必要
MQ導入前に作成する (※)
作成するユーザー名: mqm (1次グループとしてmqm グループに所属させる)
ユーザー、グループの作成方法は次ページを参照
MQに関連するリソースが含まれているファイルやディレクトリなどは、mqm ユーザーが
所有
(※) MQ導入時に該当ユーザ、グループがない場合は自動的に作成されます(IDは自動的に振られます)。ID番号の管理が
必要な場合は、MQ導入前に該当ユーザー、グループを作成してください。
MQ の HA構成/マルチ・インスタンス・キュー・マネージャーの構成を取る場合、マシン間で mqm ユーザーID と mqm グルー
プID をそれぞれ合わせる必要があります。
28
mqm ユーザーの作成
/usr/bin/system-config-users をrootで実行し、管理プログラムを起動
ユーザー名に「mqm」と入力、
任意のパスワードを入力して、
「OK」をクリック
「Add User」 を選択
29
mqm ユーザーの作成
mqm ユーザーの作成つづき
mqmユーザーが作成
されたことを確認
mqmユーザーの一次
グループとしてmqmグ
ループが自動的に設
定されていることを確
認
30
mqm グループの作成
/usr/bin/system-config-users を root で実行し、管理プログラムを起動
作成済みの場合はスキップする
グループ名に
「mqm」と入力し、
「OK」をクリック
「Add Group」 を選択
既存のユーザーをグループに追
加したい場合は、「Group
Users」タブをクリックし、ユーザー
を選択して 「OK」ボタンをクリック
31
mqm グループの作成
mqm グループの作成つづき
mqmグループが作成
されたことを確認
mqmグループのメン
バーにmqmユーザー
が存在することを確認
32
<参考> その他のMQ関連ユーザー
導入後セキュリティ要件に応じてユーザー、グループを作成
MQを管理するユーザー
MQアプリケーション実行ユーザー
導入時に作成する必要はありません。
MQ管理ユーザー
MQの管理コマンド (runmqsc や strmqm など) を実行できる権限をもつユーザー
„
„
mqm グループ権限が必要 (1次グループでなくてもよい)
既存ユーザー をMQ管理ユーザーにする場合は、mqm グループに追加する
MQアプリケーション実行ユーザー
キュー・マネージャーに対してPUT、GET等を行うアプリケーションの実行ユーザーは、
mqm グループ に所属する必要はない
mqm グループに所属させない場合は、MQ管理コマンドでオブジェクトへのアクセス権を
そのユーザーに対して付与する必要がある
„
アクセス権はグループ単位で付与される
アクセス権に関する詳細は、マニュアル「セキュリティー」の「オブジェクトに対するアクセス権限の設定」を参照してください。
33
ファイルシステムの作成
ファイルシステムの作成
MQ導入前にファイルシステムを作成し、マウントしておく(※1)
ファイルシステムが存在しない場合は、導入時にディレクトリが自動作成される
ファイルシステムの作成方法に関しては次ページを参照
MQで使用するファイルシステム
製品コード
作業データ用
„
任意(※2)
/var/mqm(※3)
作業データ用ディレクトリは変更不可
※1: ファイルシステムの作成は必須ではありません。
※2: 製品コードのデフォルト導入ディレクトリは/opt/mqmです。V7.1においては、/opt/mqm以外を指定して導入可能です。
※3: 作業データ用ファイルシステムは、/var/mqmとは別にログ・データ、エラー・ファイル用にファイルシステムを作成する
ことを推奨しています。詳細は、p.35 「/var/mqm ファイルシステム」のページを参照してください。
34
<参考> /var/mqm ファイルシステム
MQデータ用ファイルシステム(/var/mqm)の他、以下ファイルシステムの作成を推奨
ログ・データ (/var/mqm/log)
„
„
パーシステント・メッセージはファイルにログを書き込むため、メッセージ・レートが高いと
I/O コンテンションによるボトルネックが発生しやすい
キュー・ファイル (/var/mqm) とログ・データを別物理ボリュームに作成することで、I/O を分散させ
パフォーマンス向上を図る
エラー・ファイル (/var/mqm/errors)
„
„
万が一、データ用ファイル・システムがフルになってもエラーログ (FDC含む) は出力されるよう、
個別に作成することを推奨
/var/mqm/errors 下に出力される FDC は自動的には削除されないため、不要なものは
削除し、ファイル・システムがフルにならないような運用を検討
トレース・ファイル (/var/mqm/trace)
„
問題判別等でstrmqtrcコマンドを用いてトレースを開始する場合、トレース開始前にファイル
システムを作成
個別に作成する場合のファイルシステムの必要最低限のサイズ
MQサーバー
MQクライアント
/var/mqm
30MB 以上(※1)
15MB 以上
/var/mqm/log
100MB 以上
N/A
/var/mqm/errors
10MB 以上
N/A
※1: MQ V7.1よりデフォルトのエラー・ログの
サイズが変更されています。
(1ファイルのサイズが256KB→2MB)
実際にMQ環境を構築する際に必要となる
ディスク容量を見積もりに関しては、p.23-26
を参照してください。
35
OSの設定
MQは、セマフォや共用メモリーなど IPC リソースを使用するため、カーネル・
パラメーターを適切な値に設定する
導入後に設定することも可能
デフォルトのままではリソースが不足し、MQ でエラーが発生する可能性がある
セマフォ使用量、およびスワップ使用量はメッセージ・レートやパーシステンシーによって
大きく変化することはない
ここで示す値は、MQ を使用する上で必要な最低限の値
„
„
カーネル・パラメーターを変更する製品がほかにある場合は、その値を考慮して設定する
カーネル・リソースが不足すると、MQ は内部エラーとして FFST ファイルを生成
下記のパラメーターを設定
„
„
„
カーネル・パラメータ
最大オープン・プロセス数
最大オープン・ファイル数
Red Hat Linuxの場合は、上記のOS設定に加えて、SELinuxを無効に設定
36
OSの設定
カーネル・パラーメータの設定
設定項目と推奨値(minimum level)
パラメーター
推奨値(minimum level)
kernel.msgmni
1024
kernel.shmmni
4096
kernel.shmall
2097152
kernel.shmmax
268435456
kernel.sem
500 256000 250 1024
net.ipv4.tcp_keepalive_time
300
fs.file-max
524288(*1)
現在の設定値の確認
„
„
/sbin/sysctl –a コマンドを実行
実行例:
# /sbin/sysctl –a
….
kernel.shmmni = 4096
kernel.shmall = 2097152
….
*1:複数のキュー・マネージャーを構成する際には、
fs.file-maxサイズを大きくします
設定方法
„
„
„
/etc/sysctl.conf を編集し、設定を追加する
/sbin/sysctl –p コマンドで設定反映(sysctl –pが効かなければ、OSリブートにより反映)
/sbin/sysctl –a コマンドで設定値が反映されているかを確認
37
OSの設定
最大オープン・プロセス数、最大オープン・ファイル数の設定
設定項目と推奨値
„
„
最大オープン・プロセス数: nproc 4090
最大オープン・ファイル数 : nofile 10240
現在の設定値の確認
ulimit –a コマンドを実行
実行例
„
# ulimit –a
max user processes
open files
(-u) 4090
(-n) 10240
設定方法
„
„
„
„
/etc/security/limits.conf ファイルを編集し設定を変更する
変更例
mqm soft nproc 4090
mqm hard nofile 10240
mqm soft nofile 10240
再ログオンし、設定反映
ulimit –a コマンドで設定が反映されているかを確認
Red Hat Linuxの場合
/etc/selinux/configファイルを編集して、SELINUX=disabledに設定
38
MQサーバーの導入
✤ MQ サーバーの導入
✢ インストーレーション名の設定方法
✢ プライマリー・インストレーションの設定方法
✢ MQサーバーのアンインストール
✢ Fix Pack の適用/除外
‹ MQコンポーネント及びファイル・セット
‹ MQ 稼動環境の言語設定
✤・・・必須の作業項目
✢・・・任意の作業項目
39
MQ サーバーの導入
導入方法
root ユーザーでログオン
導入イメージの用意
„
„
CD-ROM を使用する場合は CD-ROM を挿入
メディア・イメージから導入する場合はイメージを用意
ライセンスの受諾
„
„
導入イメージのあるディレクトリへ移動
mqlisenceスクリプトを実行し、ライセンスを受諾する
実行例1 ライセンスを表示する
# ./mqlicense.sh
実行例2 ライセンスを表示せずに、ライセンスを受諾
# ./mqlicense.sh -accept
実行例3 ライセンスの内容を確認 (受諾の処理はしない)
# ./mqlicense.sh -text_only
次ページ(p41)よりデフォルトの導入方法、p42より指定ありの導入方法について記述
40
MQ サーバーの導入
導入イメージのあるディレクトリに移動
以下のコマンドを入力して、インストールを開始
„
rpm –ivh <MQコンポーネント>
複数コンポーネントを一度に導入する場合は、コンポーネントをスペース区切りで指定
実行例: MQ ランタイムと、MQサーバーの導入
# rpm –ivh MQSeriesRuntime-7.1.0-0.x86_64.rpm MQSeriesServer-7.1.0-0.x86_64.rpm
注: /bin/sh は Bourne シェルと互換性がある有効なシェル・インタープリターにしてください。インストール後の
MQ の構成が正常に完了しない可能性があります。
RPM がインストールされていない場合、MQ をインストールする際に、/bin/sh の前提条件でエラーになる可能性
があります。 有効なシェル・インタープリターがインストールされていないことをRPM テーブルが 認識しないためです。
この場合は、RPM を使って /bin/sh シェルを再インストールするか、または RPM オプション –nodeps を指定して
MQ のインストール時の依存性検査を使用不可にしてください。
41
MQ サーバーの複数導入
導入イメージのあるディレクトリに移動
初回インストールでない場合、以下のコマンドを入力して、導入環境固有のインストール・
イメージ(パッケージ・セット)を作成
suffixは任意の名前を指定する。
„
./crtmqpkg <suffix>
パッケージ名は以下のように変更される
From: MQSeriesServer-7.1.0-0.x86_64.rpm
To: MQSeriesServer_<suffix>-7.1.0-0.x86_64.rpm
suffix名によってパッケージと導入環境が関連付
けられるため、suffix名はInstallation名や
導入ディレクトリ(の一部)を指定すると、識別が
容易。
実行例: パッケージ・セットの作成
# ./crtmqpkg mqm2
Repackaging WebSphere MQ for "x86_64" using suffix “mqm2"
#####################################################
Repackaging complete - rpms are at "/var/tmp/mq_rpms/mqm2/x86_64
#
作成したパッケージ・セットがあるディレクトリに移動
導入ディレクトリを指定して、作成したパッケージをインストール
„
rpm --prefix <導入ディレクトリ> -ivh <作成したMQパッケージ>
実行例:導入ディレクトリおよびsuffix名が付与されたパッケージを指定してインストール
#cd /var/tmp/mq_rpms/mqm2/x86_64
#rpm --prefix /opt/mqm2 -ivh MQSeriesServer_mqm2*.rpm MQSeriesRuntime_mqm2*.rpm
42
<参考> インストレーション名の設定(任意)
インストレーション名の設定方法(任意)
V7.1の2つ目以降の導入環境に任意のインストレーション名を指定する場合に実施
rootユーザーで、導入環境のディレクトリ名とインストレーション名を設定
crtmqinst -p <インストール・ディレクトリ> -n <インストレーション名>
※既存のV7.1導入環境のcrtmqinstコマンドを使用
„
インストレーション名の確認方法
インストレーション名や導入環境を確認
„
„
dspmqinstコマンドで表示
インストール構成ファイル(mqinst.ini)を参照
43
<参考> インストレーション名の設定(任意)
例) 複数の導入環境を以下の順で作成した場合
1. V7.0.1.6を導入
2. インストール・ディレクトリに“/opt/mqm2"を指定してV7.1を導入
3. インストレーション名に"mqtest1"を設定し、インストール・ディレクトリに"/opt/mqm3"を指定して
V7.1を導入
„
dspmqinst
InstName:
InstDesc:
Identifier:
InstPath:
Version:
Primary:
State:
Installation0
IBM WebSphere MQ Installation
0
/opt/mqm
7.0.1.6
Yes
Available
InstName:
InstDesc:
Identifier:
InstPath:
Version:
Primary:
State:
Installation1
InstName:
InstDesc:
Identifier:
InstPath:
Version:
Primary:
State:
mqtest1
導入環境1. V7.0.1.6
◎プライマリー・インストレーション
・インストレーション名:Installation0(※1)
・インストール・ディレクトリ:/opt/mqm
※1: インストレーション名はこの名称に
自動設定されます。
導入環境2. V7.1(1つ目)
・インストレーション名:Installation1 (※2)
・インストール・ディレクトリ:/opt/mqm2
1
/opt/mqm2/
7.1.0.0
No
Available
※2: インストレーション名はこの名称に
自動設定されます。
導入環境3. V7.1(2つ目)
・インストレーション名:mqtest1
・インストール・ディレクトリ:/opt/mqm3
2
/opt/mqm3/
7.1.0.0
No
Available
44
プライマリー・インストレーションの設定(任意)
プライマリー・インストレーションの設定方法(任意)
導入済みのV7.1において、既にプライマリー・インストレーションに設定されている
導入環境がないか確認
„
„
MQ V7.0.1がプライマリー・インストレーションの場合は変更不可
MQ V7.1以降でプライマリー・インストレーションに設定されている環境があれば、
そちらを先に解除する
特定の導入環境をプライマリー・インストレーションに指定
rootユーザーで対象環境のインストール・ディレクトリ/bin配下の下記コマンドを実行
setmqinst –i { -n <インストレーション名> | -p <インストール・ディレクトリ> }
※インストレーション名かインストール・ディレクトリのいずれかを指定
„
„
プライマリー・インストレーションの解除方法
特定の導入環境をプライマリー・インストレーションから解除
setmqinst -x { -n <インストレーション名> | -p <インストール・ディレクトリ> }
※インストレーション名かインストール・ディレクトリのいずれかを指定
„
プライマリー・インストレーションの確認方法
プライマリー・インストレーションに設定されている導入環境を確認
„
„
dspmqinstコマンドで表示
インストール構成ファイル(mqinst.ini)を参照
dspmqinstコマンドの表示内容を前のページに例示しています。参考にしてください。
45
Fix Packの適用
Fix PackはMQの修正モジュールの集まり
最新のFix Packを適用することを推奨
ソフトウェアに問題が発生し、パスポート・アドバンテージのサポートを受ける場合は、
基本的に最新Fix Packの適用が前提
Fix Pack提供サイト
„
http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg21254675
Fix Pack適用前の準備
導入環境に関連付けられているキュー・マネージャーの停止
„
„
„
„
„
„
mqm でログイン
プライマリー・インストレーションでない場合、setmqenv –sでアンインストールする導入環境を指定
dspmqコマンドで関連付けられているキュー・マネージャーの状況を確認
endmqm コマンドでキュー・マネージャーの停止
endmqlsr –m <Qmgr名> でリスナーの停止
MQ関連プロセスが残っていないことを確認し、もしある場合は停止する
ps –ef | grep amq | grep <Qmgr名> でMQ関連プロセスの停止を確認
ps –ef | grep runmq | grep <Qmgr名> でMQ関連プロセスの停止を確認
46
Fix Packの適用
Fix Packの適用導入
rootユーザーでログインし、Fix Packのあるディレクトリへ移動
使用可能なアップデートを確認
„
ls |grep MQSeries
マシンに導入されているパッケージを確認
„
rpm –qa |grep MQSeries
最新のアップデートを適用
„
rpm -ivh MQSeriesRuntime-Uxxxx-7.1.0-1.x86_64.rpm
(*)2つ目以降の導入環境を更新したい場合はprefixオプションを指定する
„ rpm --prefix <導入ディレクトリ> -ivh <更新パッケージ>
適用後、確認
„
rpm –qa |grep MQSeries
マシンに導入されているMQSeriesパッケージすべてに対してアップデートをあてる必要がある
47
サービスレベルの復元
Fix Pack 適用後、一つ前に適用した Fix Pack レベルに戻す場合
root ユーザーでログイン
„
マシンに導入されているパッケージを確認
[root]# rpm -aq | grep MQSeries
MQSeriesRuntime-7.1.0-1
MQSeriesSDK-7.1.0-1
MQSeriesServer-7.1.0-1
„
適用したアップデートをすべて除去
[root]# rpm -ev MQSeriesRuntime-Uxxxx-7.1.0-1 MQSeriesSDK-Uxxxx-7.1.0-1 MQSeriesServer-Uxxxx-7.1.0-1
„
除去後、確認
[root]# rpm -aq | grep MQSeries
MQSeriesRuntime-7.1.0-0
MQSeriesSDK-7.1.0-0
MQSeriesServer-7.1.0-0
レベルが戻って
いることを確認
48
WebSphere MQ のアンインストール
アンインストール事前準備
キュー・マネージャーの停止
„
手順は、P46「Fix Packの適用」のページ参照
※ インストールに保守(Fix Pack や e-Fix
など)を適用してある場合は、MQ をアンイン
ストールする前に、保守を除去してください
アンインストール
root としてログオン
現在インストールされているパッケージを検索
„
„
rpm -q -a | grep MQSeries
rpm -q -a | grep GSkit
※GSKit をアンインストールする場
合は、他の製品がGSKitを使用し
ていないことを確認してください
インストール・ディレクトリから移動
パッケージを個別にアンインストールする場合
„
他のパッケージと依存関係がないことを確認し、アンインストール
依存関係の確認方法: rpm ‐q ‐‐requires MQSeriesServer
パッケージの削除方法: rpm -ev MQSeriesServer
一度にパッケージをアンインストールする場合
„
rpm -ev MQSeriesRuntime MQSeriesServer MQSeriesSDK
導入ディレクトリが削除されなかった場合は、アンインストール後に削除します
/var/mqm ディレクトリは自動削除されないので、キュー・マネージャー情報を残す必要のない場合は、アンインストール後削除します
49
MQサーバーのアンインストール(複数導入環境)
MQサーバーを複数インストールしている場合
rootとしてログオン
現在インストールされているパッケージ を検索する
[root]# rpm -qa|grep MQSeriesServer
この部分がsuffixとなる。
suffix名を指定して検索
することも可能
MQSeriesServer-7.1.0-0.x86_64
MQSeriesServer_mqm3-7.1.0-0.x86_64
MQSeriesServer_mqm2-7.1.0-0.x86_64
[root]#
„
„
個々のインストール環境毎にパッケージが存在する(パッケージ名にsuffixがついている)
例:MQSeriesXXX_<suffix>-7.1.0-0.x86_64
suffixはインストール時に crtmqpkg を実行したときにパッケージに指定した固有の名前
アンインストールするパッケージを選んで以下コマンドを入力
[root]# rpm -ev MQSeriesRuntime_mqm3 MQSeriesServer_mqm3 MQSeriesSDK_mqm3
50
導入可能コンポーネント
コンポーネント名
説明
サーバーCDに
格納
MQSeriesRuntime
実行モジュール
○
○
MQSeriesSDK
アプリケーションのコンパイルに必須
○
○
MQSeriesServer
MQサーバー
○
-
MQSeriesClient
MQクライアント
○
○
MQSeriesSamples
サンプル・アプリケーション・プログラム
○
○
MQSeriesJava
Javaメッセージング(JMSを含む)
○
○
MQSeriesJRE
Java JRE(Javaランタイム V6)
○
○
MQSeriesMsg_xx (※)
メッセージ・カタログ (MQが出力するメッセージ
の言語)
○
○
MQSeriesMan
マニュアル・ページ (英語版)
○
○
MQSeriesTXClient
拡張トランザクション・クライアント用
○
MQSeriesGSKit
IBM Global Security Kit V8 Certificateおよ
びSSL Base Runtime
○
○
MQSeriesXRClients(x86-64のみ)
Telemetryクライアント
○
○
MQSeriesXRService(x86-64のみ)
Telemetryサービス
○
-
MQSeriesExplorer(x86およびx86-64のみ)
MQエクスプローラ
○
-
51
※ xx・・・使用する言語
MQ 稼動環境の言語設定
英語以外のMQメッセージを表示させるには以下の対応が必要
OS の日本語対応メッセージ・カタログを導入
使用する言語のメッセージ・カタログを導入
„
MQSeriesMsg_Ja (MQの日本語メッセージカタログ)
キュー・マネージャーの稼動環境を設定
„
„
環境変数 LANG を export し、使用する言語を設定する
locale コマンドで設定された言語を確認する
シフトJISに設定する場合
# export LANG=ja_JP.eucJP
# locale
LANG=Ja_JP
LC_CTYPE=“Ja_JP"
LC_COLLATE=“Ja_JP"
LC_MONETARY=“Ja_JP"
LC_NUMERIC=“Ja_JP"
LC_TIME=“Ja_JP"
LC_MESSAGES=“Ja_JP"
LC_ALL=
52
クライアントCD
に格納
MQ V7.1へのマイグレーション
✢ MQ V7.1へのマイグレーション
✢ 単一環境のマイグレーション方法
✢ 共存環境のマイグレーション方法
✤・・・必須の作業項目
✢・・・任意の作業項目
53
MQ V7.1へのマイグレーション
MQ V7.1へのマイグレーション
V7.1でサポートされるプラットフォーム(Linuxのバージョン)であることが前提
„
[MQ V7.1のシステム要件]
http://www-01.ibm.com/support/docview.wss?uid=swg27023058
V6.0以降は直接MQ V7.1へマイグレーション可能
„
„
V5.3以前はV6.0/V7.0を経由してからV7.1にマイグレーション
経由しない場合は、MQオブジェクトの再作成でMQ環境を移行することも可能
現行環境のMQオブジェクト定義は、サポート・パックMS03を用いて定義ファイルに出力することができます。
[MS03: WebSphere MQ - Save Queue Manager object definitions using PCFs (saveqmgr)]
http://www-01.ibm.com/support/docview.wss?rs=171&uid=swg24000673
既存の/var/mqmディレクトリを引き継いで使用することが可能
„
„
キューなどのオブジェクトをはじめとしたキュー・マネージャー定義やキュー・マネージャーの構成、
キューに滞留しているパーシステント・メッセージを保持したまま、バージョンアップすることができる
キュー・マネージャー構成ファイル(mqs.ini、qm.ini)は更新されないため、デフォルト値の変更、
追加されている項目の設定を行うには手動で編集する必要がある
新たなバージョンで初回キュー・マネージャー起動時に新規属性などが追加される
マイグレーション後、下位バージョンに戻すことはできない
54
単一環境のマイグレーション方法
単一環境のマイグレーションの流れは従来と同様
導入後にV7.1をプライマリー・インストレーションに設定することを推奨
マイグレーション手順は以下の通り
1.キュー・マネージャーの停止
„
endmqm でキュー・マネージャーの停止
2.キュー・マネージャーのバックアップ
„
/var/mqm/qmgrs以下と/var/mqm/log以下をtarコマンドでバックアップ
3.既存バージョンのアンインストール
4.V7.1の導入
„
既存バージョンと同様、/opt/mqmに導入
5.V7.1をプライマリー・インストレーションに設定
„
$MQ_INSTALLATION_PATH/bin/setmqinst –i –n <インストレーション名>
6.キュー・マネージャーとV7.1環境の関連付け
„
setmqm –m <QMGR名> -n <インストレーション名>
7.キュー・マネージャーの起動
„
„
strmqm でキュー・マネージャーの起動
この時点でマイグレーションが行われる
55
共存環境のマイグレーション方法
共存環境のマイグレーションの流れ
V7.0.1.6が導入済みで、別途V7.1を導入することが前提
„
既存環境がV7.0.1.6より低い場合、V7.0.1.6へのアップグレードを先に済ませる
V7.1をプライマリー・インストレーションに設定することを推奨
V7.0.1.6との共存やシステムの停止時間を考慮し、マイグレーション方式を選択できる
A. V7.1をプライマリーに設定し、同時にマイグレーションする方法
B. V7.1に関連付けてマイグレーションし、別途V7.1をプライマリーに設定する方法
„
B. は複数のキュー・マネージャーが存在し、タイミングを分けてマイグレーションする場合に有用
移行後
移行前
MQ V7.0.1.6
QMGR
MQ V7.1
A
MQ V7.0.1.6
B
MQ V7.1
QMGR
Primary
MQ V7.0.1.6
Primary
QMGR
MQ V7.1
56
共存環境のマイグレーション方法
A. V7.1をプライマリーに設定し同時にマイグレーションする方法
マイグレーション手順は以下の通り
1.V7.1の導入
„
/opt/mqm以外のディレクトリを指定して導入する
2.キュー・マネージャーの停止
„
endmqm でキュー・マネージャーの停止
3.キュー・マネージャーのバックアップ
„
/var/mqm/qmgrs以下と/var/mqm/log以下をtarコマンドでバックアップ
4.V7.0.1.6のアンインストール
5.V7.1をプライマリー・インストレーションに設定
„
$MQ_INSTALLATION_PATH/setmqinst –i –n <インストレーション名>
6.キュー・マネージャーとV7.1の関連付け
„
setmqm –m <QMGR名> -n <インストレーション名>
7.キュー・マネージャーの起動
„
„
strmqm でキュー・マネージャーの起動
この時点でマイグレーションが行われる
57
共存環境のマイグレーション方法
B. V7.1に関連付けてマイグレーションし、別途V7.1をプライマリーに設定する方法
マイグレーション手順は以下の通り
1.V7.1の導入
„
/opt/mqm以外のディレクトリを指定して導入する
2.キュー・マネージャーの停止
„
endmqm でキュー・マネージャーの停止
3.キュー・マネージャーのバックアップ
„
/var/mqm/qmgrs以下と/var/mqm/log以下をtarコマンドでバックアップ
4.V7.1でキュー・マネージャーの関連付け
„
„
. $MQ_INSTALLATION_PATH/bin/setmqenv -s
setmqm –m <QMGR名> -n <インストレーション名>
5.V7.1でキュー・マネージャーの起動
„
„
„
. $MQ_INSTALLATION_PATH/bin/setmqenv -s
strmqm でキュー・マネージャーの起動
この時点でマイグレーションが行われる
58
共存環境のマイグレーション方法
システムの停止可能な時間帯を選び、以降の手順を別のタイミングに行うことが可能
6.V7.1でキュー・マネージャーの停止
„
„
. $MQ_INSTALLATION_PATH/bin/setmqenv -s
endmqm でキュー・マネージャーの起動
7.V7.0.1.6のアンインストール
8.V7.1をプライマリー・インストレーションに設定
„
$MQ_INSTALLATION_PATH/bin/setmqinst –i –n <インストレーション名>
9.キュー・マネージャーを起動
„
„
strmqm <QMGR名>
以降、setmqenvでの環境設定は不要
V7.1へのマイグレーション後、プライマリー・インストレーションに設定するまでの注意点
キュー・マネージャーの操作時はsetmqenvでの環境設定が必要
59
HA構成時の注意点
HA構成のMQをマイグレーションする際の考慮点は、下記SILを参照
(特にV6.0からのマイグレーション時)
「WebSphere MQ v7.0.1可用性構成ガイド」
http://w3-06.ibm.com/jp/domino02/ise/ISEINFO.NSF/TechFlash?
OpenView&Start=1&Count=50&Expand=9#9
60
MQサーバーの導入確認
✢ MQサーバー導入確認 (ローカル接続)
✢ MQサーバー導入確認 (サーバー間接続)
✤・・・必須の作業項目
✢・・・任意の作業項目
61
MQサーバーの導入確認
キュー・マネージャーの作成、およびメッセージの送受信を行い、導入確認を行う
導入確認を行うツールとして、コマンドとPostcardアプリケーション(Java)を提供
„
„
これらを用いてメッセージの送受信が問題なく行えれば、導入は成功
以降はコマンドでの確認方法を説明
コマンドでのメッセージの送受信
„
„
MQで提供しているサンプル・アプリケーションを使用
メッセージの送信はamqsputコマンド、メッセージの受信はamqsgetコマンド他
導入確認前にrunmqscコマンドを使用して、キュー・マネージャーおよび関連オブジェクト
を作成する
導入確認方法
1.スタンド・アローン型
2.分散型
ローカル・キューに対してメッセージを読み書きする
リモートのキュー・マネージャーに対しメッセージ転送を行う
62
MQサーバー導入確認 (ローカル接続) スタンド・アローン型
ローカル・キューへのメッセージのPUT、GETおよびBROWSEで確認
手順
„
„
„
„
mqm グループに所属しているユーザーでログイン
事前準備 (キュー・マネージャーの作成と起動)
必要となるオブジェクトの作成
サンプル・プログラムの実行
使用するサンプル・プログラム
・amqsput – メッセージを書くプログラム
・amqsget – メッセージを取得するプログラム
・amqsgbr – メッセージを参照するプログラム
・amqsbcg – メッセージを詳細表示(MQMD含む)するプログラム
構成する環境
キュー・マネージャー: QMGR1
ローカル・キュー
LQ
63
MQサーバー導入確認 (ローカル接続) スタンド・アローン型
事前準備
複数の導入環境が共存する場合は、導入環境を設定してから行う場合があります。(setmqenvコマンドの実行)
詳しくは、p.13 「プライマリー・インストレーション以外での環境設定」をご確認ください。
キュー・マネージャーの作成
„
crtmqm QMGR1
キュー・マネージャーの起動
„
strmqm QMGR1
キュー・マネージャーの起動確認
„
dspmq
ステータスが
表示される
dspmqの実行結果例
$ dspmq
QMNAME(QMGR1)
STATUS(実行中)
64
MQサーバー導入確認 (ローカル接続) スタンド・アローン型
必要となるオブジェクトの作成
作成するオブジェクト
オブジェクト
名前
ローカル・キュー
LQ
MQSCコマンド・ファイルの作成
定義ファイル: QMGR1_StandAlone.def
*ローカル・キューの定義
DEFINE QLOCAL(LQ) +
DESCR(‘Local test queue’)
注: MQSCコマンド・ファイルの文法
・行の先頭が’*’の場合は、コメント行となる
・コマンドが次の行に続く場合は+をつける
・+の前後は空白文字を入れる
・オブジェクト名に小文字を使用する場合は、‘(シングル・クォート)で囲む
・大文字小文字は区別される。MQSCコマンドとして小文字で入力されたテキストは、単一引用符で囲まない限
り大文字に変換される。ここでの例は、必ず示されているとおりに入力すること
65
MQサーバー導入確認 (ローカル接続) スタンド・アローン型
オブジェクトの作成
$ runmqsc QMGR1 < QMGR1_StandAlone.def
5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED.
キュー・マネージャー QMGR1 に対して MQSC を始動中です。
: *ローカル・キューの定義
1 : DEFINE QLOCAL(LQ) +
: DESCR(‘Local test queue’)
エラーがないこと
AMQ8006: WebSphere MQ キューが作成されました。
を確認
MQSC コマンドを 1 つ読み取りました。
構文エラーがあるコマンドはありません。
有効な MQSC コマンドはすべて処理されました。
キューの作成を確認
$ runmqsc QMGR1
5724-H72 (C) Copyright IBM Corp. 1994, 2011. ALL RIGHTS RESERVED.
キュー・マネージャー QMGR1 に対して MQSC を始動中です。
キュー名が表示
display qlocal(LQ)
される
1 : display qlocal(LQ)
AMQ8409: キューの内容を表示します。
end
「end」 を入力して
runmqscを終了
66
MQサーバー導入確認 (ローカル接続) スタンド・アローン型
サンプル・プログラムの実行
サンプル・プログラムのディレクトリー(<導入dir>/sample/bin)に移動
キューにメッセージをPUT (amqsputを使用)
amqsputの実行結果例
„
„
amqsput
・引数にキュー名、キュー・マネージャー名を指定
標準出力よりメッセージを入力
・1行を1メッセージとして扱う
・空白行でプログラム終了
$ amqsput LQ QMGR1
Sample AMQSPUT0 start
target queue is LQ
test message1
test message2
Sample AMQSPUT0 end
メッセージをGET、BROWSE
„
„
„
amqsget ローカル・キューからメッセージをGET
・引数にキュー名、キュー・マネージャー名を指定
・キュー内のメッセージをすべて表示し、
15秒WAITしてもメッセージがなければ終了
amqsgbr メッセージをブラウズ
・引数にキュー名、キュー・マネージャー名を指定
・キュー内のメッセージをすべてBROWSEし、表示
amqsbcg メッセージの詳細表示
・引数にキュー名、キュー・マネージャー名ともに必須
・メッセージ記述子(MQMDヘッダー) なども表示
amqsgbrの実行結果例
$ amqsgbr LQ QMGR1
Sample AMQSGBR0 (browse) start
QMGR1
Messages for LQ
1 <test message1>
2 <test message2>
no more messages
Sample AMQSGBR0 (browse) end
67
MQサーバー導入確認 (サーバー間接続) 分散型
リモートのキュー・マネージャーに対するメッセージ転送
プロトコルはTCP/IPを使用
送信側はリモート・キューへメッセージをPUT、受信側はローカル・キューからBROWSE、
もしくは、GETで確認
手順
mqm グループに所属しているユーザーでログイン
事前準備 ※p.64 「稼動確認(ローカル接続)スタンド・アローン型」のページを参照
必要となるオブジェクトの作成
受信側での準備
送信側での準備
サンプル・プログラムの実行
稼動確認で構成する環境
ホスト名: host1
ホスト名:host2
キュー・マネージャー: QM_R
キュー・マネージャー: QM_S
チャネル
QM_S.TO.QM_R
リモート・キュー
QM_R.LQ
トランスミッション・キュー
QM_R
68
ローカル・キュー
LQ
MQサーバー導入確認 (サーバー間接続) 分散型
必要となるオブジェクトの作成
作成するオブジェクト
受信側 キュー・マネージャー: QM_R
送信側 キュー・マネージャー: QM_S
オブジェクト
名前
オブジェクト
名前
トランスミッション・キュー
QM_R
ローカル・キュー
LQ
リモート・キュー
QM_R.LQ
受信チャネル
QM_S.TO.QM_R
送信チャネル
QM_S.TO.QM_R
MQSCコマンド・ファイルを作成し、実行する
・送信側 MQSCコマンド・ファイル名 : QM_S.def (次ページ参照)
・受信側 MQSCコマンド・ファイル名 : QM_R.def (次ページ参照)
„
送信側(QM_S) での実行
„
$ runmqsc QM_S < QM_S.def
„
受信側(QM_R) での実行
$ runmqsc QM_R < QM_R.def
オブジェクトが作成されたことを確認
„
オブジェクトが作成されたことを確認
$ runmqsc QM_S
$ runmqsc QM_R
display qremote(QM_R.LQ)
display qlocal(QM_R)
display channel(QM_S.TO.QM_R)
end
display qlocal(LQ)
display channel(QM_S.TO.QM_R)
end
69
<参考> MQSCコマンド・ファイル
送信側MQSCコマンド・ファイル QM_S.def
受信側MQSCコマンド・ファイル QM_R.def
**リモート・キューの作成**
DEFINE QREMOTE(QM_R.LQ) +
DESCR(‘Test remote queue’) RNAME(LQ) +
RQMNAME(QM_R) XMITQ(QM_R)
**ローカルキューの作成**
DEFINE QLOCAL(LQ) +
DESCR(‘Test local queue’)
**受信チャネルの作成**
DEFINE CHANNEL(QM_S.TO.QM_R) +
CHLTYPE(RCVR) +
DESCR(‘Test receiver channel’)
**トランスミッション・キューの作成**
DEFINE QLOCAL(QM_R) USAGE(XMITQ) +
DESCR(‘Test xmitq’)
**送信チャネルの作成**
DEFINE CHANNEL(QM_S.TO.QM_R) +
CHLTYPE(SDR) TRPTYPE(TCP) +
XMITQ(QM_R) CONNAME(‘HOST2(1414)’) +
DESCR(‘Test sender channel’)
注: MQSCコマンド・ファイルの文法
・行の先頭が’*’の場合は、コメント行となる
・コマンドが次の行に続く場合は+をつける
・+の前後は空白文字を入れる
・オブジェクト名に小文字を使用する場合は、‘(シングル・クォート)で囲む
・大文字小文字は区別される。MQSCコマンドとして小文字で入力されたテキストは、単一引用符で囲まない限り
大文字に変換される。ここでの例は、必ず示されているとおりに入力すること
70
MQサーバー導入確認 (サーバー間接続) 分散型
受信側での準備
リスナーの起動
„
受信側では、受信チャネル起動のために事前にリスナーを起動
$ runmqlsr –m QM_R –t TCP –p 1414 &
$ ps -ef | grep runmqlsr | grep QM_R
mqm 21922 40020 0 16:24:21 pts/1 0:00 runmqlsr -m QM_R -t TCP -p 1414
送信側での準備
リスナー・プロセスが起動
していることを確認
チャネルの開始
$ runmqsc QM_S
START CHANNEL (QM_S.TO.QM_R)
2 : START CHANNEL(QM_S.TO.QM_R)
AMQ8018: WebSphere MQ チャネルの開始が受け入れられました。
DISPLAY CHSTATUS(QM_S.TO.QM_R)
3 : DISPLAY CHSTATUS(QM_S.TO.QM_R)
AMQ8417: チャネル状況の内容を表示します。
CHANNEL(QM_S.TO.QM_R) CHLTYPE(SDR)
CONNAME(HOST2(1414))
CURRENT
RQMNAME(QM_R)
STATUS(RUNNING)
SUBSTATE(MQGET)
XMITQ(QM_R)
end
STATUSが
RUNNINGであることを
確認
71
MQサーバー導入確認 (サーバー間接続) 分散型
サンプル・プログラムの実行
送信側 リモート・キューに対してメッセージのPUT
„
„
„
サンプル・プログラムのディレクトリ(<導入dir>/sample/bin)に移動
amqsput
amqsputの実行結果例
・引数にキュー名、キュー・マネージャー名を指定
標準入力よりメッセージを入力
$ amqsput QM_R.LQ QM_S
Sample AMQSPUT0 start
・1行を1メッセージとして扱う
target queue is QM_R.LQ
・空白行でプログラム終了
test message1
test message2
受信側 メッセージをGET、BROWSE
„
„
„
„
サンプル・プログラムのディレクトリに移動
amqsget ローカル・キューからメッセージをGET
・引数にキュー名(必須)、キュー・マネージャー名を指定
・キュー内のメッセージをすべて表示し、
15秒WAITしてもメッセージがなければ終了
amqsbcg メッセージの詳細表示
・引数にキュー名、キュー・マネージャー名ともに必須
・メッセージ記述子(MQMDヘッダー) なども表示
amqsgbr メッセージをブラウズ
・引数にキュー名、キュー・マネージャー名を指定
・キュー内のメッセージをすべてBROWSEし、表示
72
Sample AMQSPUT0 end
amqsgbrの実行結果例
$ amqsgbr LQ QM_R
Sample AMQSGBR0 (browse) start
QM_R
Messages for LQ
1 <test message1>
2 <test message2>
no more messages
Sample AMQSGBR0 (browse) end
MQクライアントの導入
✢ MQクライアントの導入
✢ MQクライアントの導入確認
✤・・・必須の作業項目
✢・・・任意の作業項目
73
MQクライアントの導入
インストールイメージ
MQサーバーと別のサーバーに導入する場合
„
„
MQクライアント・イメージから導入
拡張トランザクション・クライアントは、MQサーバー・イメージから導入
拡張トランザクション・クライアントのファイルセットはMQサーバー・イメージにのみ格納されています
MQサーバーと同じサーバーに導入する場合
„
MQサーバー・イメージからMQクライアント・ファイルセットを導入
導入方法
MQサーバーと導入方法は同じ
„
„
p.40-「MQサーバーの導入」のページ以降参照
ベース・ランタイムとMQクライアントは必須で、その他は必要に応じて導入
MQクライアントのコンポーネントについてはp.51「MQコンポーネントおよびファイル・セット」を参照
Fix Pack適用方法に関しては、p.46「Fix Packの適用」のページ参照」 (オプション作業)
MQクライアントのマイグレーションでは、引き継ぐデータはありません。
インストール済みのファイルセットを更新することで、バージョンアップが可能です。
なお、クライアントで保持する構成情報として、チャネル定義テーブルやV7.0より追加されたクライアント構成ファイル
(mqclient.ini)があります。
74
バージョンアップ後のチャネル定義テーブルの扱い
V7.1以前のキュー・マネージャーで作成したチャネル定義テーブルをV7.1
クライアントで使用することは可能
MQクライアントをバージョンアップした際、チャネル定義テーブルは更新されない
V7.1で新規追加された属性はデフォルトとして扱われる
V7.1で新規追加された属性を変更する場合は、V7.1キュー・マネージャーでチャネル
定義テーブルを再作成し、再配布することが必要
上位バージョンのキュー・マネージャーで作成したチャネル定義テーブルは
下位バージョンのMQクライアント・ライブラリでは利用できない
キュー・マネージャー側だけバージョンアップした際は注意が必要
MQクライアントアプリ(V7.1)
キュー・マネージャー(V7.1)
V7.1
チャネル定義テーブル(V7.1)作成
配布
MQクライアントアプリ(V6.0)
V7.1
配布
75
MQクライアントの導入確認
クライアント接続でのメッセージ転送
プロトコルはTCP/IPを使用
ローカル・キューへのメッセージのPUT、GET、もしくは、BROWSEで確認
手順
mqm グループに所属しているユーザーでログイン
事前準備 ※p.64 「稼動確認(ローカル接続)スタンド・アローン型」のページを参照
必要となるオブジェクトの作成
MQサーバー側での準備
MQクライアント側での準備
サンプル・プログラムの実行
構成する環境
MQサーバー ホスト名: makuhari
キュー・マネージャー: QMGR1
ローカル・キュー
LQ
76
MQクライアントの導入確認
必要となるオブジェクトの作成
作成するオブジェクト
MQサーバー側 キュー・マネージャー名:QMGR1
オブジェクト
名前
ローカル・キュー
LQ
サーバー・チャネル
CHANNEL1
MQSCコマンド・ファイルを作成し、実行する
QMGR1_SVR.def
„
MQサーバー側 での実行
** チャネル・セキュリティーの無効化 ** (※)
ALTER QMGR CHLAUTH(DISABLED)
$ runmqsc QMGR1 < QMGR1_SVR.def
オブジェクトが作成されたことを確認
„
**ローカル・キューの作成**
DEFINE QLOCAL(LQ) DESCR(‘Test local queue’)
$ runmqsc QMGR1
display qlocal(lq)
display channel(channel1)
end
**サーバー・チャネルの作成**
DEFINE CHANNEL(CHANNEL1) +
CHLTYPE(SVRCONN) TRPTYPE(TCP) +
MCAUSER(‘mqm’) + DESCR(‘Test server channel’)
※V7.1で作成したキュー・マネージャーは、デフォルトでチャネル・セキュリティーが有効になり(マイグレーションしたキュー・マネージャー
では無効)、クライアント接続が権限チェックされます。そのため、確認の際は一旦チャネル・セキュリティーを無効にしてください。
(QMGRのCHLAUTH属性)
77
稼動確認(クライアント接続)
MQサーバー側での準備
リスナーの起動
„
MQサーバー側では、サーバー・チャネル起動のために事前にリスナーを起動
$ runmqlsr –m QMGR1 –t TCP –p 1414 &
$ ps -ef | grep runmqlsr | grep QMGR1
mqm 21922 40020 0 16:24:21 pts/1 0:00 runmqlsr -m QMGR1 -t TCP -p 1414
リスナー・プロセスが起動
していることを確認
78
稼動確認(クライアント接続)
MQクライアント側の設定
N/W の確認
„
ping <MQサーバー側IPアドレス もしくは ホスト名>
MQSERVER環境変数の設定
„
export MQSERVER=チャネル名/通信プロトコル/’ホスト名(ポート)’
※ ホスト名はIPアドレスも可
実行例
export MQSERVER=CHANNEL1/TCP/'makuhari(1414)'
MQクライアントは、アクセス権限がないとキュー・マネージャーに接続することができません。権限を与える方法の1つとして、MQ
サーバーが導入されているマシンとMQクライアントが導入されているマシンに同じ名前のユーザーを作成し、MQサーバー上の
ユーザーをmqmグループに所属させる方法があります(※)。次ページにあるMQクライアント・アプリケーションはそのユーザーで
実行してください。
その他、MQクライアントにアクセス権限を与える方法に関しては、マニュアル「セキュリティー」を参照してください。
※ MQクライアント側のアプリケーションの実行ユーザーはmqmグループに所属している必要はありません。
79
MQクライアントの導入確認
サンプル・プログラムの実行
amqsputの実行結果例
キューに、メッセージのPUT
„
„
amqsputc
・引数にキュー名(必須)、キュー・マネージャー名を指定
標準入力よりメッセージを入力
・1行を1メッセージとして扱う
・空白行でプログラム終了
$ amqsputc LQ QMGR1
Sample AMQSPUT0 start
target queue is LQ
test message1
test message2
Sample AMQSPUT0 end
キューから、メッセージのGET、BROWSE
„
„
„
amqsgetc ローカル・キューからメッセージをGET
・引数にキュー名、キュー・マネージャー名を指定
・キュー内のメッセージをすべて表示し、15秒WAITしてもメッセージがなければ終了
amqsbcgc メッセージの詳細表示
amqsgbrの実行結果例
・引数にキュー名、キュー・マネージャー名ともに必須
・メッセージ記述子(MQMDヘッダー) なども表示
$ amqsgbrc LQ QMGR1
Sample AMQSGBR0 (browse) start
amqsgbrc メッセージをブラウズ
QMGR1
・引数にキュー名、キュー・マネージャー名を指定
Messages for LQ
1 <test message1>
・キュー内のメッセージをすべてBROWSEし、表示
2 <test message2>
no more messages
Sample AMQSGBR0 (browse) end
80
その他
‹ マニュアル一覧
‹ マニュアル及び製品関連のサイト
81
マニュアル一覧
プラットフォーム共通
MQ V7.1より、マニュアル構成が更新
マニュアル名(英語)
マニュアル名(日本語)
Product overview
製品の概要
Planning
計画
Migrating and upgrading
マイグレーションおよびアップグレード
Installing
インストール
Security
セキュリティー
Configration
構成
Administering
管理
Developing applications
アプリケーションの開発
Monitoring and performance
モニターおよびパフォーマンス
Troubleshooting and support
トラブルシューティングおよびサポート
Reference
参照
旧マニュアル構成との関連リンク集
http://publib.boulder.ibm.com/infocenter/wmqv7/v7r1/topic/com.ibm.mq.doc/zx00000_.htm
最新版マニュアルの入手先:
http://www-306.ibm.com/software/integration/mqfamily/library/manualsa/
82
マニュアル及び製品関連のサイト
マニュアル(InfoCenter)
提供方法
„
„
製品とは別CD-ROMにて提供
・直接CD-ROMから参照することもできるし、マシンに導入して使用することもできる
・Windows、Linux(x86) で提供
最新版マニュアルは以下のサイトにて参照可能
http://publib.boulder.ibm.com/infocenter/wmqv7/v7r1/index.jsp
日本語版も提供
„
„
ブラウザーの言語設定あるいはURLの最後に言語指定して表示(?lang=ja など)
英語版の方が先に更新されるので、両方参照することを推奨
製品関連サイト
サポート・パック
http://www-1.ibm.com/support/docview.wss?rs=977&uid=swg27007205
サポート・サマリー (最新Fix Packの情報など)
http://www-306.ibm.com/software/integration/wmq/support
83
Last Page
84
Fly UP