Comments
Description
Transcript
WebSphere MQ V6.0 for 導入ガイド Linux
WebSphere MQ V6.0 for Linux 導入ガイド ISE エンタープライズ・ミドルウェア この資料では、WebSphere MQ (以下 MQ) for Linux V6.0 の MQ サーバー導 入に関する項目、MQ クライアントに関する項目、参考資料をトピックとして取り上 げていますので、目的に合わせて参照してください 各トピックが、必須項目と、オプション項目にわかれている場合、必須項目は必ず 行ってください 注意事項は、※印、または破線のボックスに記述されています ユーザーの入力部分はイタリックになっています この資料は、あくまで参考情報であり、内容について保障するものではありませんの で、あらかじめご了承ください 2 トピック 前提条件の確認・・・・ 前提ハードウェア・ソフトウェア MQ エクスプローラーの前提条件 SSL の前提条件 前提ディスク容量 MQサーバー導入関連項目 MQクライアント導入関連項目 参考資料 導入準備・・・・・・・・・ MQ の導入に必要なユーザーの作成 / グループの設定 ファイルシステムの作成 カーネル・パラメーターの設定 MQサーバーの導入・・ MQ サーバーの導入 CSD の適用 導入可能コンポーネント WebSphere MQ V6 へのマイグレーション Red Hat Enterprise Linux® V3.0 を使用している場合のMQ V6 への移行 WebSphere MQ V6 のアンインストール MQ 稼動環境の言語設定 3 トピック MQ サーバーの導入確認・・・ 導入確認 (ローカル接続) 導入確認 (サーバー間接続) MQサーバー導入関連項目 MQクライアント導入関連項目 参考資料 MQ クライアントの導入・・・・・ MQ クライアントの導入 MQ クライアントの導入確認 その他 ・・・・・・・・・・・・・・・・ マニュアル一覧 オンライン・マニュアル LIBPATH と LD_LIBRARY_PATH 4 前提条件の確認 ✤ 前提 ハードウェア・ソフトウェア (x86プラットフォーム) ✤ 前提H/W、S/W (x86-64 プラットフォーム) ✤ 前提 ハードウェア・ソフトウェア (POWERプラットフォーム) ✤ 前提 ハードウェア・ソフトウェア (z/Seriesプラットフォーム) ✤ 前提H/W、S/W (zSeries on s390x プラットフォーム) ✣ MQエクスプローラーの前提条件 (x86 のみ) ✣ SSLの前提条件 ✤・・・導入に必須の作業 ✤ 前提ディスク容量 ✢・・・オプション 5 前提条件の確認 最新の前提条件は、以下のURLから参照できます http://www-306.ibm.com/software/integration/wmq/requirements/index.html 6 前提H/W、S/W (x86 プラットフォーム) 項目 内容 前提ハードウェア x86 マシン・アーキテクチャーをサポートする 32-bit Intel PC 必須 OSの前提 (※1) ・Red Hat Enterprise Linux® AS V3.0 plus Update 2 ・SuSE Linux Enterprise Server (SLES) V8 plus Service Pack 3 (※2) ・SuSE Linux Enterprise Server (SLES) V9 必須 コネクティビティー ・TCP/IP ・LU6.2 (※3) 必須 コンパイラー C/C++ (※4) ・ GNU C コンパイラー (gcc) および g++ V2.9.5 ・ GNU C コンパイラー (gcc) および g++ V3.2 ・ GNU C コンパイラー (gcc) および g++ V3.3 ・ GNU C コンパイラー (gcc) および g++ V3.4 COBOL ・ Micro Focus Server Express, V4.0 OP トランザクション・モ ニター ・BEA Tuxedo 8.1 ・BEA WebLogic V8.1 + SP4 on RHAS 3.0 or SLES8 (Intel) (※5) ・BEA WebLogic JRockit™ 1.4.2 (※5) ・IBM WebSphere® Application Server (WAS) V5.1 (※6) (※7) ・IBM WebSphere® Application Server (WAS) V6.0.1 (※7) OP ※1 32-bit バージョンのみサポート。64-bit OSはサポートされません ※2 このOSでは MQエクスプローラーを使用できません ※3 IBM® Communications Server for Linux バージョン 6.2 が必要です ※4 C++ サポート・ライブラリーを、コンパイラーのバージョンと一致する名前のディレクトリー (/opt/mqm/lib/<version>) にイン ストールし、/opt/mqm/lib からデフォルト・バージョン (3.2) にリンクする ※5 EJB(MDBを含む) で、かつ JMS で書かれたアプリケーションのみサポート ※6 SUSE Linux Enterprise Server (SLES) 8 を使用する場合にサポート ※7 WAS を XAコーディネーターとして使用可能 7 前提H/W、S/W (x86 プラットフォーム) 項目 内容 データベース ・DB2 Universal Database™ V8.2 ・Oracle 9i Release 2 + Patch Set 4 (9.2.0.5) ・Oracle 10g Release 1 ・Sybase Adaptive Server Enterprise (ASE) 12.5.1 ・Informix® Dynamic Server (IDS) V9.40 + Client SDK V2.90 OP Java™ JMS クライアント ・IBM® 32-bit SDK for Linux® on Intel® architecture, Java 2 Technology Edition, Version 1.4.2 (※1) ・Java 2 Platform, Standard Edition (J2SE) V1.4.2 from Sun Microsystems, Inc. ・IBM Developer Kit for Linux V1.3.1 (※2) OP SOAPサポート ・IBM 32-bit SDK for Linux on Intel architecture, Java 2 Technology Edition, Version 1.4.2 (※3) ・Apache Axis V1.1 (※3) OP ※1 製品に同梱。SSLを使用する場合は必須 このJDKは、 SOAP と FIPS 140−2 をサポートしています このJDK以外の代替使用可能なJDKは以下のURLを参照 http://www-306.ibm.com/software/integration/wmq/requirements/index.html ・同根されているJDK以外を使用する場合は次の項目でサポートがあることを確認 FIPS level 140-2 互換、 WebSphere MQ との互換、 SOAPのサポートの有無 ※2 このバージョンの32bit 版 とJSSE クラス・ファイル と同等の機能を実装しているほかの Java でも代替可能 ただし、SSLチャルでCRLの機能は使用できません ※3 製品に同梱 8 前提H/W、S/W (x86-64 プラットフォーム) 項目 内容 前提ハードウェア ・AMD64、EM64T プロセッサーをサポートする任意のマシン 必須 OSの前提 (※1) ・Red Hat Enterprise Linux V4.0 ・SUSE LINUX Enterprise Server (SLES) 9 必須 コネクティビティー ・TCP/IP 必須 コンパイラー C/C++ (※4) ・ GNU C Compiler (gcc) and g++ V3.3 ・ GNU C Compiler (gcc) and g++ V3.4 ・ Micro Focus Server Express V4.0 (COBOL) OP トランザクション・モニ ター ・IBM WebSphere Application Server V6.0.1 or higher ・BEA Tuxedo V8.1 ・BEA WebLogic Server V8.1 + Service Pack 4 (Red Hat Enterprise Linux V4.0 のみ) (※1) OP ※1 EJB(MDBを含む) で、かつ JMS で書かれたアプリケーションのみサポート 9 前提H/W、S/W (x86-64 プラットフォーム) 項目 内容 データベース ・DB2 Universal Database™ V8.2 ・Oracle 9i Release 2 + Patch Set 4 (9.2.0.5) ・Oracle 10g Release 1 ・Informix® Dynamic Server (IDS) V9.40 + Client SDK V2.90 + Patch3501955 ・Informix® Dynamic Server (IDS) V10 + Client SDK V2.90 OP Java™ JMS クライアント 32 bit ・IBM® 32-bit SDK for Linux® on Intel® architecture, Java 2 Technology Edition, Version 1.4.2 (※1) 64 bit ・IBM SDK for Linux on AMD64/EM64T architecture, Java 2 Technology Edition, Version 1.4.2 (※1) OP SOAPサポート ・IBM 32-bit SDK for Linux on AMD64/EM64T architecture, Java 2 Technology Edition, Version 1.4.2 (※1) ・Apache Axis V1.1 (※1) OP ※1 製品に同梱 その他制限 このプラット・フォームでは JDBC/XA はサポートされていません このプラット・フォームでは、MQエクスプローラーは提供されません X86 で作成された V6 キュー・マネージャーとのマイグレーション・パスはありません X86 で作成された V5.* キュー・マネージャーから、V6 キュー・マネージャー(32/64 ビット) へはマイグレーション可 能です 10 前提H/W、S/W (POWER プラットフォーム) 項目 内容 前提ハードウェア 64-bit iSeries and pSeries IBM POWER™ マシン・アーキテクチャーをサポートするマシン 必須 OSの前提 ・Red Hat Enterprise Linux® AS V3.0 plus Update 2 ・Red Hat Enterprise Linux® AS V4.0 ・SuSE Linux Enterprise Server (SLES) V9 必須 コネクティビティー ・TCP/IP 必須 コンパイラー C/C++ (※1) ・ GNU C コンパイラー (gcc) および g++ V3.2 ・ GNU C コンパイラー (gcc) および g++ V3.3 ・ GNU C コンパイラー (gcc) および g++ V3.4 COBOL ・ Micro Focus Server Express, V4.0 OP データベース ・DB2 Universal Database™ V8.2 OP トランザクション・マ ネージャー ・WebSphere Application Server V6.0.1 ・BEA WebLogic Server V8.1 (for RHEL V3.0) OP ※1 C++ サポート・ライブラリーを、コンパイラーのバージョンと一致する名前のディレクトリー (/opt/mqm/lib/<version>) にイン ストールし、/opt/mqm/lib からデフォルト・バージョン (3.2) にリンクする 11 前提H/W、S/W (POWER プラットフォーム) 項目 内容 Java™ JMS クライアント (※1) ・IBM® 64-bit SDK for Linux for iSeries® and pSeries®, Java 2 Technology Edition V1.4.2 (※2) ・IBM® 32-bit SDK for Linux for iSeries® and pSeries®, Java 2 Technology Edition V1.4.2 (※2) SOAPサポート ・IBM 32-bit SDK for Linux for iSeries and pSeries, Java 2 Technology Edition V1.4.2 (※3) ・IBM 64-bit SDK for Linux for iSeries and pSeries, Java 2 Technology Edition V1.4.2 (※3) ・Apache Axis V1.1 (※3) ※1 通常、32 ビットおよび 64 ビット JDK は、別々の場所にインストールされる (32 ビット JDK: /opt/IBMJava2-ppc-142、64 ビット JDK: /opt/IBMJava2-ppc64-142) PATH 変数が、Java を使用するアプリケーション用に正しく設定されていることを確認する 以下のコマンドを使用して、インストールされているバージョンを確認できます java -version ※2 製品に同梱、pSeries上でのみサポート このJDKは、 SOAP と FIPS 140−2 をサポートしています このJDK以外の代替使用可能なJDKは以下のURLを参照 http://www-306.ibm.com/software/integration/wmq/requirements/index.html ・同根されているJDK以外を使用する場合は次の項目でサポートがあることを確認 FIPS level 140-2 互換、 WebSphere MQ との互換 ※3 製品に同梱 12 OP 前提H/W、S/W (zSeries プラットフォーム) 項目 内容 前提ハードウェア IBM S/390 もしくは zSeries® マシン・アーキテクチャーをサポートする任意のマシン 必須 OSの前提 ・Red Hat Enterprise Linux® AS V3.0 plus Update 2 ・SuSE Linux Enterprise Server (SLES) V9 ・SuSE Linux Enterprise Server (SLES) V8 + Service Pack 3 必須 コネクティビティー ・TCP/IP ・LU6.2 (※1) 必須 コンパイラー C/C++ (※2) ・ GNU C コンパイラー (gcc) および g++ V2.9.5 ・ GNU C コンパイラー (gcc) および g++ V3.2 ・ GNU C コンパイラー (gcc) および g++ V3.3 ・ GNU C コンパイラー (gcc) および g++ V3.4 COBOL ・ Micro Focus Server Express, V4.0 OP データベース ・DB2 Universal Database™ V8.2 ・Informix® Dynamic Server (IDS) V9.40 plus Client SDK V2.90 OP トランザクション・モニ ター ・BEA Tuxedo 8.1 (※3) ・IBM WebSphere® Application Server (WAS) V5.1 (※3) (※4) ・IBM WebSphere® Application Server (WAS) V6.0.1(※4) OP ※1 IBM® Communications Server for Linux バージョン 6.2 が必要です ※2 C++ サポート・ライブラリーを、コンパイラーのバージョンと一致する名前のディレクトリー (/opt/mqm/lib/<version>) にイン ストールし、/opt/mqm/lib からデフォルト・バージョン (3.2) にリンクする ※3 SUSE Linux Enterprise Server (SLES) 8 オペレーティング・システムで使用する場合にサポート ※4 WAS を XAコーディネーターとして使用可能 13 前提H/W、S/W (zSeries プラットフォーム) 項目 内容 Java™ JMS クライアント (※2) ・IBM® 32-bit SDK for Linux® on zSeries®, Java 2 Technology Edition, Version 1.4.2 (※1 ) SOAPサポート ・IBM 32-bit SDK for Linux on zSeries, Java 2 Technology Edition, Version 1.4 (※1) ・Apache Axis V1.1 (※1) ※1 製品に同梱 ※2 このJDKは、 SOAP と FIPS 140−2 をサポートしています このJDK以外の代替使用可能なJDKは以下のURLを参照 http://www-306.ibm.com/software/integration/wmq/requirements/index.html ・同根されているJDK以外を使用する場合は次の項目でサポートがあることを確認 FIPS level 140-2 互換、 WebSphere MQ との互換 ※3 製品に同梱 14 OP 前提H/W、S/W (zSeries on s390x プラットフォーム) 項目 内容 前提ハードウェア zSeries もしくは IBM eServer 64-bit プロセッサーをサポートし、前提 OS をサポートする任意のマシン 必須 OSの前提 ・ Red Hat Enterprise Linux V4.0 ・ SUSE LINUX Enterprise Server (SLES) 9 必須 コネクティビティー ・TCP/IP 必須 コンパイラー C ・ GNU C コンパイラー (gcc) および g++ V3.3 ・ GNU C コンパイラー (gcc) および g++ V3.4 COBOL ・ Micro Focus Server Express, V4.0 OP データベース ・DB2 Universal Database™ V8.2 ・Informix® Dynamic Server (IDS) V9.40 + Client SDK V2.90 ・Informix® Dynamic Server (IDS) V10 + Client SDK V2.90 OP トランザクション・モニ ター ・BEA Tuxedo 8.1 (※1) ・IBM WebSphere Application Server V6.0.2 or higher (31-bit のみ) OP ※1 EJB(MDBを含む) で、かつ JMS で書かれたアプリケーションのみサポート 15 前提H/W、S/W (zSeries on s390x プラットフォーム) 項目 内容 Java™ JMS クライアント 31 bit ・ IBM 31-bit SDK for Linux on zSeries, Java™ 2 Technology Edition, V1.4.2 (※1) 64 bit ・ IBM 64-bit SDK for Linux on zSeries, Java 2 Technology Edition, Version 1.4.2 (※1) OP SOAPサポート IBM 64-bit SDK for Linux on zSeries, Java 2 Technology Edition, Version 1.4.2 (※1) Apache Axis V1.1 (※1) OP ※1 製品に同梱 その他制限 このプラット・フォームでは、MQエクスプローラーは提供されません 64 ビットで作成された V6 キュー・マネージャーとのマイグレーション・パスはありません V5.* キュー・マネージャーから、V6 キュー・マネージャー(31/64 ビット) へはマイグレーション可能です 16 MQ エクスプローラーの前提条件(x86 プラットフォームのみ) MQ エクスプローラーを使用する場合の前提条件 512MB RAM 1 GHz のプロセッサー 1.5 GB (WebSphere Eclipse プラットフォーム・コードおよびデータ用) OS 用の適切なモニター (1024×768 の画面サイズ) 17 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 V7 WebSphere MQ に同梱 GSKit V6 からマイグレーションする場合は、gsk6bas.rte をアンインストールしてから GSKit V7 をインストール その際には GSKit V6 が前提となっている製品がないことを確認する GSKit V6 のパッケージ名は gskbas-6.0-n.nn.<arch>.rpm 18 <参考>Linux のスレッド・モデルについて WebSphere MQ でサポートされるスレッド・モデル Linux 上のスレッド・サポートは pthreads ライブラリーで提供 LinuxThreads pthreads ライブラリー 2.4 シリーズのカーネルをもとにしたディストリビューション (UnitedLinux 1.0 をもとにしたディストリ ビューション) によく組み込まれている getpid() 関数が、プロセス内のスレッドごとに別々の値を戻すため、ps コマンドの出力で別個の プロセスとして識別される Native Posix Threading Library (NPTL) 2.6 シリーズのカーネルをもとにしたディストリビューション (UnitedLinux 2.0 をもとにしたディストリ ビューション) によく組み込まれている LinuxThreads の不足を補うために置き換えたもの プロセス内のスレッドは、複数の呼び出しから同じ pid を getpid() に戻すため、POSIX Threads 仕様により厳密に準拠 19 前提ディスク容量 MQ によって消費されるディスク・サイズ コンポーネントごとに必要なストレージ概算量は次ぺージのとおり システム構築の際には、MQ を使用する上で必要となるディスク容量を別途見積もる 見積もりに使用される項目例 ・システムに一時点に滞留する最大メッセージ数 ・メッセージ平均長+500バイト(ヘッダー) ・キューの数 ・ログ・ファイルとエラー・ログのサイズ その他、ディスクを使用する項目 前提条件ソフト・ウェア オプションのソフト・ウェア ユーザー・アプリケーション 20 前提ディスク容量 必要なディスク容量 MQサーバー MQクライア ント 導入ディレ クトリ x86 POWER zSeries 実行モジュール 25.2 (MB) 25.1(MB) 30.8 (MB) 必須 必須 /usr MQクライアント 2.8 2.9 5.0 必須 必須 /opt MQサーバー 14.3 14.5 32.8 必須 N/A /opt アプリケーションのコンパイルに必須 1.7 1.7 1.7 OP N/A /opt サンプル・アプリケーション・プログラム 4.8 4.8 5.3 OP OP /opt Java および JMS サポート 6.9 6.9 6.9 OP OP /opt SSL 鍵管理のサポート (SSLに必要) 58.6 50.0 60.8 OP N/A /opt 拡張トランザクション・クライアント用 0.1 0.1 0.2 OP OP /opt マニュアル・ページ (英語版) 0.7 0.8 0.8 OP OP /usr メッセージ・カタログ (MQが出力するメッ セージの言語) 0.5 0.5 0.6 OP OP /usr Eclipse (MQエクスプローラーの稼動に 必須) 224.8 N/A N/A OP N/A /opt MQ エクスプローラー 40.5 N/A N/A OP N/A /opt ファイル転送アプリケーション 0.8 N.A N/A OP N/A /opt 32ビット版 証明書・SSL ランタイム 10.4 13.3 11.3 OP OP /usr 64ビット版 証明書・SSL ランタイム N/A N/A 12.5 OP OP /usr 32ビット版 IBM Java SDK 80.5 71.3 82.5 OP OP /opt 64ビット版 IBM Java SDK N/A N/A 82.1 OP OP /opt OP・・・オプション 21 Blank Page 22 導入準備 ✤ MQ の導入に必要なユーザー/ グループの作成 ✢ ファイルシステムの作成 ✢ カーネル・パラメーターの設定 ✤・・・導入に必須の作業 ✢・・・オプション 注: ・導入に関して、ユーザー/グループの作成は必須です ・ファイルシステムの作成はオプションですが、導入後に作成できませんので、作成する場合は導入前に行ってください ・その他の設定に関しては、必要に応じて設定してください 23 Blank Page 24 mqm グループの作成 redhat-config-users を root で実行し、管理プログラムを起動 「グループを追加」 を 選択 グループ名に 「mqm」と入力し、 「OK」をクリック 既存のユーザーをグループに追 加したい場合は、「グループユー ザー」タブをクリックし、ユーザーを 選択して 「OK」ボタンをクリック 25 mqm グループの作成 mqm グループの作成つづき mqmグループが作成 されたことを確認 26 mqm ユーザーの作成 redhat-config-users を実行し、管理プログラムを起動 rootで実行 ユーザー名に「mqm」と入力、 任意のパスワードを入力して、 「OK」をクリック 「ユーザーを追加」 を 選択 27 mqm ユーザーの作成 mqm ユーザーの作成つづき mqmユーザーが作成 されたことを確認 28 (参考)その他のMQ関連ユーザー 導入時に作成する必要はないが、導入後必要となるユーザー MQ を管理するユーザー MQ アプリケーション実行ユーザー MQ を管理するユーザー MQ の管理コマンド (runmqsc や strmqm など) を実行できる権限をもつユーザー mqm グループ権限が必要 (1次グループでなくてもよい) 既存ユーザー をMQ管理ユーザーにする場合は、mqm グループに追加する MQ 管理者として mqm ユーザーの作成は必須 MQ アプリケーション実行ユーザー 作成は必須ではない キュー・マネージャーを使用するアプリケーションの実行ユーザーは、mqm グループ に所属 する必要はない mqm グループに所属させない場合は、MQ管理コマンドで、そのユーザーに対するオブ ジェクトへのアクセス権を付与する必要がある アクセス権に関する詳細は、「システム管理ガイド」の「OAMを使用したオブジェクトへのアクセスの制御」を参照 29 ファイルシステムの作成 ファイルシステムの作成 MQ導入前にファイルシステムを作成してマウントしておく 作成は必須ではないが、推奨 ファイルシステムが存在しない場合は、導入時にディレクトリが自動作成される ファイルシステムの作成方法に関しては次ページを参照 MQで使用するファイルシステム 製品コード用 作業データ用 /opt/mqm、/usr/mqm /var/mqm これらのディレクトリは変更不可 作業データ用ファイルシステムは、/var/mqm とは別に、ログ・データ用、エラー・ファイル用のものを作成したほうがいい場 合がある。詳細は、「/var/mqm ファイルシステム」のページを参照。 30 (参考)/opt/mqm ファイルシステム /opt/mqm ディレクトリに割り当てられているファイルシステムの空き容量が小さすぎ、 製品を導入できない場合 製品導入に十分な大きさのファイルシステムを新規に用意し、/opt/mqm からそのディレ クトリーへのシンボリック・リンクを作成 シンボリック・リンク作成例 # mkdir /otherdisk/mqm # ln -s /otherdisk/mqm /opt/mqm ※ othredisk は任意の名前です ファイルシステムの配置場所 /opt/mqm ファイルシステムは NFS などのリモート装置にすることも可能 装置について定義されるマウント・オプションは setuid プログラムの実行をできるようにして おく 31 (参考)/var/mqm ファイルシステム MQ のデータ用ファイルシステム (/var/mqm) とは別に、ログ用ファイルシステムの作成を推奨 ログ・データ (/var/mqm/log) パーシステント・メッセージはファイルにログを書き込むため、メッセージ・レートが高いと I/O コンテンションによるボト ルネックが発生しやすい キュー・ファイル (/var/mqm) とログ・データを別物理ボリュームに作成することで、I/O を分散させパフォーマンス向 上を図る エラー・ファイル (/var/mqm/errors) 万が一、データ用ファイル・システムがフルになってもエラーログ (FDC含む) は出力されるよう、個別に作成すること を推奨 /var/mqm/errors 下に出力される FDC は自動的には削除されないため、不要なものは削除し、ファイル・シス テムがフルにならないような運用を検討 個別に作成する場合のファイルシステムの必要最低限のサイズ MQサーバー MQクライアント /var/mqm 30MB 以上 15MB 以上 /var/mqm/log 20MB 以上 N/A /var/mqm/errors 5MB 以上 N/A ファイルシステムの配置場所 /var/mqm、/var/mqm/log はローカルにのみ配置可 /var/mqm/errors は、NFS などのリモート装置にすることも可能 装置について定義されるマウント・オプションは setuid プログラムの実行をできるようにしておく エラー・ファイルを NFS マウントにした場合、N/W 障害発生時にログ・メッセージが失われる可能性がある 32 カーネル・パラメーターの設定 MQは、セマフォや共用メモリーなど IPC リソースを使用するため、カーネル・パラメー ターを適切な値に設定する 導入後に設定することも可能 デフォルトのままではリソースが不足し、MQ でエラーが発生する可能性がある セマフォ使用量、およびスワップ使用量はメッセージ・レートやパーシステンシーによって大 きく変化することはない ここで示す値は、MQ を使用する上で必要な最低限の値 カーネル・パラメーターを変更する製品がほかにある場合は、その値を考慮して設定する カーネル・リソースが不足すると、MQ は内部エラーとして FFST ファイルを生成 MQに大量のキューを設ける場合や多数のアプリケーションが接続する場合、以下の 値を大きくする /proc/sys/kernel/shmmax – 共有メモリーの最大セグメントサイズ /proc/sys/kernel/shmmni – 共有メモリーの最大セグメント数 /proc/sys/kernel/shmall – アロケート可能な共有メモリーの容量 /proc/sys/kernel/sem – アロケート可能なセマフォ配列の最大数やサイズ 詳細は次ページ 33 カーネル・パラメーターの設定 セマフォとセマフォ配列の最大数を調べる方法 cat /proc/sys/kernel/sem 実行例 # cat /proc/sys/kernel/sem 500 256000 250 1024 上記は、左から順に以下の4つの値を示す SEMMSL – セマフォ配列毎の最大セマフォ数 SEMMNS – システム全体の最大セマフォ数 SEMOPM – semop 呼び出し毎の最大命令数 SEMMNI – セマフォ配列の最大数 MQのために SEMMSLは128以上、SEMOPMは5以上 使用可能なセマフォの最大数を増やすために、SEMMNS、SEMMNIの値を増やす必 要がある 34 カーネル・パラメーターの設定 カーネル・パラメーターを設定する方法 (1) カーネル・パラメーターの現在の設定値を調べる cat /proc/sys/kernel/<パラメーター名> 実行例 # cat /proc/sys/kernel/shmmax パラメーターの値を変更する echo <値> > /proc/sys/kernel/<パラメーター名> 実行例(shmmaxを256MBに設定する場合) # echo 268435456 > /proc/sys/kernel/shmmax システム起動時、毎回反映させる システム起動の都度設定する必要のないよう、/etc/rc.d以下のスクリプトに上記のecho記述を 追加することを推奨 35 カーネル・パラメーターの設定 カーネル・パラメーターを設定する方法 (2) カーネル・パラメーターの現在の設定値を調べる cat /proc/sys/<サブ・ディレクトリ>/<パラメーター名> /etc/sysctl.confに設定を追加する viなどで以下のエントリーを追加する kernel.shmmni = 4096 kernel.shmall = 2097152 kernel.sem = 500 256000 250 1024 fs.file-max = 32768 net.ipv4.tcp_keepalive_time = 300 sysctl設定にロードする sysctl –pで/etc/sysctl.confから/proc/sys/<サブ・ディレクトリ>/<パラメーター名>に値が反映 sysctl –pが効かなければ、OSリブートにより反映 値の反映を確認する cat /proc/sys/<サブ・ディレクトリ>/<パラメーター名> kernel.*パラメーターは、ipcs –l にて確認することも可能 36 カーネル・パラメーターの設定 関連パラメーター一覧 パラメーター 最小推奨サイズ shmmax 268,435,456 shmmni (※1) 4096 shmall (※1) 2097152 sem (※1) 500 256000 250 1024 tcp_keepalive_time (※2) 300 file-max (※3) 32768 nproc (※3) 4090 ※1 shmmni、shmall、sem は、初めデフォルト値で設定し、エラーが発生する場合はチューニングする ※2 AIXの tcp_keepidle に相当する、接続がアイドルになってからACKパケットを送るまでの時間.デフォルトは7200 秒(2時間)で 、MQは qm.ini に KeepAlive=yes を設定することにより有効になる.チャネルの障害検知の時間に関 わりTCP/IPセッション全体に影響するため、上記の値に限らず調整は可能. ※3 PAM などのプラグ可能セキュリティー・モジュールで、過度にmqmユーザーが実行できるプロセス数を制限しない ★出典(p33-37)[Technote:Linux OS kernel parameters for WebSphere MQ v6] http://www-1.ibm.com/support/docview.wss?rs=171&uid=swg21227845 ※上記に記載のkernel.msg.mniは、MQv6.0では不要 37 Blank Page 38 MQ サーバーの導入 ✤ MQ サーバーの導入 ✢ CSD の適用 ✢ 導入可能コンポーネント ✤・・・導入に必須の作業 ✢ WebSphere MQ V6 へのマイグレーション ✢・・・オプション ✢ Red Hat Enterprise Linux® V3.0 を使用している 場合の MQ V6 への移行 ✢ WebSphere MQ V6 のアンインストール ✢ MQ 稼動環境の言語設定 39 MQ サーバーの導入 導入方法 root ユーザーでログオン 導入イメージの用意 CD-ROM を使用する場合は CD-ROM を挿入 メディア・イメージから導入する場合はイメージを用意 ライセンスの受諾 導入イメージのあるディレクトリへ移動 mqlisenceスクリプトを実行し、ライセンスを受諾する 実行例1 ライセンスを表示する # ./mqlicense.sh 実行例2 ライセンスを表示せずに、ライセンスを受ける # ./mqlicense.sh -accept 実行例3 ライセンスの内容を確認 (受諾の処理はしない) # ./mqlicense.sh -text_only 40 MQ サーバーの導入 導入イメージのあるディレクトリへ移動 以下のコマンドを入力して、インストールを開始 rpm –ivh <MQコンポーネント> 複数コンポーネントを一度に導入する場合は、コンポーネントをスペース区切りで指定 実行例: MQ ランタイムと、MQサーバーの導入 # rpm –ivh MQSeriesRuntime-6.0.0-0.i386.rpm MQSeriesServer-6.0.0-0.i386.rpm 注: /bin/sh は Bourne シェルと互換性がある有効なシェル・インタープリターにしてください。インストール後の MQ の構成が正常に完了しない可能性があります。 RPM を使用して Linux OS をインストールしていない場合は、MQ をインストールする際に、/bin/sh の前提条件 でエラーになる可能性があります。 RPM テーブルが有効なシェル・インタープリターを 認識しないためです。 この場合は、RPM を使って /bin/sh シェルを再インストールするか、または RPM オプション –nodeps を指定して MQ のインストール時の依存性検査を使用不可にしてください。 41 CSD の適用 CSD は、MQ で提供している修正モジュールの集まり 最新の CSD を適用すること ソフトウェアに問題が発生し、パスポート・アドバンテージのサポートを受ける場合は、基本 的に最新 CSD の適用が前提 CSD 提供サイト http://www-306.ibm.com/software/integration/wmq/support/download.html CSD 適用準備 キュー・マネージャーの停止 mqm でログイン endmqm コマンドで、キュー・マネージャーの停止 endmqlsr –m <Qmgr名> でリスナーの停止 MQ関連プロセスが残っていないことを確認し、もしある場合は停止する ps –ef | grep mq ps –ef | grep amq ps –ef | grep runmq ・amqiで始まるプロセスは無視する 42 CSD の適用 CSD 適用導入 root ユーザーでログインし、CSD のあるディレクトリへ移動 使用可能なアップデートを確認 (例: CSD01をあてる場合) [root]# ls | grep MQSeries MQSeriesRuntime-Uxxxx-6.0.0-1.i386.rpm MQSeriesServer-Uxxxx-6.0.0-1.i386.rpm マシンに導入されているパッケージを確認 [root]# rpm -aq | grep MQSeries MQSeriesServer-6.0.0-0 MQSeriesRuntime-6.0.0-0 最新のアップデートを適用 [root]# rpm –ivh MQSeriesRuntime-Uxxxx-6.0.0.1.i386.rpm 適用後、確認 [root]# rpm -aq | grep MQSeries MQSeriesServer-6.0.0-0 MQSeriesRuntime-6.0.0-1 レベルが1に なっている マシンに導入されている MQSeries パッケージすべてに対してアップデートをあてる必要がある 43 CSD の適用 CSD 適用後、一つ前に適用した CSD レベルに戻す場合 root ユーザーでログイン マシンに導入されているパッケージを確認 [root]# rpm -aq | grep MQSeries MQSeriesServer-6.0.0-1 MQSeriesRuntime-6.0.0-1 適用したアップデートをすべて除去 [root]# rpm –ev MQSeriesServer-6.0.0-1 MQSeriesRuntime-6.0.0-1 除去後、確認 [root]# rpm -aq | grep MQSeries MQSeriesServer-6.0.0-0 MQSeriesRuntime-6.0.0-0 レベルが戻って いることを確認 44 導入可能コンポーネント WebSphere MQ コンポーネント ファイル・セット名 説明 サーバー クライアント MQSeriesRuntime 実行モジュール 必須 必須 MQSeriesSDK アプリケーションのコンパイルに必須 OP OP MQSeriesServer MQサーバー 必須 N/A MQSeriesClient MQクライアント OP 必須 MQSeriesSamples サンプル・アプリケーション・プログラム OP OP MQSeriesJava Java および JMS サポート OP OP MQSeriesKeyman SSL 鍵管理のサポート (SSLに必要) OP OP MQSeriesMsg_xx (※) メッセージ・カタログ (MQが出力するメッセージの言語) OP OP MQSeriesMan マニュアル・ページ (英語版) OP N/A MQSeriesTXClient 拡張トランザクション・クライアント用 OP N/A MQSeriesConfig (x86のみ) MQ エクスプローラー OP N/A MQSeriesIES30 (x86のみ) Eclipse (MQエクスプローラーの稼動に必須) OP N/A MQSeriesFTA (x86のみ) ファイル転送アプリケーション OP OP gsk7bas 32ビット版 証明書・SSL ランタイム OP OP gsk7bas64 64ビット版 証明書・SSL ランタイム OP OP IBMJava2-SDK 32ビット版 IBM Java SDK OP OP IBMJava2-SDK-ppc64 64ビット版 IBM Java SDK OP OP ※ xx・・・使用する言語 45 Blank Page 46 WebSphere MQ V6 へのマイグレーション 以前の MQ バージョンからのマイグレーション MQ V5.x で作成すみのキュー・マネージャーの定義を保持したままマイグレーション可能 MQ V6 導入後、キュー・マネージャー起動時に新規属性追加などのマイグレーションが行われる 以前の MQ バージョンからマイグレーションを行う場合は、導入前に以下の作業を 行う キュー・マネージャーの停止 手順は、「CSDの適用」のページ参照 MQ V5.3、CSD、Fix、および、サポート・パックのアンインストール (導入している場合) MQ V5.3 をアンインストールしても、キュー・マネージャー定義 (/var/mqm 以下) は残る アンインストール対象サポートパック SupportPac ™ 説明 MA0C MQSeries® Publish/subscribe MA0R WebSphere MQ transport for SOAP MA88 MQSeries Classes for Java™ and WebSphere MQ classes for Java Message Service これらのサポート・パックで提供されていた機能は、MQ V6 で製品として実装されているため不要となるが、自 動的に削除されないので、明示的なアンインストールが必要。 47 WebSphere MQ V6 へのマイグレーション キュー・マネージャーのバックアップを念のため取得しておく /var/mqm/qmgrs 以下 /var/mqm/log 以下 MQ V6 を新規導入と同様の手順でインストール 48 Red Hat Enterprise Linux® V3.0 を使用している場合の MQ V6 への移行 RHEL V3.0 を使用している場合の MQ V6 への移行 キュー・マネージャーの停止 手順は、「CSDの適用」のページ参照 root ユーザーでログオン LD_ASSUME_KERNEL が 2.4.19 であることを確認 確認方法 echo $LD_ASSUME_KERNEL 上記結果、「2.4.19」でない場合は設定し、Linux がスレッド使用可能な環境にする export LD_ASSUME_KERNEL=2.4.19 RPM が NPTL スレッド・モデルで実行するように設定 export RPM_FORCE_NPTL=1 Linux スレッドを使用して RPM データベースにアクセスすると、 Red Hat Enterprise Linux 3.0 上の RPM 機能のエラーにより、データベースが壊れる恐れがあるため、導入では RPM が NPTL スレッド・ モデルで実行するよう設定が必要 49 Red Hat Enterprise Linux® V3.0 を使用している場合の MQ V6 への移行 キュー・マネージャーのバックアップを念のため取得しておく /var/mqm/qmgrs 以下 /var/mqm/log 以下 MQ V 5.3 をアンインストール 環境変数 LD_ASSUME_KERNEL および RPM_FORCE_NPTL の設定解除 unset LD_ASSUME_KERNEL unset RPM_FORCE_NPTL MQ V 6.0 を新規導入と同様の手順でインストール 50 WebSphere MQ のアンインストール アンインストール事前準備 キュー・マネージャーの停止 ※ インストールに保守(CSD や e-Fix など) を適用してある場合は、MQ をアンインス トールする前に、保守を除去してください 手順は、「CSDの適用」のページ参照 アンインストール root としてログオン 現在インストールされているパッケージを検索 rpm -q -a | grep MQSeries rpm -q -a | grep gsk ※GSKit をアンインストールする場 合は、他の製品がGSKitを使用し ていないことを確認する /opt/mqm ディレクトリから移動 パッケージを個別にアンインストールする場合 他のパッケージと依存関係がないことを確認し、アンインストール 依存関係の確認方法: rpm ‐q ‐‐requires MQSeriesServer パッケージの削除方法: rpm -ev MQSeriesServer 一度にパッケージをアンインストールする場合 rpm -ev MQSeriesRuntime MQSeriesServer MQSeriesSDK ※ 何らかの問題で製品導入ディレクトリ (/opt/mqm、/usr/mqm) が削除されな かった場合は、アンインストール後、削除する アンインストール後 /var/mqm ディレクトリーを削除すると、キュー・マネージャー情報が破棄される 51 MQ 稼動環境の言語設定 英語以外の MQ メッセージを表示させる場合 OS の日本語対応メッセージ・カタログが導入されていること 使用する言語のメッセージ・カタログを導入 mqm.msg.Ja_JP (MQの日本語メッセージカタログ) キュー・マネージャーを起動するときの言語環境を設定 環境変数 LANG を export し、使用する言語を設定する locale コマンドで設定された言語を確認する Japanese EUC に設定する場合 # export LANG=ja_JP. eucJP # locale LANG=ja_JP.eucJP LC_CTYPE="ja_JP.eucJP" LC_NUMERIC="ja_JP.eucJP" LC_COLLATE="ja_JP.eucJP" LC_MONETARY="ja_JP.eucJP" LC_MESSAGES="ja_JP.eucJP“ LC_TIME="ja_JP.eucJP“ LC_ALL= 52 MQサーバーの導入確認 ✢ 導入確認 (ローカル接続) ✢ 導入確認 (サーバー間接続) ✤・・・導入に必須の作業 ✢・・・オプション 53 Blank Page 54 MQサーバーの導入確認 キュー・マネージャーの作成、およびメッセージの送受信を行い、導入確認を行う WebSphere MQ では導入確認するツールを提供していない メッセージの送受信が問題なく行えれば、導入は成功とする メッセージの送受信には、MQで提供しているサンプル・アプリケーションを使用 キュー・マネージャーおよび関連オブジェクトの作成には、runmqsc コマンドを使用 導入確認方法 1.スタンド・アローン型 2.分散型 ローカル・キューに対してメッセージを読み書きする 異なるキュー・マネージャー間でメッセージ転送を行う 55 稼動確認(ローカル接続) スタンド・アローン型 ローカル・キューへのメッセージのPUT、GETおよびBROWSEで確認 手順 mqm グループに所属しているユーザーでログイン 事前準備 必要となるオブジェクトの作成 サンプル・プログラムの実行 使用するサンプル・プログラム ・amqsput – メッセージを書くプログラム ・amqsget – メッセージを読むプログラム ・amqsgbr – メッセージをブラウズするプログラム ・amqsbcg – メッセージを詳細表示(MQMD含む)するプログラム 構成する環境 キュー・マネージャー: QMGR1 ローカル・キュー LQ 56 稼動確認(ローカル接続) 事前準備 サンプル・プログラムのディレクトリーをPATHに追加 export PATH=$PATH:/opt/mqm/samp/bin サンプル・プログラムのソースは /opt/mqm/samp にある キュー・マネージャーの作成 crtmqm –q QMGR1 -q オプション: デフォルトのキュー・マネージャーとなる キュー・マネージャーの起動 strmqm QMGR1 デフォルト・キュー・マネージャーであれば、キュー・マネージャー名を省略可能 57 稼動確認(ローカル接続) 必要となるオブジェクトの作成 作成するオブジェクト オブジェクト 名前 ローカル・キュー LQ 注: WebSphere MQ オブジェクト定義では、大文字小 文字が区別される。MQSCコマンドとして小文字で入力さ れたテキストは、単一引用符で囲まない限り大文字に変 換される。ここでの例は、必ず示されているとおりに入力する こと MQSCコマンド・ファイルの作成 定義ファイル: QMGR1_StandAlone.def *ローカル・キューの定義 DEFINE QLOCAL(LQ) + DESCR(‘Local test queueu’) 注: ・行の先頭が’*’の場合は、コメント行となる ・コマンドが次の行に続く場合は+をつける ・+の前後は空白文字を入れる ・オブジェクト名に小文字を使用する場合は、 (シングル・クォート)で囲む 58 稼動確認(ローカル接続) オブジェクトの作成 $ runmqsc QMGR1 < QMGR1_StandAlone.def 5724-H72 (C) Copyright IBM Corp. 1994, 2005. ALL RIGHTS RESERVED. キュー・マネージャー QMGR1 に対して MQSC を始動中です。 : *ローカル・キューの定義 1 : DEFINE QLOCAL(LQ) + : DESCR(‘Local test queueu’) AMQ8006: WebSphere MQ キューが作成されました。 MQSC コマンドを 1 つ読み取りました。 構文エラーがあるコマンドはありません。 有効な MQSC コマンドはすべて処理されました。 エラーがないこ とを確認 キューの作成を確認 $ runmqsc QMGR1 5724-H72 (C) Copyright IBM Corp. 1994, 2005. ALL RIGHTS RESERVED. キュー・マネージャー MANAA に対して MQSC を始動中です。 キュー名が表 示される display qlocal(LQ) 1 : display ql(LQ) AMQ8409: キューの内容を表示します。 end 「end」 を入力して runmqscを終了 59 稼動確認(ローカル接続) サンプル・プログラムの実行 キューにメッセージをPUT (amqsputを使用) amqsputの実行結果例 amqsput ・引数に、キュー名(必須)、キュー・マネージャー名を指定 $ amqsput LQ QMGR1 Sample AMQSPUT0 start target queue is LQ 標準出力よりメッセージを入力 ・1行を1メッセージとして扱う ・空白行でプログラム終了 test message1 test message2 Sample AMQSPUT0 end メッセージをGET、BROWSE amqsget ローカル・キューからメッセージをGET ・引数に、キュー名(必須)、キュー・マネージャー名を指定 ・キュー内のメッセージをすべて表示し、15秒WAITしてもメッセージがなければ終了 amqsgbr メッセージをブラウズ ・引数に、キュー名(必須)、キュー・マネージャー名を指定 ・キュー内のメッセージをすべてBROWSEし、表示 amqsgbrの実行結果例 amqsbcg メッセージの詳細表示 ・引数に、キュー名、キュー・マネージャー名ともに必須 ・メッセージ記述子(MQMDヘッダー) なども表示 60 $ amqsgbr LQ QMGR1 Sample AMQSGBR0 (browse) start QMGR1 Messages for LQ 1 <test message1> 2 <test message2> no more messages Sample AMQSGBR0 (browse) end 稼動確認(サーバー間接続) 分散型 異なるキュー・マネージャー間でのメッセージ転送 プロトコルはTCP/IPを使用 手順 mqm グループに所属するユーザーでログイン 事前準備 ※「稼動確認(ローカル接続)」のページを参照 必要となるオブジェクトの作成 受信側での準備 送信側での準備 サンプル・プログラムの実行 稼動確認で構成する環境 キュー・マネージャー: QM_S キュー・マネージャー: QM_R リモート・キュー QM_R.LQ チャネル QM_S.TO.QM_R ローカル・キュー LQ トランスミッション・キュー QM_R 61 稼動確認(サーバー間接続) 必要となるオブジェクトの作成 作成するオブジェクト 送信側 キュー・マネージャー: QM_S 受信側 キュー・マネージャー: QM_R オブジェクト 名前 オブジェクト 名前 トランスミッション・キュー QM_R ローカル・キュー LQ リモート・キュー QM_R.LQ リスナー LISTENER.1414 送信チャネル 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_R $ runmqsc QM_S display qremote(QM_R.LQ) display qlocal(QM_R) display channel(QM_S.TO.QM_R) display qlocal(LQ) display channel(QM_S.TO.QM_R) display listener(listener.1414) 62 (参考)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’) **リスナーの作成** DEFINE LISTENER(LISTENER.1414) + TRPTYPE(TCP) PORT(1414) * で始まる行はコメント行なので、必須ではありません 63 稼動確認(サーバー間接続) 受信側での準備 リスナーの起動 受信側では、受信チャネル起動のために事前にリスナーを起動 $ runmqsc QM_R 5724-H72 (C) Copyright IBM Corp. 1994, 2005. ALL RIGHTS RESERVED. キュー・マネージャー QM_R に対して MQSC を始動中です。 START LISTENER(LISTENER.1414) 1 : START LISTENER(LISTENER.1414) AMQ8021: WebSphere MQ リスナーの開始要求が受け入れられました。 STATUSがRUNNING であることを確認 DISPLAY LSSTATUS(LISTENER.1414) AMQ8631: リスナー状況の詳細を表示します。 LISTENER(LISTENER.1414) STATUS(RUNNING) PID(569572) end ・runmqlsr/inetd の設定でも受信チャネル起動可能 送信側での準備 チャネルの開始 $ 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(HOST1(1414)) CURRENT RQMNAME(QM_R) STATUS(RUNNING) SUBSTATE(MQGET) XMITQ(QM_R) end 64 STATUSがRUNNING であることを確認 稼動確認(サーバー間接続) サンプル・プログラムの実行 送信側 リモート・キューに対してメッセージのPUT amqsput QM_R.LQ QM_S 引数にキュー名(必須)、キュー・マネージャー名を指定 標準入力よりメッセージを入力 1行を1メッセージとして扱う 空白行でプログラム終了 amqsputの実行結果例 $ amqsput QM_R.LQ QM_S Sample AMQSPUT0 start target queue is QM_R.LQ test message1 test message2 Sample AMQSPUT0 end 受信側 メッセージをGET、BROWSE amqsget ローカル・キューからメッセージをGET ・引数に、キュー名(必須)、キュー・マネージャー名を指定 ・キュー内のメッセージをすべて表示し、15秒WAITしてもメッセージがなければ終了 amqsbcg メッセージの詳細表示 ・引数に、キュー名、キュー・マネージャー名ともに必須 ・メッセージ記述子(MQMDヘッダー) なども表示 amqsgbr メッセージをブラウズ ・引数に、キュー名(必須)、キュー・マネージャー名を指定 ・キュー内のメッセージをすべてBROWSEし、表示 65 Blank Page 66 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クライアントの導入確認 ✤・・・導入に必須の作業 ✢・・・オプション 67 Blank Page 68 MQクライアントの導入 MQクライアントの導入 3タイプの導入 スタンダード・クライアント SSL付きクライアント 拡張トランザクション・クライアント MQサーバー・イメージからのみ導入可能 導入場所はいかのいずれか MQサーバーと別のサーバーに導入 MQクライアント・イメージから導入 MQサーバーと同じサーバーに導入 MQサーバー・イメージからクライアント・ファイルセットを導入 導入方法 MQサーバーと導入方法は同じ 「MQサーバーの導入」のページ以降参照 MQクライアントの導入構成要素に関しては「導入可能コンポーネント」を参照 CSD適用方法に関しては、「CSDの適用」のページ参照 (オプション作業) 69 稼動確認(クライアント接続) クライアント接続でのメッセージ転送 プロトコルはTCP/IPを使用 ローカル・キューへのメッセージのPUT、GETおよびBROWSEで確認 手順 mqm グループに所属するユーザーでログイン 事前準備 ※「稼動確認(ローカル接続)」のページを参照 必要となるオブジェクトの作成 MQサーバー側での準備 MQクライアント側での準備 サンプル・プログラムの実行 構成する環境 MQサーバー ホスト名: makuhari キュー・マネージャー: QMGR1 ローカル・キュー LQ 70 稼動確認(クライアント接続) 必要となるオブジェクトの作成 作成するオブジェクト MQサーバー側 キュー・マネージャー名:QMGR1 オブジェクト 名前 ローカル・キュー LQ リスナー LISTENER.1414 サーバー・チャネル CHANNEL1 MQSCコマンド・ファイルを作成し、実行する MQサーバー側 での実行 $ runmqsc QMGR1 < QMGR1_SVR.def QMGR1_SVR.def **ローカル・キューの作成** DEFINE QLOCAL(LQ) DESCR(‘Test xmitq’) オブジェクトが作成されたことを確認 $ runmqsc QMGR1 display lqueue(lq) display listener(listener.1414) display channel(channel1) end **サーバー・チャネルの作成** DEFINE CHANNEL(CHANNEL1) + CHLTYPE(SVRCONN) TRPTYPE(TCP) + MCAUSER(‘mqm’) + DESCR(‘Test server channel’) **リスナーの作成** DEFINE LISTENER(LISTENER.1414) TRPTYPE(TCP) + CONTROL(QMGR) PORT(1414) 71 稼動確認(クライアント接続) MQサーバー側での準備 リスナーの起動 MQサーバー側では、サーバー・チャネル起動のために事前にリスナーを起動 C:¥MQ> runmqsc QMGR1 5724-H72 (C) Copyright IBM Corp. 1994, 2005. ALL RIGHTS RESERVED. キュー・マネージャー QMGR1 に対して MQSC を始動中です。 START LISTENER(LISTENER.1414) 1 : START LISTENER(LISTENER.1414) AMQ8021: WebSphere MQ リスナーの開始要求が受け入れられました。 START LSSTATUS(LISTENER.1414) AMQ8631: リスナー状況の詳細を表示します。 LISTENER(LISTENER.1414) STATUS(RUNNING) PID(569572) end STATUSが RUNNINGであること を確認 ・runmqlsr/inetd の設定でも受信チャネル起動可能 72 稼動確認(クライアント接続) MQクライアント側の設定 N/W の確認 ping <MQサーバー側IPアドレス もしくは ホスト名> MQSERVER環境変数の設定 export MQSERVER=‘チャネル名/通信プロトコル/ホスト名(ポート)’ ※ ホスト名はIPアドレスも可 実行例 export MQSERVER=‘CHANNEL1/TCP/makuhari(1414)’ MQクライアントは、アクセス権限がないとキュー・マネージャーに接続することができません。権限を与える方法の1つとして、MQ サーバーが導入されているマシンとMQクライアントが導入されているマシンに同じ名前のユーザーを作成し、MQサーバー上の ユーザーをmqmグループに所属させる方法があります(※)。次ページにあるMQクライアント・アプリケーションはそのユーザーで実 行してください。 その他、MQクライアントにアクセス権限を与える方法に関しては、マニュアル「Security (SC34-6588)」を参照してください。 ※: アプリケーションの実行ユーザーはmqmグループに所属している必要はありません。 73 稼動確認(クライアント接続) サンプル・プログラムの実行 amqsputの実行結果例 キューに、メッセージのPUT amqsputc LQ QMGR1 引数にキュー名(必須)、キュー・マネージャー名を指定 標準入力よりメッセージを入力 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してもメッセージがなければ終了 amqsbcg メッセージの詳細表示 ・引数に、キュー名、キュー・マネージャー名ともに必須 ・メッセージ記述子(MQMDヘッダー) なども表示 amqsgbr メッセージをブラウズ ・引数に、キュー名(必須)、キュー・マネージャー名を指定 ・キュー内のメッセージをすべてBROWSEし、表示 74 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 その他 ✢ マニュアル一覧 ✢ オンライン・マニュアル ✢ LIBPATH と LD_LIBRARY_PATH ✤・・・導入に必須の作業 ✢・・・オプション 75 マニュアル一覧 プラットフォーム共通 マニュアル名 マニュアル番号 WebSphere MQ Application Programming Guide SC34-6595-00 WebSphere MQ Application Programming Reference SC34-6596-00 WebSphere MQ Bibliography and Glossary SC34-6603-00 WebSphere MQ Clients GC34-6590-00 WebSphere MQ Constants SC34-6607-00 WebSphere MQ Intercommunication SC34-6587-00 WebSphere MQ Messages GC34-6601-00 WebSphere MQ Migration Information SC34-6604-00 Monitoring WebSphere MQ SC34-6593-00 WebSphere MQ Programmable Command Formats and Administration Interface SC34-6598-00 WebSphere MQ Publish/Subscribe User's Guide SC34-6606-00 WebSphere MQ Queue Managers Clusters SC34-6589-00 WebSphere MQ Script (MQSC) Command Reference SC34-6597-00 WebSphere MQ Security SC34-6588-00 WebSphere MQ System Administration Guide SC34-6584-00 WebSphere MQ Transport for SOAP SC34-6651-00 WebSphere MQ Using C++ SC34-6592-00 WebSphere MQ Using Java SC34-6591-00 WebSphere MQ Using .Net 76 GC34-6605-00 マニュアル一覧 UNIX/PC マニュアル名 マニュアル番号 WebSphere MQ for AIX Quick Beginnings GC34-6478-00 WebSphere MQ for HP-UX Quick Beginnings GC34-6479-00 WebSphere MQ for Solaris Quick Beginnings GC34-6477-00 WebSphere MQ for Linux Quick Beginnings GC34-6480-00 WebSphere MQ for Windows Quick Beginnings GC34-6476-00 WebSphere MQ for Windows, Using the Component Object Model Interface SC34-6594-00 z/OS マニュアル名 マニュアル番号 WebSphere MQ for z/OS Concepts and Planning Guide GC34-6582-00 WebSphere MQ for z/OS System Setup Guide SC34-6583-00 WebSphere MQ for z/OS System Administration Guide SC34-6585-00 WebSphere MQ for z/OS Messages and Codes GC34-6602-00 WebSphere MQ for z/OS Problem Determination Guide GC34-6600-00 WebSphere MQ for z/OS Program Directory GI10-2584-00 77 マニュアル一覧 iSeries マニュアル名 マニュアル番号 WebSphere MQ for iSeries Application Programming Reference (ILE RPG) SC34-6599-00 WebSphere MQ for iSeries Quick Beginnings GC34-6481-00 WebSphere MQ for iSeries System Administration Guide SC34-6586-00 最新版マニュアルの入手先: http://www-306.ibm.com/software/integration/wmq/library/ 78 オンライン・マニュアル オンライン・マニュアル 提供方法 製品と一緒に別CD-ROMにて提供 ・直接CD-ROMから参照することもできるし、マシンに導入して使用することもできる ・Windows、Linux(x86) で提供 提供形式 InforCenter (Eclipseベース) PDF 日本語版も提供 PDFであれば、以下のWebサイトからもダウンロード可能 提供元URL http://www-306.ibm.com/software/integration/wmq/library/ サポート・パック 以下のサイトの「Featured」⇒「SupportPacs」を参照 http://www-306.ibm.com/software/integration/wmq/support/download.html サポート・サマリー (最新CSDの情報など) http://www-306.ibm.com/software/integration/wmq/support/download.html 79 LIBPATH、LD_LIBRARY_PATH 環境変数を設定する場合の注意点 MQアプリケーションや、MQコマンドを実行させる環境では、できるかぎり /opt/lib、 /opt/bin、/opt/include をLIBPATH、LD_LIBRARY_PATHに含めない /opt/lib、/opt/bin、/opt/include はデフォルトで32ビット用MQライブラリー (/opt/lib/mqm) へシンボリック・リンクがはられている MQのライブラリーには32ビット用、64ビット用がある MQコマンドは64ビット用MQライブラリーを使用 /opt/lib が LIBPATH に設定されていると、指定する順番によっては適切なライブラリーが参照さ れない /opt/mqm/libが先に参照され、 該当のライブラリー見つかるとそ れを使用する /opt/mqm/lib64が先に参照さ れ、該当のライブラリー見つかる とそれを使用する 実行環境2 実行環境1 LIBPATH=/opt/lib:/opt/mqm/lib64 64 ビット用MQ ライブラリーを使 用するアプリケー ション 実行に失敗する 可能性あり LIBPATH=/opt/mqm/lib64:/opt/lib 64 ビット用MQ ライブラリーを使 用するアプリケー ション 32 ビット用MQ ライブラリーを使 用するアプリケー ション MQコマンド MQコマンド 80 ✤32ビット・ライブラリー /opt/mqm/lib ✤64ビット・ライブラリー /opt/mqm/lib64 32 ビット用MQ ライブラリーを使 用するアプリケー ション 実行に失敗する 可能性あり LIBPATH、LD_LIBRARY_PATH 環境変数を設定する場合の注意点 LIBPATH、LD_LIBRARY_PATH 環境変数に、/opt/lib、/opt/bin、 /opt/include を設定する場合 64ビット用MQライブラリーを使用するアプリケーションの実行環境での対応方法 32ビット用MQライブラリーを使用するアプリケーションの実行環境での対応方法 64ビット用MQライブラリーを使用するアプリケーションの実行環境での対応方法は2つ /opt/lib などよりも前に、64ビット用MQライブラリーを指定する 32ビット・ライブラリーへのシンボリック・リンクを解除した上で、/opt/libなどを設定する シンボリック・リンク解除コマンド: dltmqlnk シンボリック・リンク用コマンド : crtmqlnk 64ビット用MQライブラリー、32ビット用MQライブラリーを参照するアプリケーションが混在 している実行環境での対応方法 それぞれのアプリケーションを実行する際に、随時適切なパスを指定する 別実行環境で、それぞれのアプリケーションを実行する 81 Blank Page 82