WebSphere MQ6.0 for redhat4.6 setup

來源:互聯網
上載者:User

WebSphere MQ6.0 for redhat4.6 setup

分類:
WebSphere 2010-04-12 14:45
650人閱讀
評論(0)
收藏
舉報websphereredhatmanageribm訊息中介軟體statistics

Websphere MQ是IBM的商業訊息中介軟體(Commercial Messaging Middleware)。Websphere MQ提供一個具有工業標準、安全、可靠的訊息傳輸系統。它的功能是控制和管理一個整合的商業應用,使得組成這個商業應用的多個分支程式(模組)之間通過傳 遞訊息完成整個工作流程。Websphere MQ基本由一個訊息傳輸系統和一個應用程式介面組成,其資源是訊息和隊列(Messaging and Queuing)。
訊息:訊息就是一個資訊單元,這個資訊單元可以是一個請求(Request message),也可以是一個應答(Reply message),或者是一個報告(Report message)或一份報文(Datagram   messge)。一個訊息包含兩個因素——訊息描述(用於定義諸如訊息傳輸目標等)和資料訊息(如應用程式資料或資料庫查詢等)。程式之間的通訊通過傳 遞訊息而非直接調用程式。
隊列:一個安全的儲存訊息的地方,訊息的儲存一般是順序的,隊列是訊息分階段地傳送和接收。因為訊息存放在隊列中,所以應用程式可以相互獨立的運行,以不 同的速度,在不同的時間,在不同的地點。
訊息傳輸系統:用於確保隊列之間的訊息提供,包括網路中不同系統上的遠程隊列之間的訊息提供。並保證網路故障或關閉後的恢複。
應用程式介面:應用程式和訊息系統之間通過Websphere MQ API實現的介面Websphere MQ API在所有Websphere MQ平台上是一致的。API只有14個調用,2個關鍵動詞:發送(PUT)和接收(GET)。
        IBM Websphere MQ 保證了訊息可靠性傳輸及只傳遞一次(once and only once)的特點
安裝環境
WebSphere MQ 不支援含有空格的主機名稱,如果將MQ 安裝在主機名稱包含空格的主機上,MQ將不能建立隊列管理器(queue managers)
硬體要求
Websphere MQ for Linux,Version 6.0(x86 platform) 支援任何X86平台架構的主機
最低要求
512MB RAM
1GHZ CPU
1.5G的硬碟空間
1024*768的顯示器
支援的作業系統
目前支援Red Hat Enterprise Linux AS V3.0 V4.0
        SuSE Linux Enterprise Server (SLES)V8 SP3  ,V9
        注意:目前SuSE8不支援MQ Explorer 圖形介面
硬碟空間要求
MQ所需的空間按照安裝的組件的多少及隊列訊息儲存的長短來定製
例如:
安裝Runtime、Server、Client、Sample programs、SDK等常用組件大概需要50MB空間
MQ軟體的基礎軟體IBMJava2-SDK-1.4.2-0.0及gsk7bas-7.0-x.x需要91MB的空間

安裝SSL支援
需要g++環境
Redhat環境中安裝libstdc++5 rpm包即可
需要IBM Global Security Kit v7
該軟體包已rpm包提供在MQ安裝介質包中

作業系統環境要求
c/c++編譯環境
命令列下執行
[mqm@myserver12 bin]$ gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)
顯示已經安裝了gcc 3.4
目前MQ支援gcc/g++ 2.9.5 、3.2、3.3、3.4
WebSphere Server安裝設定
建立安裝目錄
mkdir –p /opt/mqm
mkdir –p /var/mqm/{log,errors}
注意:mqm的安裝目錄及工作目錄必須是以上目錄,如果以上目錄的空間不夠,可以建立一個連結目錄,方法如下:
mkdir –p /bigger/mqm
ln –s /bigger/mqm /opt/mqm
建立使用者組
groupadd –g 911 mqm
useradd –g 911 –d /var/mqm –u 911 –s /bin/bash mqm
更改目錄許可權
chown –R mqm:mqm /opt/mqm
chown –R mqm:mqm /var/mqm
註:如果其他使用者想有MQ的管理員的許可權,比如建立、啟動隊列管理器,則將其使用者名稱加入到mqm組即可

