rabbitmq主备节点架构部署
时间: 2023-07-07 22:24:05 浏览: 125
要部署 RabbitMQ 主备节点架构,需要按照以下步骤进行操作:
1. 安装 RabbitMQ:在主节点和备节点上分别安装 RabbitMQ,并确保它们都属于同一个 RabbitMQ 集群。
2. 确认主备节点角色:在主节点和备节点上分别运行以下命令,以确认它们的角色:
```bash
rabbitmqctl status
```
主节点的输出应该包含 `running_nodes` 中的所有节点,而备节点的输出应该只包含自己。
3. 设置主备节点:在备节点上运行以下命令,以将其设置为主节点的备份节点:
```bash
rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'
```
该命令将创建一个名为 ha-all 的策略,并将其应用于所有队列。该策略指定了所有队列都应该使用主备节点架构,并且备节点应该复制主节点的所有数据。
4. 启用镜像队列:在所有节点上运行以下命令,以启用镜像队列:
```bash
rabbitmq-plugins enable rabbitmq_management rabbitmq_peer_discovery_aws
```
此命令启用 RabbitMQ 管理插件和 AWS 对等发现插件。这些插件允许您在 RabbitMQ 管理界面上查看节点和队列的状态,并自动发现节点。
5. 配置主备节点:在主节点和备节点上分别编辑 `/etc/rabbitmq/rabbitmq.config` 文件,以设置它们的节点名称和 IP 地址。例如,对于主节点,文件内容应类似于:
```erlang
[
{rabbit, [
{cluster_nodes, {['rabbit@master', 'rabbit@slave'], disc}},
{default_user, <<"guest">>},
{default_pass, <<"guest">>},
{tcp_listeners, [{"0.0.0.0", 5672}]},
{log_levels, [{connection, info}]},
{loopback_users, []}
]},
{rabbitmq_management, [
{listener, [
{port, 15672},
{ip, "0.0.0.0"}
]}
]}
].
```
对于备节点,文件内容应类似于:
```erlang
[
{rabbit, [
{cluster_nodes, {['rabbit@master', 'rabbit@slave'], disc}},
{default_user, <<"guest">>},
{default_pass, <<"guest">>},
{tcp_listeners, [{"0.0.0.0", 5672}]},
{log_levels, [{connection, info}]},
{loopback_users, []}
]},
{rabbitmq_management, [
{listener, [
{port, 15672},
{ip, "0.0.0.0"}
]}
]}
].
```
其中,`cluster_nodes` 指定了集群中的所有节点,`default_user` 和 `default_pass` 分别指定了默认的用户名和密码,`tcp_listeners` 指定了 RabbitMQ 监听的 IP 地址和端口,`log_levels` 指定了日志输出级别,`loopback_users` 指定了可以通过本地连接访问 RabbitMQ 的用户。
6. 启动节点:在所有节点上运行以下命令,以启动 RabbitMQ 节点:
```bash
rabbitmq-server -detached
```
此命令将 RabbitMQ 作为守护进程启动。
7. 验证设置:在任一节点上运行以下命令,以验证主备节点架构是否正确设置:
```bash
rabbitmqctl cluster_status
```
此命令应该返回一个 JSON 格式的输出,其中包含所有节点的状态信息。如果您看到输出中包含 `mirrored` 的字样,则说明主备节点架构已经成功启用。
以上就是 RabbitMQ 主备节点架构部署的步骤,希望对您有所帮助。
阅读全文