Sun Java System Message Queue 3.7 UR1 管理指南

从群集中删除代理

从群集中删除代理的方法取决于群集最初是通过命令行创建的,还是通过中央群集配置文件来创建的。

使用命令行删除代理

如果群集是通过在命令行中使用 imqbrokerd 命令由代理连接而成的,则必须停止每个代理,然后通过在命令行中指定一组新的群集成员来重新启动它们。过程如下所述:

Procedure使用命令行从群集中删除代理

  1. 使用 imqcmd 命令停止群集中的每个代理。

  2. 重新启动仍然保留在群集中的代理(使用 imqbrokerd 命令的 -cluster 选项,并仅仅指定那些要保留的代理)。

    例如,假设最初创建的群集包括代理 A、B、C,而且这三个代理是通过以下命令启动的:


    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 属性或为该属性指定其他值。