設定語系環境
$export LANG=zh_CN
注意:上述設定中文,是需要安裝mq介質包中相關的語言rpm包

核心參數修改
Websphere MQ 使用System V IPC資源,特別是shared memory和semaphores
需要修改如下資源
/proc/sys/kernel/shmmax  -  The  maximum  size  of  a  shared  memory  segment.
/proc/sys/kernel/shmmni  -  The  maximum  number  of  shared  memory  segments.
/proc/sys/kernel/shmall  -  The  maximum  amount  of  shared  memory that  may  be  allocated.
/proc/sys/kernel/sem        -  The  maximum  number  and  size  of  semaphore  sets that  may  be  allocated.

/proc/sys/kernel/msgmnb  -  The  maximum  number  of  bytes  on  a  message  queue.
修改方法如:
echo 268435456 >/proc/sys/kernel/shmmax
意思是將共用記憶體段的大小更改為256MB
以下是我機器上的設定:
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.msgmnb=128
kernel.core_uses_pid = 1
kernel.shmmax=524288000
kernel.sem=250 32000 100 128
fs.file-max=65536
kernel.shmmni=4096
net.ipv4.ip_local_port_range=1024 65000
net.core.rmem_default=1048576
net.core.wmem_default=262144
net.core.rmem_max=1048576
net.core.wmem_max=262144
將以上的值直接寫入/etc/sysctl.conf 保證系統重啟後仍然生效

安裝WebSphere MQ 程式
1.        root使用者登陸
上傳WMQv6023Trial-x86_linux.tar.gz介質包到/tmp
$cd /tmp
$tar –xzvf WMQv6023Trial-x86_linux.tar.gz
2.        執行mqlicense.sh接受產品許可協議
$./mqlicense.sh –accept
3.        安裝rpm包:
$rpm –ivh MQSeriesRuntime-6.0.2-3.i386.rpm
$rpm –ivh MQSeriesServer-6.0.2-3.i386.rpm
$rpm –ivh MQSeriesClient-6.0.2-3.i386.rpm
$rpm –ivh MQSeriesSamples-6.0.2-3.i386.rpm
$rpm –ivh MQSeriesMsg_Zh_CN-6.0.2-3.i386.rpm

驗證測試MQServer
mqm使用者登陸設定
測試環境設定
建立一個隊列管理
$crtmqm –q yql.queue.manager

you will see messages telling you that the queue manager has been created,and that the default WebSphere MQ objects have been created
啟動隊列管理
$strmqm

a message tells you when the queue manager has started

開啟MQSC
$runmqsc

將會顯示啟動了一個MQSC,接下來輸入一些語句來定義一個名叫ORANAGER.QUEUE隊列
DEFINE QLOCAL(ORANGE.QUEUE)
接著會顯示隊列建立成功

停止MQSC
end
上述一系列命令指建立了一個名為yql.queue.manager的隊列管理器,並建立了一個名為ORANGE.QUEUE的隊列
測試
$cd /opt/mqm/samp/bin
向隊列管理器yql.queue.manager中的隊列ORANGE.QUEUE上傳資訊
$./amqsput ORANGE.QUEUE yql.queue.manager
然後會顯示如下資訊:
Sample AMQSPUT0 start
target queue is ORANGE.QUEUE
輸入一些文本,然後敲兩下斷行符號
如:jus one test
從隊列管理器yql.queue.manager中的隊列ORANGE.QUEUE擷取資訊
$./amqsget ORANGE.QUEUE yql.queue.manager
如果能返回一下資訊則成功
Sample AMQSGET0 start
message < jus one test >

