Comments
Description
Transcript
WebSphere MQ V6.0 for Solaris 導入ガイド
WebSphere MQ V6.0 for Solaris 導入ガイド ISE エンタープライズ・ミドルウェア この資料では、WebSphere MQ (以下 MQ) for Solaris V6.0 の MQ サーバー 導入に関する項目、MQ クライアント導入に関する項目、参考資料をトピックとして 取り上げていますので、目的に合わせて参照してください 各トピックが、必須項目と、オプション項目にわかれている場合、必須項目は必ず 行ってください 注意事項は、※印、または破線のボックスに記述されています ユーザーの入力部分はイタリックになっています この資料は、あくまで参考情報であり、内容について保証するものではありませんの で、あらかじめご了承ください 2 トピック 前提条件の確認・・・・ MQサーバー導入関連項目 前提ハードウェア 前提ソフトウェア 前提ディスク容量 MQクライアント導入関連項目 参考資料 導入準備・・・・・・・・・ MQ の導入に必要なユーザーの作成 / グループの設定 ファイルシステムの作成 Resource Limit の設定 オペレーティング・システムの設定 MQサーバーの導入・・ MQ サーバーの導入 CSD の適用 導入可能コンポーネント WebSphere MQ V6 へのマイグレーション WebSphere MQ V6 のアンインストール 3 トピック MQ サーバーの導入確認・・・ 導入確認 (ローカル接続) 導入確認 (サーバー間接続) MQサーバー導入関連項目 MQクライアント導入関連項目 参考資料 MQ クライアントの導入・・・・・ MQ クライアントの導入 MQ クライアントの導入確認 その他 ・・・・・・・・・・・・・・・・ マニュアル一覧 オンライン・マニュアル LIBPATH と LD_LIBRARY_PATH 4 前提条件の確認 ✤ 前提ハードウェア ✤・・・導入に必須の作業 ✤ 前提ソフトウェア ✢・・・オプション ✤ 前提ディスク容量 5 前提ハードウェア 以下のいずれかのハードウェアを使用していること 64-bit Sun SPARC、UltraSPARC デスクトップ/サーバー・システム x86-64 AMD64、EM64T、もしくはこれらの互換機 適切なリリース・レベルであること MQの前提ハードウェア、ソフトウェアに関する最新情報は、Webから入手可能 URL: http://www-306.ibm.com/software/integration/wmq/requirements/index.html 6 前提ソフトウェア : SPARC(1/2) 前提ソフトウェア OP・・・オプション 項目 内容 OSの前提 Sun Solaris 8 (64bit) Sun Solaris 9 (64bit) Sun Solaris 10 必須 コネクティビティー (※1) TCP/IP SNA LU6.2 ・ SNAP-IX V7.0 ・ Alebra Brixton PU2.1 SNA Server, Release 4.1.3 必須 コンパイラー C/C++ ・ Sun ONE Studio 7, Enterprise Edition for Solaris ・ Sun ONE Studio 8, Compiler Collection ・ Sun Studio V9 COBOL ・ Micro Focus Server Express V4.0 OP データベース ・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 − Sybase SDK V12.5.1 with ESD V7 ・Informix® Dynamic Server (IDS) V9.40 + Client SDK V2.90 OP ※1 トークンリングを使用する場合は、Sun TRI Driver 4.0 以降が必要 7 前提ソフトウェア : SPARC (2/2) 前提ソフトウェア OP・・・オプション 項目 内容 トランザクション・モニター (※1) ・IBM WebSphere Application Server (WAS) V5.1 ・IBM WebSphere Application Server (WAS) V6.0.1以降 (ただし V6.x のみ) ・IBM TXSeries® for AIX V5.1 ・WebLogic V8.1 + SP4 (※5) ・BEA Tuxedo V8.1 OP JMS/SOAP ・ IBM 32-bit SDK for Solaris, Java 2 Technology Edition V1.4.2 (※2) ・ Apach Axis V1.1 OP Java 32-bit ・ IBM 32-bit SDK for Solaris, Java 2 Technology Edition V1.4.2 (※2) ・ Sun’s Java 2 SDK, Enterprise Edition Version 1.4 ・ Sun Solaris Java 2 Standard Edition, SDK V1.3.1. OP Java 64-bit ・ Sun’s Java 2 SDK, Enterprise Edition Version 1.4.2 OP SSL (※4) ・ IBM Global Security Kit V7 OP ※1 ・X/Open XA インターフェースを使用 ※2 ・MQサーバー に同梱されています ・SOAP と FIPS 140−2 をサポートしています ・ これ以外の代替使用可能なJDKは以下のURLを参照 http://www-306.ibm.com/software/integration/wmq/requirements/index.html ・同根されているJDK以外を使用する場合は以下の点に注意 FIPS level 140-2 互換 WebSphere MQ、との互換 SOAPのサポートの有無 ・Solarisでは、通常32ビット JDK と64ビット JDKは別ディレクトリーに導入されます Javaアプリケーションを使用する場合は、アプリで使用するJDKのバージョンがただしくPATH環境変数に設定されているかを確認する ※4 製品に同梱。GSKit V6からマイグレーションする場合は、gsk6bas.rte をアンインストールすること その際には GSKit V6が前提となっている製品がないことを確認する 8 ※5 EJB(MDBを含む) で、かつ JMS で書かれたアプリケーションのみサポート 前提ソフトウェア : x86-64(1/2) 前提ソフトウェア OP・・・オプション 項目 内容 OSの前提 Sun Solaris 10 + Sunsolve-recommended Patch Cluster level 必須 コネクティビティー TCP/IP 必須 コンパイラー C/C++ ・ Sun ONE Studio 10, Enterprise Edition for Solaris OP トランザクション・モニター ・なし OP JMS/SOAP ・ IBM 32-bit SDK for Solaris, Java 2 Technology Edition V1.4.2 (※1) ・ Apach Axis V1.1 OP Java 32-bit ・ IBM 32-bit SDK for Solaris, Java 2 Technology Edition V1.4.2 (※1) ・ Sun’s Java 2 platform Standard Edition, V5.0 ・ Sun’s Java 2 platform Standard Edition, V1.4.2 OP Java 64-bit ・ Sun’s Java 2 platform Standard Edition, V5.0 OP SSL (※2) ・ IBM Global Security Kit V7 OP データベース ・なし OP ※1 ・MQサーバー に同梱されています ・SOAP と FIPS 140−2 をサポートしています ・ これ以外の代替使用可能なJDKは以下のURLを参照 http://www-306.ibm.com/software/integration/wmq/requirements/index.html ・同根されているJDK以外を使用する場合は以下の点に注意 FIPS level 140-2 互換 WebSphere MQ、との互換 SOAPのサポートの有無 ・Solarisでは、通常32ビット JDK と64ビット JDKは別ディレクトリーに導入されます Javaアプリケーションを使用する場合は、アプリで使用するJDKのバージョンがただしくPATH環境変数に設定されているかを確認する ※2 製品に同梱。GSKit V6からマイグレーションする場合は、gsk6bas.rte をアンインストールすること その際には GSKit V6が前提となっている製品がないことを確認する9 Blank Page 10 OS のパッチレベル OS のパッチレベル Sun Solaris 8 を使用する場合は、 MQ を導入する前に SunSolve 推奨のパッチに加 え、以下のパッチを適用する 108827-12 111177-06 112396-02 108987-12 (112396-02 の事前適用が必須) 110910-01 109147-21 108434-10 108435-10 108987-12 108528-19 (108987-12 の事前適用が必須) ※MQ チャネルで SSL を使用する場合は、次のパッチも適用する 108434-02 111327-02 108991 108528 11 前提ディスク容量 MQ によって消費されるディスク・サイズ /opt/mqm 項目 ディスク量 (MB) WebSphere MQ サーバーの導入 247 WebSphere MQ クライアントの導入 217 /var/mqm 項目 ディスク量 (MB) WebSphere MQ サーバー 50 WebSphere MQ クライアント 15 最低限必要となるサイズ 導入するコンポーネントに よって、使用されるディスク容 量は変わる その他、ディスクを使用する項目 前提条件ソフトウェア オプションのソフトウェア ユーザー・アプリケーション これは、循環ログでデフォルト設定値でMQを使用する場合の必 要最低限のサイズ 環境を構築する際には、必要となるディスク容量を見積もる必要 がある <見積もりに使用される項目例> ・システムに一時点に滞留する最大メッセージ数 ・メッセージ平均長+500バイト(メッセージヘッダー) ・キューの数 ・ログ・ファイルとエラー・ログのサイズ 12 導入準備 ✤ MQ の導入に必要なユーザー/ グループの作成 ✢ ファイルシステムの作成 ✢ カーネル・パラメーターの設定 ✢ オペレーティング・システムの設定 ✤・・・導入に必須の作業 ✢・・・オプション 注: ・当資料では、導入準備に Solaris の SCM(Solaris Console Management) というツールを使用しています ・導入に関して、ユーザー/グループの作成は必須です ・ファイルシステムの作成はオプションですが、導入後に作成できませんので、作成する場合は導入前に行ってください ・その他の設定に関しては、必要に応じて設定してください 13 MQ の導入に必要なユーザーの作成 / グループの設定 MQ の導入で使用するユーザーとグループの作成 MQ 導入前に作成する 作成するユーザー名: mqm (mqm グループに所属させる) mqm ユーザー と mqm グループ 1次グループとして mqm グループに属する mqm ユーザー が、MQ 導入時に必要 MQ に関連するリソースが含まれているファイルやディレクトリなどは、mqm ユーザーが所 有 14 mqm グループの作成 Solaris コンソール・マネージャーの起動 root でログインし、コンソールから「smc」を入力 smc 起動後画面イメージ グループ名に 「mqm」と入力 「アクション」→「グループを 追加」をクリック Group ID の入力 は任意 「System Configuration」→「ユー ザー」→「グループ」を展開 「了解」をクリック 「mqm」グループが作 成されたことを確認 15 mqm ユーザーの作成 「アクション」→「ユーザーを追加」 →「ウィザードを使用」をクリック ユーザー名に 「mqm」と入力 「System Configuration」→ 「ユーザー」→「ユーザーアカウント」 を展開 「次へ」をクリック 16 mqm ユーザーの作成 ユーザー ID の入 力は任意 いずれかを選択し、ユー ザー のパスワードを決定 「次へ」をクリック 一次グループに 「mqm」を選択 「次へ」をクリック 「次へ」をクリック 17 mqm ユーザーの作成 「次へ」をクリック 「次へ」をクリック 「完了」をクリック 「mqm」ユーザーが追 加されたことを確認 18 (参考)その他のMQ関連ユーザー 導入時に作成する必要はないが、導入後必要となるユーザー MQ を管理するユーザー MQ アプリケーション実行ユーザー MQ を管理するユーザー MQ の管理コマンド (runmqsc や strmqm など) を実行できる権限をもつユーザー mqm グループ権限が必要 (1次グループでなくてもよい) 既存ユーザー をMQ管理ユーザーにする場合は、mqm グループに追加する MQ 管理者として mqm ユーザーの作成は必須 MQ アプリケーション実行ユーザー 作成は必須ではない キュー・マネージャーを使用するアプリケーションの実行ユーザーは、mqm グループ に所属 する必要はない mqm グループに所属させない場合は、MQ管理コマンドで、そのユーザーに対するオブ ジェクトへのアクセス権を付与する必要がある アクセス権に関する詳細は、「システム管理ガイド」の「OAMを使用したオブジェクトへのアクセスの制御」を参照 19 ファイルシステムの作成 ファイルシステムの作成 MQ 導入前にファイルシステムを作成してマウントしておく 作成は必須ではないが、推奨 ファイルシステムが存在しない場合は、導入時にディレクトリが自動作成される MQ で使用するファイルシステム 製品コード用 作業データ用 /opt/mqm /var/mqm これらのディレクトリは変更不可 作業データ用ファイルシステムは、/var/mqm とは別に、ログ・データ用、エラー・ファイル用のものを作成したほうがいい場 合がある。詳細は、「/var/mqm ファイルシステム」のページを参照。 20 (参考)/opt/mqm ファイルシステム /opt/mqm ディレクトリに割り当てられているファイルシステムの空き容量が小さすぎ、 製品を導入できない場合 製品導入に十分な大きさのファイルシステムを新規に用意し、/opt/mqm からそのディレ クトリーへのシンボリック・リンクを作成 シンボリック・リンク作成例 # mkdir /otherdisk/mqm # ln -s /otherdisk/mqm /opt/mqm ※ othredisk は任意の名前です ファイルシステムの配置場所 /opt/mqm ファイルシステムは NFS などのリモート装置にすることも可能 装置について定義されるマウント・オプションは setuid プログラムの実行をできるようにして おく 21 (参考)/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障害発生時にログ・メッセージが失われる可能性がある 22 Resource Limit の設定 MQ は、セマフォや共用メモリーなど IPC リソースを使用するため、Resource Limit を適切な値に設定する 導入後に設定することも可能 デフォルトのままではリソースが不足し、MQ でエラーが発生する可能性がある 使用するSolarisのバージョンによって設定方法が異なる Solaris 10 の場合 ⇒ Resource Limit の設定 (Solaris 10) のページ参照 Solaris 8、9 の場合 ⇒ Resource Limit の設定(Solaris 8、9) のページ参照 23 Resource Limit の設定 (Solaris 10) root ユーザーでコマンドを実行し、mqm グループ用プロジェクトが作成されているか確認 projects -l 上記の結果、group.mqm がない場合は、以下のコマンドを実行する projadd –c “WebSphere MQ default settings” –K “process.max-file-descriptor=(basic,10000,deny) –K “porject.max-shm-memory=(priv,4GB,deny)” –K “project.max-sem-ids=(priv,1024,deny)” group.mqm group.mqm が存在する場合は、属性を確認し、少なくとも下限値以上に設定されて いることを確認 process.max-file-descriptor=(basic,10000,deny) project.max-sem-ids=(priv,1024,deny) project.max-shm-memory=(priv,4294967296,deny) 設定値が下限よりも小さい場合は、コマンドを実行して値を変更する projmod- s –K “process.max-file-descriptor=(basic,10000,deny)” –K “project.max-shm-memory=(priv,4GB,deny)” –K “project.max-sem-ids=(priv,1024,deny)” group.mqm 詳細は、サン・マイクロシステムズ社の「System Administration Guide: Solaris Containers-Resource Management and Solaris Zones 」を参照してください。 24 Resource Limit の設定 (Solaris 8、9) root ユーザーで、以下のコマンドを実行し、設定が後述のカーネル・モジュールの前提値 を満たしているか確認 modload –p sys/msgsys modload –p sys/shmsys modload –p sys/semsys sysdef –p カーネル・モジュールの前提値 前提値を満たしていない場合は、/etc/system ファイルを編集する ・編集方法は次ページを参照 セマフォ関連 共有メモリ関連 パラメーター 最小値 パラメーター 最小値 SEMMNI 1024 SHMMAX 4294967295 SEMAEM 16384 SHMMNI 1024 SEMVMX 32767 SHMSEG(Solaris 8 のみ) 1024 SEMMNS 16384 SEMMSL 100 SEMOPM 100 SEMMNU 16384 SEMUME 256 25 Resource Limit の設定 (Solaris 8、9) カーネル・モジュールの値の変更 /etc/system ファイルに、以下のリストから設定するパラメーターの行を追記する set shmsys:shminfo_shmmax=4294967295 set shmsys:shminfo_shmmni=1024 set semsys:seminfo_semmni=1024 set semsys:seminfo_semaem=16384 set semsys:seminfo_semvmx=32767 set semsys:seminfo_semmns=16384 set semsys:seminfo_semmsl=100 set semsys:seminfo_semopm=100 set semsys:seminfo_semmnu=16384 set semsys:seminfo_semume=256 set shmsys:shminfo_shmseg=1024 (Solaris 8のみ) /etc/system ファイルを保存し、マシンを再起動して、変更した値を反映 ※ ・セマフォ使用量、およびスワップ使用量はメッセージ・レートやパーシステンシーによって大きく変化することはない ・ここで示す値は、MQ を使用する上で必要な最低限の値 カーネルパラメーターを変更する製品がほかにある場合は、その値を考慮して設定する カーネル・リソースが不足すると、MQ は内部エラーとして FFST ファイルを生成 ・次のカーネル・パラメーター は、同一サーバー上で一度に稼動するキュー・マネージャーの数に応じて設定する shmmni semmni semmns semmnu ・shmmin の値をシステムのデフォルト値から変更しない 26 オペレーティング・システムの設定 オペレーティング・システムの設定 導入後に設定可能 設定をしないと、実行時にエラーになる可能性がある 設定するパラメーター ファイル・ディスクリプター データ・セグメント スタック・セグメント ファイル・ディスクリプターの設定 /etc/system ファイルに以下の設定を追加 set rlim_fd_cur=10000 set rlim_fd_max=10000 MQエージェントのようなマルチ・スレッド・プロセスを稼動させている環境では、ファイル・ディスクリプターのソフト・リ ミットに到達する可能性があり、MQRC_UNEXPECTED_ERROR (2195) が返される一因となるので (このと きファイル・ディスクリプターに余裕があれば、FFST ファイルが作成される)、少なくとも値を10000に設定する。 この値はプロセスごとのリミットの設定となるため、キュー・マネージャー数には依存しません。 データ・セグメント、スタック・セグメントを unlimit に設定 コマンド・プロンプトより以下のコマンドを実行して設定 unlimit -d unlimited unlimit -s unlimited 27 Blank Page 28 MQ サーバーの導入 ✤ MQ サーバーの導入 ✢ CSD の適用 ✢ 導入可能コンポーネント ✤・・・導入に必須の作業 ✢ WebSphere MQ V6 へのマイグレーション ✢ WebSphere MQ V6 のアンインストール ✢ MQ 稼動環境の言語設定 29 MQ サーバーの導入 導入方法は2種類あり、いずれの方法でも導入可能 対話式 非対話式 (サイレント・インストール) 対話式インストール root ユーザーでログイン 導入イメージの用意 CD-ROM を使用する場合は、CD-ROMを挿入 メディア・イメージから導入する場合はイメージを用意 ライセンスの受諾 導入イメージのあるディレクトリへ移動 mqlisence スクリプトを実行し、ライセンスを受諾する 実行例 # . /mqlicense.sh もしライセンスの内容を読むだけの場合は以下のように実行 ./mqlicense.sh –text-only 30 ✢・・・オプション MQ サーバー導入の実行 (対話式) 導入イメージのあるディレクトリへ移動 以下のコマンドを実行し、導入へ進む pkgadd –d .(ピリオド) 必要なパッケージを選択 all を選択 → すべてのコンポーネントを導入 個別入力する場合は、コンポーネントの番号を入力 ナビゲーションに従い導入を継続する 導入途中、setuid/setgid ファイルとして MQ ファイルを導入するか確認されるので、必ず「はい」を選択する 31 MQ サーバー導入の実行 (対話式) 実行例 # cd /mq_install_img # pkgadd -d . 導入イメージのある ディレクトリへ移動 The following packages are available: 1 gsk7bas Certificate and SSL Base Runtime (gsk7bas) (sparc) 7.0.3.15 2 gsk7bas64 Certificate and SSL Base Runtime (gsk7bas64) (sparcv9) 7.0.3.15 3 mqm WebSphere MQ for Sun Solaris (sparcv9) 6.0.0.0 すべてのコンポーネントを導入 する場合は「all」を、個別に 導入する場合は該当のパッ ケージ番号を入力する 例: 1,3 Select package(s) you wish to process (or 'all' to process all packages). (default: all) [?,??,q]: all (・・・・・・中略・・・・・・・・) Do you want to install these as setuid/setgid files [y,n,?,q] y この質問には、必ず 「y」を入力 This package contains scripts which will be executed with super-user permission during the process of installing this package. you want to continue with the installation of <mqm> [y,n,?] y Installation of <mqm> was successful. 32 導入が成功したことを 確認する MQ サーバー導入の実行 (非対話式) サイレント・インストール root ユーザーでログイン 導入イメージの用意 CD-ROM を使用する場合は、CD-ROM を挿入 メディア・イメージから導入する場合はイメージを用意 ライセンスの受諾 導入イメージのあるディレクトリへ移動 mqlisence スクリプトを実行し、ライセンスを受諾する 実行例 # . /mqlicense.sh もしライセンスの内容を読むだけの場合は以下のように実行 ./mqlicense.sh –text-only 33 MQ サーバー導入の実行 (非対話式) サイレント・インストール用スクリプト silent.sh admin (silent.sh 内部で使用) response (silent.sh 内部で使用) silent.sh の編集 silent.sh は、CD-ROM が /cdrom ディレクトリにマウントされた設定になっているので、ディレクト リが異なる場合は編集が必要 導入ログの出力先など、必要であればカスタマイズすることも可能 導入ログのデフォルト出力先: /tmp/mq.install silent.sh が内部で使用する admin や response ファイルも必要であれば編集する ※ 編集する場合は、各ファイルのバックアップを取って編集する サイレント・インストール用スクリプト の実行 導入イメージのあるディレクトリへ移動 silent.sh スクリプトを実行し導入 実行例 # . /silent/silent.sh silent.sh の中身 /cdrom/mq_solaris/mqlicense.sh -accept >/tmp/mq.install 2>&1 pkgadd -a admin -d /cdrom/mq_solaris gsk7bas >>/tmp/mq.install 2>&1 pkgadd -a admin -d /cdrom/mq_solaris gsk7bas64 >>/tmp/mq.install 2>&1 pkgadd -a admin -r response -d /cdrom/mq_solaris mqm >>/tmp/mq.install 2>&1 34 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で始まるプロセスは無視する 35 導入可能コンポーネント pkgadd で選択可能なパッケージと、導入される WebSphere MQ コンポーネント MQ コンポーネント 説明 パッケージ mqm (サーバー) mqm (クライアント) Server MQサーバー ○ ○ Client MQクライアント ○ ○ Man pages UNIX man ページ ・コントロール・コマンド ・MQI コマンド ・MQSC コマンド ○ Sample programs サンプル・アプリケーション・プログラム ○ Java messaging Java メッセージング (JMS含む) SSL鍵管理サポートあり ○ ○ WebSphere MQ Client Libraries クライアント・ライブラリー ○ ○ Extended Transactional Client 拡張トランザクション ・クライアント ○ Message Catalog (※) 各言語のメッセージ・カタログ ○ IBM Global Security Kit V7 証明書と、SSL ランタイム (32bit) IBM Global Security Kit V7 証明書と、SSL ランタイム (64bit) ※ パッケージ別に導入する場合は、言語別に導入可能 36 gsk7bas gsk7bas64 ○ ○ 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 MACR MQSeries Client libraries for Solaris (64-bit) ※/opt/mqm/inc64 ディレクトリも削除すること これらのサポート・パックで提供されていた機能は、MQ V6 で製品として実装されているため不要となるが、自 動的に削除されないので、明示的なアンインストールが必要。 37 WebSphere MQ V6 へのマイグレーション キュー・マネージャーのバックアップを念のため取得しておく /var/mqm/qmgrs 以下 /var/mqm/log 以下 MQ V6 を新規導入と同様の手順でインストール 38 WebSphere MQ V6 のアンインストール アンインストール事前準備 キュー・マネージャーの停止 手順は、「CSDの適用」のページ参照 CSD、Fix など、アップデートのアンインストール アンインストール root としてログイン /opt/mqm ディレクトリから移動 pkgrm mqm を実行し、アンインストール 何らかの問題で、アンインストールによって /opt/mqm が削除されない場合は、アンインストール後削除する アンインストール後 キュー・マネージャーの定義を削除するには、/var/mqm ディレクトリーを削除する /var/mqm ディレクトリー以下は自動削除されないため、キュー・マネージャーの定義が残る Global Security Kit バージョン 7 をアンインストールする場合 pkgrm gsk7bas pkgrm gsk7bas64 ※他の製品が GSKit を使用していないことを確認してからアンインストールする 39 MQ稼動環境の言語設定 英語以外の MQ メッセージを表示させる場合 OS の日本語対応メッセージ・カタログが導入されていること 使用する言語のメッセージ・カタログを導入 mqm.msg.Ja_JP (MQの日本語メッセージカタログ) キュー・マネージャーを起動するときの言語環境を設定 環境変数 LANG を export し、使用する言語を設定する locale コマンドで設定された言語を確認する PC Kanji に設定する場合 # LANG=ja_JP. PCK # export LANG # locale LANG=ja_JP LC_CTYPE=“ja_JP.PCK" LC_COLLATE=“ja_JP. PCK" LC_MONETARY=“ja_JP. PCK" LC_NUMERIC=“ja_JP. PCK" LC_TIME=“ja_JP. PCK" LC_MESSAGES=“ja_JP. PCK" LC_ALL= 現在の日本語のNLS言語 ja Japanese EUC ja_JP.PCK PC Kanji ja_JP.UTF-8 UTF-8 40 MQサーバーの導入確認 ✢ 導入確認 (ローカル接続) ✢ 導入確認 (サーバー間接続) ✤・・・導入に必須の作業 ✢・・・オプション 41 MQサーバーの導入確認 キュー・マネージャーの作成、およびメッセージの送受信を行い、導入確認を行う WebSphere MQ では導入確認するツールを提供していない メッセージの送受信が問題なく行えれば、導入は成功とする メッセージの送受信には、MQで提供しているサンプル・アプリケーションを使用 キュー・マネージャーおよび関連オブジェクトの作成には、runmqsc コマンドを使用 導入確認方法 1.スタンド・アローン型 2.分散型 ローカル・キューに対してメッセージを読み書きする 異なるキュー・マネージャー間でメッセージ転送を行う 42 稼動確認(ローカル接続) スタンド・アローン型 ローカル・キューへのメッセージのPUT、GETおよびBROWSEで確認 手順 mqm グループに所属しているユーザーでログイン 事前準備 必要となるオブジェクトの作成 サンプル・プログラムの実行 使用するサンプル・プログラム ・amqsput – メッセージを書くプログラム ・amqsget – メッセージを読むプログラム ・amqsgbr – メッセージをブラウズするプログラム ・amqsbcg – メッセージを詳細表示(MQMD含む)するプログラム 構成する環境 キュー・マネージャー: QMGR1 ローカル・キュー LQ 43 稼動確認(ローカル接続) 事前準備 サンプル・プログラムのディレクトリーをPATHに追加 export PATH=$PATH:/opt/mqm/samp/bin サンプル・プログラムのソースは /opt/mqm/samp にある キュー・マネージャーの作成 crtmqm –q QMGR1 -q オプション: デフォルトのキュー・マネージャーとなる キュー・マネージャーの起動 strmqm QMGR1 デフォルト・キュー・マネージャーであれば、キュー・マネージャー名を省略可能 44 稼動確認(ローカル接続) 必要となるオブジェクトの作成 作成するオブジェクト オブジェクト 名前 ローカル・キュー LQ 注: WebSphere MQ オブジェクト定義では、大文字小 文字が区別される。MQSCコマンドとして小文字で入力さ れたテキストは、単一引用符で囲まない限り大文字に変 換される。ここでの例は、必ず示されているとおりに入力する こと MQSCコマンド・ファイルの作成 定義ファイル: QMGR1_StandAlone.def *ローカル・キューの定義 DEFINE QLOCAL(LQ) + DESCR(‘Local test queueu’) 注: ・行の先頭が’*’の場合は、コメント行となる ・コマンドが次の行に続く場合は+をつける ・+の前後は空白文字を入れる ・オブジェクト名に小文字を使用する場合は、 (シングル・クォート)で囲む 45 稼動確認(ローカル接続) オブジェクトの作成 $ 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を終了 46 稼動確認(ローカル接続) サンプル・プログラムの実行 キューにメッセージを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ヘッダー) なども表示 47 Blank Page 48 $ 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 49 稼動確認(サーバー間接続) 必要となるオブジェクトの作成 作成するオブジェクト 送信側 キュー・マネージャー: 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) 50 (参考)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) * で始まる行はコメント行なので、必須ではありません 51 稼動確認(サーバー間接続) 受信側での準備 リスナーの起動 受信側では、受信チャネル起動のために事前にリスナーを起動 $ 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 52 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し、表示 53 Blank Page 54 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クライアントの導入確認 ✤・・・導入に必須の作業 ✢・・・オプション 55 MQクライアントの導入 MQクライアントの導入 3タイプの導入 スタンダード・クライアント SSL付きクライアント 拡張トランザクション・クライアント MQサーバー・イメージからのみ導入可能 導入場所はいかのいずれか MQサーバーと別のサーバーに導入 MQクライアント・イメージから導入 MQサーバーと同じサーバーに導入 MQサーバー・イメージからクライアント・ファイルセットを導入 導入方法 MQサーバーと導入方法は同じ 「MQサーバーの導入」のページ以降参照 MQクライアントの導入構成要素に関しては「導入可能コンポーネント」を参照 CSD適用方法に関しては、「CSDの適用」のページ参照 (オプション作業) 56 稼動確認(クライアント接続) クライアント接続でのメッセージ転送 プロトコルはTCP/IPを使用 ローカル・キューへのメッセージのPUT、GETおよびBROWSEで確認 手順 mqm グループに所属するユーザーでログイン 事前準備 ※「稼動確認(ローカル接続)」のページを参照 必要となるオブジェクトの作成 MQサーバー側での準備 MQクライアント側での準備 サンプル・プログラムの実行 構成する環境 MQサーバー ホスト名: makuhari キュー・マネージャー: QMGR1 ローカル・キュー LQ 57 稼動確認(クライアント接続) 必要となるオブジェクトの作成 作成するオブジェクト 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) 58 稼動確認(クライアント接続) MQサーバー側での準備 リスナーの起動 MQサーバー側では、サーバー・チャネル起動のために事前にリスナーを起動 $ runmqsc QMGR1 5724-H72 (C) Copyright IBM Corp. 1994, 2005. ALL RIGHTS RESERVED. キュー・マネージャー QMGR1 に対して MQSC を始動中です。 START LISTENER(LISTENER.1414) STATUSがRUNNING であることを確認 1 : START LISTENER(LISTENER.1414) AMQ8021: WebSphere MQ リスナーの開始要求が受け入れられました。 START LSSTATUS(LISTENER.1414) AMQ8631: リスナー状況の詳細を表示します。 LISTENER(LISTENER.1414) STATUS(RUNNING) PID(569572) end ・runmqlsr/inetd の設定でも受信チャネル起動可能 MQクライアント側の設定 N/W の確認 ping <MQサーバー側IPアドレス もしくは ホスト名> ※ Ctrl+cで停止 MQSERVER環境変数の設定 export MQSERVER=‘チャネル名/通信プロトコル/ホスト名(ポート)’ ※ ホスト名はIPアドレスも可 実行例 export MQSERVER=‘CHANNEL1/TCP/makuhari(1414)’ 59 稼動確認(クライアント接続) サンプル・プログラムの実行 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し、表示 60 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 ✤・・・導入に必須の作業 ✢・・・オプション 61 マニュアル一覧 プラットフォーム共通 マニュアル名 マニュアル番号 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 62 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 63 マニュアル一覧 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/ 64 オンライン・マニュアル オンライン・マニュアル 提供方法 製品と一緒に別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 65 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コマンド 66 ✤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ライブラリーを参照するアプリケーションが混在 している実行環境での対応方法 それぞれのアプリケーションを実行する際に、随時適切なパスを指定する 別実行環境で、それぞれのアプリケーションを実行する 67