Sun Java System Message Queue 3.7 UR1 管理指南

從叢集中移除代理程式

您用來從叢集中移除代理程式的方法,取決於原先是透過指令行建立叢集,還是使用集中叢集配置檔案所建立。

使用指令行移除代理程式

如果您是使用指令行的 imqbrokerd 指令將代理程式連線至叢集,則必須停止各代理程式,然後在指令行上指定一組新的叢集成員並重新啟動。程序如下:

Procedure使用指令行從叢集中移除代理程式

  1. 使用 imqcmd 指令停止叢集中的各代理程式。

  2. 重新啟動將保留在叢集中的代理程式 (使用 imqbrokerd 指令的 -cluster 選項,指定要保留的代理程式)。

    例如,假設您原本使用以下的指令來啟動 A、BC 代理程式來建立包含這三者的叢集:


    imqbrokerd -cluster A,B,
    C
    

    若要從叢集中移除代理程式 A,請使用以下指令重新啟動代理程式 BC


    imqbrokerd -cluster B,C
    

使用叢集配置檔案移除代理程式

如果您原本是集中使用叢集配置檔案中的 imq.cluster.brokerlist 特性來指定叢集的成員代理程式以建立叢集,就不需要為了移除其中一個代理程式而停止所有的代理程式。反之,您只要編輯配置檔案來排除要移除的代理程式,以強制剩餘的叢集成員重新載入叢集配置,並重新配置已排除的代理程式,這樣它就不再指向相同的叢集配置檔案。程序如下:

Procedure使用叢集配置檔案從叢集中移除代理程式

  1. 編輯叢集配置檔案,從以 imq.cluster.brokerlist 特性指定的清單中移除要排除的代理程式。

  2. 向叢集中每個保留的代理程式發出以下指令:


    imqcmd reload cls

    這會強制代理程式重新載入叢集配置。

  3. 停止要從叢集中移除的代理程式。

  4. 編輯此代理程式的 config.properties 檔案,移除 imq.cluster.url 特性或指定一個不同的值。