您用來從叢集中移除代理程式的方法,取決於原先是透過指令行建立叢集,還是使用集中叢集配置檔案所建立。
如果您是使用指令行的 imqbrokerd 指令將代理程式連線至叢集,則必須停止各代理程式,然後在指令行上指定一組新的叢集成員並重新啟動。程序如下:
使用 imqcmd 指令停止叢集中的各代理程式。
重新啟動將保留在叢集中的代理程式 (使用 imqbrokerd 指令的 -cluster 選項,指定要保留的代理程式)。
例如,假設您原本使用以下的指令來啟動 A、B 和 C 代理程式來建立包含這三者的叢集:
imqbrokerd -cluster A,B, C |
若要從叢集中移除代理程式 A,請使用以下指令重新啟動代理程式 B 和 C:
imqbrokerd -cluster B,C |
如果您原本是集中使用叢集配置檔案中的 imq.cluster.brokerlist 特性來指定叢集的成員代理程式以建立叢集,就不需要為了移除其中一個代理程式而停止所有的代理程式。反之,您只要編輯配置檔案來排除要移除的代理程式,以強制剩餘的叢集成員重新載入叢集配置,並重新配置已排除的代理程式,這樣它就不再指向相同的叢集配置檔案。程序如下: