ubuntu

Ubuntu RabbitMQ集群如何搭建

小樊
35
2025-07-16 03:04:10
栏目: 智能运维

在Ubuntu上搭建RabbitMQ集群涉及多个步骤,包括安装、配置、验证和故障转移。以下是一个详细的指南:

环境搭建

  1. 准备工作
  1. 安装RabbitMQ

在所有节点上执行以下命令安装RabbitMQ:

sudo apt update
sudo apt install rabbitmq-server

安装完成后,启动RabbitMQ服务:

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
  1. 配置Erlang Cookie

RabbitMQ节点之间通过Erlang Cookie进行认证。确保所有节点上的Erlang Cookie相同。

sudo find / -name erlang.cookie
scp /path/to/erlang.cookie user@node2:/path/to/
scp /path/to/erlang.cookie user@node3:/path/to/
sudo chmod 400 /path/to/erlang.cookie
sudo chown rabbitmq:rabbitmq /path/to/erlang.cookie
  1. 配置集群

在管理节点上执行以下命令,启动RabbitMQ管理插件:

rabbitmq-plugins enable rabbitmq_management

在存储节点上,执行以下命令创建集群:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@<管理节点IP>
rabbitmqctl start_app

<管理节点IP>替换为管理节点的实际IP地址。

在普通节点上,执行以下命令加入集群:

rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbit@<管理节点IP>
rabbitmqctl start_app

<管理节点IP>替换为管理节点的实际IP地址。

集群验证

在管理节点上,使用以下命令验证集群状态:

rabbitmqctl cluster_status

输出结果中应显示集群节点信息,包括管理节点、存储节点和普通节点。

消息队列测试

  1. 生产者

在任意节点上,使用以下命令创建生产者:

import pika
connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
for i in range(10):
    channel.basic_publish(exchange='', routing_key='hello', body=f'Hello {i}')
    print(f" [x] Sent 'Hello {i}'")
connection.close()
  1. 消费者

在任意节点上,使用以下命令创建消费者:

import pika
channel = connection.channel()
channel.queue_declare(queue='hello')
def callback(ch, method, properties, body):
    print(f" [x] Received {body}")
channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)
print(' [*] Waiting for messages. To exit press CTRL+C')
channel.start_consuming()

运行生产者程序,消费者程序会收到消息。

以上步骤展示了如何在Ubuntu上搭建RabbitMQ集群。请根据实际生产环境调整配置和优化。

0
看了该问题的人还看了