WebSphere MQ Client設定
環境設定
建立一個隊列管理器
[mqm@myserver12 bin]$ crtmqm -q lyx.queue.manager
There are 90 days left in the trial period for this copy of WebSphere MQ.
WebSphere MQ queue manager created.
Creating or replacing default objects for lyx.queue.manager.
Default objects statistics : 40 created. 0 replaced. 0 failed.
Completing setup.
Setup completed
啟動隊列管理器
[mqm@myserver12 bin]$ strmqm lyx.queue.manager
There are 90 days left in the trial period for this copy of WebSphere MQ.
WebSphere MQ queue manager 'lyx.queue.manager' starting.
5 log records accessed on queue manager 'lyx.queue.manager' during the log replay phase.
Log replay for queue manager 'lyx.queue.manager' complete.
Transaction manager state recovered for queue manager 'lyx.queue.manager'.
WebSphere MQ queue manager 'lyx.queue.manager' started.
設定隊列及串連通道、監聽
[mqm@myserver12 bin]$ runmqsc
5724-H72 (C) Copyright IBM Corp. 1994, 2005.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager lyx.queue.manager.
定義一個名為REMOTE_QUEUE隊列
DEFINE QLOCAL(REMOTE_QUEUE)
     1 : DEFINE QLOCAL(REMOTE_QUEUE)
AMQ8006: WebSphere MQ queue created.
定義一個遠端連線CHANNEL2
DEFINE CHANNEL(CHANNEL2) CHLTYPE (SVRCONN) TRPTYPE (TCP) MCAUSER ('MQM')

     2 : DEFINE CHANNEL(CHANNEL2) CHLTYPE (SVRCONN) TRPTYPE (TCP) MCAUSER ('MQM')
AMQ8014: WebSphere MQ channel created.
定義一個監聽LISTENER2並監聽8899連接埠,不指定連接埠則用預設的1414
DEFINE LISTENER(LISTENER2) TRPTYPE (TCP) CONTROL (QMGR) PORT(8899)
     3 : DEFINE LISTENER(LISTENER2) TRPTYPE (TCP) CONTROL (QMGR) PORT(8899)
AMQ8626: WebSphere MQ listener created.
啟動監聽LISTENER2
START LISTENER(LISTENER2)
     4 : START LISTENER(LISTENER2)
AMQ8021: Request to start WebSphere MQ Listener accepted.
結束
END
     5 : END
4 MQSC commands read.
No commands have a syntax error.
All valid MQSC commands were processed.
設定環境變數
[mqm@myserver12 bin]$ export MQSERVER='CHANNEL2/TCP/myserver12(8899)'
測實驗證
[mqm@myserver12 bin]$ ./amqsput REMOTE_QUEUE lyx.queue.manager
Sample AMQSPUT0 start
target queue is REMOTE_QUEUE
I LOVE you!!!

Sample AMQSPUT0 end
[mqm@myserver12 bin]$ ./amqsget REMOTE_QUEUE lyx.queue.manager
Sample AMQSGET0 start
message <I LOVE you!!!>
no more messages
Sample AMQSGET0 end

MQ隊列管理操作
1.        建立
$crtmqm -q lyx_queue_manager
2.        啟動
$strmq lyx_queue_manager
3.        停止
$endmqm lyx_queue_manager
4.        刪除
$dltmqm lyx_queue_manager
5.        查看
[mqm@myserver12 bin]$ dspmq
QMNAME(venus.queue.manager)                               STATUS(Running)
QMNAME(saturn.queue.manager)                              STATUS(Running)
QMNAME(yql.queue.manager)                                 STATUS(Running)
QMNAME(wwf.queue.manager)                                 STATUS(Running)
QMNAME(lyx.queue.manager)                                 STATUS(Running)

小結:在定義隊列名稱盡量用大寫,否則用小寫時amqsput/amqsget讀不到隊列名稱

