从群集中删除代理的方法取决于群集最初是通过命令行创建的,还是通过中央群集配置文件来创建的。
如果群集是通过在命令行中使用 imqbrokerd 命令由代理连接而成的,则必须停止每个代理,然后通过在命令行中指定一组新的群集成员来重新启动它们。过程如下所述:
使用 imqcmd 命令停止群集中的每个代理。
重新启动仍然保留在群集中的代理(使用 imqbrokerd 命令的 -cluster 选项,并仅仅指定那些要保留的代理)。
例如,假设最初创建的群集包括代理 A、B、C,而且这三个代理是通过以下命令启动的:
imqbrokerd -cluster A,B, C |
要从群集中删除代理 A,请使用以下命令重新启动代理 B 和 C:
imqbrokerd -cluster B,C |
如果群集最初是通过在中央群集配置文件中使用 imq.cluster.brokerlist 属性指定其成员代理来创建的,则不必停止这些代理即可删除其中的某个代理。只需编辑配置文件来排除要删除的代理,强制群集中的其他代理成员重新加载群集配置,并重新配置被排除的代理,使它不再指向原来的群集配置文件。过程如下: