導讀:有的時候由於系統管理及維護的需要,用戶希望能夠調整MQ 群集的一些屬性。本文介紹了如何將一個群集完全的停止下來。
有的時候由於系統管理及維護的需要,用戶希望能夠調整MQ群集的一些屬性。本文介紹了如何將一個群集完全的停止下來。
1)停止所有群集中的隊列管理器上的clusrcvr和clussdr通道。
runmqsc <QMName>
stop chl(<通道名>)
2)如果發送通道是在windows平台上,需要將對應的接受通道的listener停止。
如果是使用runmqlsr啟動的listener,則殺掉runmqlsr進程
如果是用inetd啟動listener,則編輯inetd.conf文件,注釋mq listener對應的那一行。對於AIX系統執行refresh -s inetd;對於其它 UNIX 系統,使用ps -ef|grep inetd 找到inetd的進程號,然後運行 kill -1 <inetd 進程號>
3)殺掉每個隊列管理器的amqrrmfa進程
Unix 系統:
ps -ef|grep amqrrmfa
kill -9 <amqrrmfa進程號>
Windows系統:
使用任務管理器終止所有amqrrmfa進程
4)群集隊列管理器中有一些隊列中存儲了群集相關的事件消息,如果想清理群集,則必須清除這些消息。清除每個隊列管理器的群集相關隊列:SYSTEM.CLUSTER.REPOSITORY.QUEUE、SYSTEM.CLUSTER.COMMAND.QUEUE 和 SYSTEM.CLUSTER.TRANSMIT.QUEUE
runmqsc <QMName>
clear ql(<隊列名>)
5)停止所有的隊列管理器,然後重新啟動他們。
6)如果在(2)步驟中停止了listener,需要重新啟動listener
如果是使用runmqlsr啟動的listener,則用runmqlsr命令啟動
如果是用inetd啟動listener,則取消inetd.conf文件中注釋的那一行。對於AIX系統執行refresh -s inetd;對於其它UNIX 系統,使用ps -ef|grep inetd 找到inetd的進程號,然後運行 kill -1 <inetd 進程號>
7)啟動每個隊列管理器的群集發送通道和群集接收通道
runmqsc <QMName>
Start Chl(<ChannelName>)
8)在一個隊列管理器上執行Refresh Cluster命令。
runmqsc <QMName>
Refresh Cluster(<ClusterName>)
如果希望重新定義群集,則可以在上面第四步結束後刪除所定義的MQ 群集通道,然後重新定義所需要的群集相關屬性,然後再繼續後面的步驟即可。
以下文章點擊率最高
Loading…