Websphere MQ是IBM的商業訊息中介軟體(Commercial Messaging Middleware)。Websphere MQ提供一個具有工業標準、安全、可靠的訊息傳輸系統。它的功能是控制和管理一個整合的商業應用,使得組成這個商業應用的多個分支程式(模組)之間通過傳 遞訊息完成整個工作流程。Websphere MQ基本由一個訊息傳輸系統和一個應用程式介面組成,其資源是訊息和隊列(Messaging and Queuing)。
訊息:訊息就是一個資訊單元,這個資訊單元可以是一個請求(Request message),也可以是一個應答(Reply message),或者是一個報告(Report message)或一份報文(Datagram   messge)。一個訊息包含兩個因素——訊息描述(用於定義諸如訊息傳輸目標等)和資料訊息(如應用程式資料或資料庫查詢等)。程式之間的通訊通過傳 遞訊息而非直接調用程式。
隊列:一個安全的儲存訊息的地方,訊息的儲存一般是順序的,隊列是訊息分階段地傳送和接收。因為訊息存放在隊列中,所以應用程式可以相互獨立的運行,以不 同的速度,在不同的時間,在不同的地點。
訊息傳輸系統:用於確保隊列之間的訊息提供,包括網路中不同系統上的遠程隊列之間的訊息提供。並保證網路故障或關閉後的恢複。
應用程式介面:應用程式和訊息系統之間通過Websphere MQ API實現的介面Websphere MQ API在所有Websphere MQ平台上是一致的。API只有14個調用,2個關鍵動詞:發送(PUT)和接收(GET)。
        IBM Websphere MQ 保證了訊息可靠性傳輸及只傳遞一次(once and only once)的特點
安裝環境
WebSphere MQ 不支援含有空格的主機名稱,如果將MQ 安裝在主機名稱包含空格的主機上,MQ將不能建立隊列管理器(queue managers)
硬體要求
Websphere MQ for Linux,Version 6.0(x86 platform) 支援任何X86平台架構的主機
最低要求
512MB RAM
1GHZ CPU
1.5G的硬碟空間
1024*768的顯示器
支援的作業系統
目前支援Red Hat Enterprise Linux AS V3.0 V4.0
        SuSE Linux Enterprise Server (SLES)V8 SP3  ,V9
        注意:目前SuSE8不支援MQ Explorer 圖形介面
硬碟空間要求
MQ所需的空間按照安裝的組件的多少及隊列訊息儲存的長短來定製
例如:
安裝Runtime、Server、Client、Sample programs、SDK等常用組件大概需要50MB空間
MQ軟體的基礎軟體IBMJava2-SDK-1.4.2-0.0及gsk7bas-7.0-x.x需要91MB的空間

安裝SSL支援
需要g++環境
Redhat環境中安裝libstdc++5 rpm包即可
需要IBM Global Security Kit v7
該軟體包已rpm包提供在MQ安裝介質包中

作業系統環境要求
c/c++編譯環境
命令列下執行
[mqm@myserver12 bin]$ gcc -v
Reading specs from /usr/lib/gcc/i386-redhat-linux/3.4.3/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-java-awt=gtk --host=i386-redhat-linux
Thread model: posix
gcc version 3.4.3 20041212 (Red Hat 3.4.3-9.EL4)
顯示已經安裝了gcc 3.4
目前MQ支援gcc/g++ 2.9.5 、3.2、3.3、3.4
WebSphere Server安裝設定
建立安裝目錄
mkdir –p /opt/mqm
mkdir –p /var/mqm/{log,errors}
注意:mqm的安裝目錄及工作目錄必須是以上目錄,如果以上目錄的空間不夠,可以建立一個連結目錄,方法如下:
mkdir –p /bigger/mqm
ln –s /bigger/mqm /opt/mqm
建立使用者組
groupadd –g 911 mqm
useradd –g 911 –d /var/mqm –u 911 –s /bin/bash mqm
更改目錄許可權
chown –R mqm:mqm /opt/mqm
chown –R mqm:mqm /var/mqm
註:如果其他使用者想有MQ的管理員的許可權,比如建立、啟動隊列管理器,則將其使用者名稱加入到mqm組即可

