Comments
Description
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