如何清理WebSphere MQ群集

導讀:有的時候由於系統管理及維護的需要,用戶希望能夠調整MQ 群集的一些屬性。本文介紹了如何將一個群集完全的停止下來。

  有的時候由於系統管理及維護的需要,用戶希望能夠調整MQ群集的一些屬性。本文介紹了如何將一個群集完全的停止下來。

  1)停止所有群集中的隊列管理器上的clusrcvrclussdr通道。
  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.QUEUESYSTEM.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…

     

如果這文章對你有幫助,請掃左上角微信支付-支付寶,給於打賞,以助博客運營