設定語系環境
$export LANG=zh_CN
注意:上述設定中文,是需要安裝mq介質包中相關的語言rpm包

核心參數修改
Websphere MQ 使用System V IPC資源,特別是shared memory和semaphores
需要修改如下資源
/proc/sys/kernel/shmmax  -  The  maximum  size  of  a  shared  memory  segment.
/proc/sys/kernel/shmmni  -  The  maximum  number  of  shared  memory  segments.
/proc/sys/kernel/shmall  -  The  maximum  amount  of  shared  memory that  may  be  allocated.
/proc/sys/kernel/sem        -  The  maximum  number  and  size  of  semaphore  sets that  may  be  allocated.

/proc/sys/kernel/msgmnb  -  The  maximum  number  of  bytes  on  a  message  queue.
修改方法如:
echo 268435456 >/proc/sys/kernel/shmmax
意思是將共用記憶體段的大小更改為256MB
以下是我機器上的設定:
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.msgmnb=128
kernel.core_uses_pid = 1
kernel.shmmax=524288000
kernel.sem=250 32000 100 128
fs.file-max=65536
kernel.shmmni=4096
net.ipv4.ip_local_port_range=1024 65000
net.core.rmem_default=1048576
net.core.wmem_default=262144
net.core.rmem_max=1048576
net.core.wmem_max=262144
將以上的值直接寫入/etc/sysctl.conf 保證系統重啟後仍然生效

安裝WebSphere MQ 程式
1.        root使用者登陸
上傳WMQv6023Trial-x86_linux.tar.gz介質包到/tmp
$cd /tmp
$tar –xzvf WMQv6023Trial-x86_linux.tar.gz
2.        執行mqlicense.sh接受產品許可協議
$./mqlicense.sh –accept
3.        安裝rpm包:
$rpm –ivh MQSeriesRuntime-6.0.2-3.i386.rpm
$rpm –ivh MQSeriesServer-6.0.2-3.i386.rpm
$rpm –ivh MQSeriesClient-6.0.2-3.i386.rpm
$rpm –ivh MQSeriesSamples-6.0.2-3.i386.rpm
$rpm –ivh MQSeriesMsg_Zh_CN-6.0.2-3.i386.rpm

驗證測試MQServer
mqm使用者登陸設定
測試環境設定
建立一個隊列管理
$crtmqm –q yql.queue.manager

you will see messages telling you that the queue manager has been created,and that the default WebSphere MQ objects have been created
啟動隊列管理
$strmqm

a message tells you when the queue manager has started

開啟MQSC
$runmqsc

將會顯示啟動了一個MQSC,接下來輸入一些語句來定義一個名叫ORANAGER.QUEUE隊列
DEFINE QLOCAL(ORANGE.QUEUE)
接著會顯示隊列建立成功

停止MQSC
end
上述一系列命令指建立了一個名為yql.queue.manager的隊列管理器,並建立了一個名為ORANGE.QUEUE的隊列
測試
$cd /opt/mqm/samp/bin
向隊列管理器yql.queue.manager中的隊列ORANGE.QUEUE上傳資訊
$./amqsput ORANGE.QUEUE yql.queue.manager
然後會顯示如下資訊:
Sample AMQSPUT0 start
target queue is ORANGE.QUEUE
輸入一些文本,然後敲兩下斷行符號
如:jus one test
從隊列管理器yql.queue.manager中的隊列ORANGE.QUEUE擷取資訊
$./amqsget ORANGE.QUEUE yql.queue.manager
如果能返回一下資訊則成功
Sample AMQSGET0 start
message < jus one test >

