溫馨提示×

rabbitmq在centos上如何實現高可用

小樊
74
2025-02-18 18:33:07
欄目: 智能運維

在CentOS上實現RabbitMQ的高可用性,通常是通過搭建RabbitMQ集群來實現的。以下是詳細的步驟:

1. 安裝Erlang和RabbitMQ

首先,在所有節點上安裝Erlang和RabbitMQ??梢允褂霉俜教峁┑陌惭b包進行安裝。

# 安裝Erlang
wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
sudo rpm -Uvh erlang-solutions-1.0-1.noarch.rpm

# 安裝RabbitMQ
sudo yum install rabbitmq-server

2. 配置Erlang Cookie

RabbitMQ集群中的節點通過Erlang Cookie進行認證。確保所有節點的Erlang Cookie相同。

# 在任意節點上找到Erlang Cookie
cat /var/lib/rabbitmq/.erlang.cookie

# 將Cookie復制到其他節點
scp /var/lib/rabbitmq/.erlang.cookie user@other_node:/var/lib/rabbitmq/

3. 搭建RabbitMQ集群

3.1. 修改主機名

確保所有節點的主機名可以相互解析。

# 修改主機名
hostnamectl set-hostname rabbit@node1
hostnamectl set-hostname rabbit@node2
hostnamectl set-hostname rabbit@node3

3.2. 啟動RabbitMQ服務

在所有節點上啟動RabbitMQ服務。

# 啟動RabbitMQ服務
sudo systemctl start rabbitmq-server

3.3. 加入集群

選擇一個節點作為主節點(通常配置為磁盤節點),然后將其他節點加入到集群中。

# 在主節點上停止RabbitMQ服務
sudo rabbitmqctl stop_app

# 將其他節點加入到主節點
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1

# 啟動RabbitMQ服務
sudo rabbitmqctl start_app

4. 驗證集群狀態

使用以下命令查看集群狀態。

# 查看集群狀態
sudo rabbitmqctl cluster_status

5. 配置鏡像隊列(可選)

為了進一步提高可用性,可以將隊列配置為鏡像隊列。

# 設置隊列鏡像策略
sudo rabbitmqctl set_policy ha-all "^ha\." '{"ha-mode":"all"}'

6. 配置防火墻

確保防火墻允許RabbitMQ使用的端口(默認是5672)。

# 打開端口
sudo firewall-cmd --add-port=5672/tcp --permanent
sudo firewall-cmd --reload

7. 配置管理插件(可選)

啟用RabbitMQ管理插件以便通過Web界面管理集群。

# 啟用管理插件
sudo rabbitmq-plugins enable rabbitmq_management

參考鏈接

[1] 一文帶你吃透 RabbitMQ 的高可用架構 [2] 高可用RabbitMQ集群的搭建及原理分析 [3] RabbitMQ 集群高可用部署詳細介紹 [4] centos9 stream 下rabbitmq高可用集群搭建及使用 [5] CentOS下RabbitMq高可用集群環境搭建 [6] CentOS7實現RabbitMQ高可用集群 [7] centos7 rabbitmq集群搭建高可用 [8] CentOS下RabbitMQ集群安裝配置教程 [9] Centos6.9下RabbitMQ集群部署記錄 [10] 在centos中安裝rabbitmq服務 [11] centos安裝rabbitmq_手工部署RabbitMQ(CentOS 7.4 - 酷盾) [12] RabbitMQ在CentOS中的安裝和配置教程[@ref]

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女