centos

centos上rabbitmq集群如何搭建

小樊
35
2025-07-24 19:05:32
栏目: 智能运维

在CentOS上搭建RabbitMQ集群需要以下几个步骤:

  1. 安装Erlang环境

RabbitMQ是用Erlang编写的,因此首先需要在所有节点上安装Erlang。可以使用以下命令安装:

sudo yum install erlang
  1. 添加RabbitMQ仓库

在所有节点上添加RabbitMQ官方仓库:

echo "[rabbitmq-server]
name=rabbitmq-server
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/7/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey" | sudo tee /etc/yum.repos.d/rabbitmq.repo
  1. 安装RabbitMQ服务器

在所有节点上安装RabbitMQ服务器:

sudo yum install rabbitmq-server
  1. 启动RabbitMQ服务

在所有节点上启动RabbitMQ服务:

sudo systemctl start rabbitmq-server
  1. 设置开机启动

在所有节点上设置RabbitMQ服务开机启动:

sudo systemctl enable rabbitmq-server
  1. 创建集群

假设你有三个节点,分别为node1、node2和node3。首先在node1上创建一个管理用户:

sudo rabbitmqctl add_user admin your_password
sudo rabbitmqctl set_user_tags admin administrator
sudo rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

然后在node1上停止RabbitMQ服务:

sudo systemctl stop rabbitmq-server

接着在node2和node3上设置Erlang Cookie,使它们与node1相同。找到Erlang Cookie文件(通常位于/var/lib/rabbitmq/.erlang.cookie),将其内容复制到node2和node3的相同路径下,并确保文件权限正确:

sudo scp /var/lib/rabbitmq/.erlang.cookie user@node2:/var/lib/rabbitmq/
sudo scp /var/lib/rabbitmq/.erlang.cookie user@node3:/var/lib/rabbitmq/
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie

在node2和node3上启动RabbitMQ服务:

sudo systemctl start rabbitmq-server

最后,在node1上将node2和node3加入集群:

sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app

在node2和node3上执行以下命令:

sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app

至此,RabbitMQ集群已经搭建完成。你可以使用rabbitmqctl cluster_status命令查看集群状态。

0
看了该问题的人还看了