WebSphere MQ Client設定
環境設定
建立一個隊列管理器
[mqm@myserver12 bin]$ crtmqm -q lyx.queue.manager
There are 90 days left in the trial period for this copy of WebSphere MQ.
WebSphere MQ queue manager created.
Creating or replacing default objects for lyx.queue.manager.
Default objects statistics : 40 created. 0 replaced. 0 failed.
Completing setup.
Setup completed
啟動隊列管理器
[mqm@myserver12 bin]$ strmqm lyx.queue.manager
There are 90 days left in the trial period for this copy of WebSphere MQ.
WebSphere MQ queue manager 'lyx.queue.manager' starting.
5 log records accessed on queue manager 'lyx.queue.manager' during the log replay phase.
Log replay for queue manager 'lyx.queue.manager' complete.
Transaction manager state recovered for queue manager 'lyx.queue.manager'.
WebSphere MQ queue manager 'lyx.queue.manager' started.
設定隊列及串連通道、監聽
[mqm@myserver12 bin]$ runmqsc
5724-H72 (C) Copyright IBM Corp. 1994, 2005.  ALL RIGHTS RESERVED.
Starting MQSC for queue manager lyx.queue.manager.
定義一個名為REMOTE_QUEUE隊列
DEFINE QLOCAL(REMOTE_QUEUE)
     1 : DEFINE QLOCAL(REMOTE_QUEUE)
AMQ8006: WebSphere MQ queue created.
定義一個遠端連線CHANNEL2
DEFINE CHANNEL(CHANNEL2) CHLTYPE (SVRCONN) TRPTYPE (TCP) MCAUSER ('MQM')

     2 : DEFINE CHANNEL(CHANNEL2) CHLTYPE (SVRCONN) TRPTYPE (TCP) MCAUSER ('MQM')
AMQ8014: WebSphere MQ channel created.
定義一個監聽LISTENER2並監聽8899連接埠,不指定連接埠則用預設的1414
DEFINE LISTENER(LISTENER2) TRPTYPE (TCP) CONTROL (QMGR) PORT(8899)
     3 : DEFINE LISTENER(LISTENER2) TRPTYPE (TCP) CONTROL (QMGR) PORT(8899)
AMQ8626: WebSphere MQ listener created.
啟動監聽LISTENER2
START LISTENER(LISTENER2)
     4 : START LISTENER(LISTENER2)
AMQ8021: Request to start WebSphere MQ Listener accepted.
結束
END
     5 : END
4 MQSC commands read.
No commands have a syntax error.
All valid MQSC commands were processed.
設定環境變數
[mqm@myserver12 bin]$ export MQSERVER='CHANNEL2/TCP/myserver12(8899)'
測實驗證
[mqm@myserver12 bin]$ ./amqsput REMOTE_QUEUE lyx.queue.manager
Sample AMQSPUT0 start
target queue is REMOTE_QUEUE
I LOVE you!!!

Sample AMQSPUT0 end
[mqm@myserver12 bin]$ ./amqsget REMOTE_QUEUE lyx.queue.manager
Sample AMQSGET0 start
message <I LOVE you!!!>
no more messages
Sample AMQSGET0 end

MQ隊列管理操作
1.        建立
$crtmqm -q lyx_queue_manager
2.        啟動
$strmq lyx_queue_manager
3.        停止
$endmqm lyx_queue_manager
4.        刪除
$dltmqm lyx_queue_manager
5.        查看
[mqm@myserver12 bin]$ dspmq
QMNAME(venus.queue.manager)                               STATUS(Running)
QMNAME(saturn.queue.manager)                              STATUS(Running)
QMNAME(yql.queue.manager)                                 STATUS(Running)
QMNAME(wwf.queue.manager)                                 STATUS(Running)
QMNAME(lyx.queue.manager)                                 STATUS(Running)

小結:在定義隊列名稱盡量用大寫,否則用小寫時amqsput/amqsget讀不到隊列名稱

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.