温馨提示×

centos下rabbitmq集群怎么搭建

小樊
39
2025-11-01 13:59:16
栏目: 智能运维

在CentOS系统下搭建RabbitMQ集群,可以按照以下步骤进行:

1. 安装Erlang

RabbitMQ是用Erlang编写的,因此首先需要安装Erlang环境。

# 添加Erlang解决方案仓库
sudo tee /etc/yum.repos.d/erlang.repo <<EOF
[erlang-solutions]
name=Erlang solutions repository for CentOS-7
baseurl=https://packages.erlang-solutions.com/centos/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/centos/7/x86_64/gpg
EOF

# 安装Erlang
sudo yum install -y erlang

2. 安装RabbitMQ

安装RabbitMQ服务器。

# 添加RabbitMQ解决方案仓库
sudo tee /etc/yum.repos.d/rabbitmq.repo <<EOF
[rabbitmq-server]
name=RabbitMQ repository for CentOS-7
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
EOF

# 安装RabbitMQ服务器
sudo yum install -y rabbitmq-server

3. 启动RabbitMQ服务

启动RabbitMQ服务并设置开机自启动。

sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server

4. 配置Erlang Cookie

RabbitMQ集群节点之间通过Erlang Cookie进行身份验证。确保所有节点的Erlang Cookie相同。

# 查找Erlang Cookie文件位置
sudo find / -name ".erlang.cookie"

# 将Cookie文件复制到其他节点
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

5. 配置RabbitMQ集群

在每个节点上执行以下命令来加入集群。

节点1(假设为node1)

sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl start_app

节点2(假设为node2)

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

节点3(假设为node3)

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

6. 验证集群状态

在任意节点上执行以下命令来验证集群状态。

sudo rabbitmqctl cluster_status

7. 配置镜像队列(可选)

为了提高消息的可靠性,可以配置镜像队列。

sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

这条命令会将所有队列设置为镜像队列,并在所有节点上进行镜像。

8. 配置防火墙

确保防火墙允许RabbitMQ的默认端口(5672)和SSL端口(5671)。

sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp
sudo firewall-cmd --permanent --zone=public --add-port=5671/tcp
sudo firewall-cmd --reload

9. 配置SSL(可选)

如果需要使用SSL加密通信,可以参考RabbitMQ官方文档进行配置。

通过以上步骤,你可以在CentOS系统下成功搭建一个RabbitMQ集群。

0