溫馨提示×

centos下rabbitmq集群如何搭建

小樊
54
2025-09-20 02:31:28
欄目: 智能運維

在CentOS系統下搭建RabbitMQ集群,可以按照以下步驟進行:

1. 安裝Erlang

RabbitMQ依賴于Erlang,因此首先需要安裝Erlang。

# 添加Erlang解決方案庫
sudo yum install -y epel-release

# 安裝Erlang
sudo yum install -y erlang

# 驗證Erlang安裝
erl -version

2. 安裝RabbitMQ

在所有節點上安裝RabbitMQ。

# 添加RabbitMQ解決方案庫
sudo tee /etc/yum.repos.d/rabbitmq.repo <<EOF
[rabbitmq-server]
name=RabbitMQ repository for CentOS/\$releasever/\$basearch
baseurl=https://packagecloud.io/rabbitmq/rabbitmq-server/el/\$releasever/\$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/rabbitmq/rabbitmq-server/gpgkey
EOF

# 安裝RabbitMQ
sudo yum install -y rabbitmq-server

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

# 設置開機自啟動
sudo systemctl enable rabbitmq-server

3. 配置Erlang Cookie

RabbitMQ集群中的所有節點必須共享相同的Erlang cookie。默認情況下,cookie文件位于/var/lib/rabbitmq/.erlang.cookie。

# 在第一個節點上找到cookie文件
sudo cat /var/lib/rabbitmq/.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/

# 確保cookie文件的權限正確
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie

4. 啟動并啟用RabbitMQ管理插件(可選)

RabbitMQ管理插件可以幫助你更方便地管理RabbitMQ。

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

# 訪問管理界面
http://your_node_ip:15672/

5. 配置集群

在第一個節點上配置集群。

# 啟動RabbitMQ管理界面
sudo rabbitmqctl stop_app

# 設置集群節點名稱
sudo rabbitmqctl reset

# 加入集群
sudo rabbitmqctl join_cluster rabbit@node1

# 啟動RabbitMQ服務
sudo rabbitmqctl start_app

在其他節點上重復上述步驟,但將rabbit@node1替換為第一個節點的名稱。

6. 驗證集群狀態

在任意一個節點上驗證集群狀態。

# 查看集群節點信息
sudo rabbitmqctl cluster_status

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

為了提高消息的可靠性,可以配置鏡像隊列。

# 在任意一個節點上配置鏡像隊列
sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

8. 配置防火墻

確保防火墻允許RabbitMQ的默認端口(5672和15672)。

# 允許5672端口
sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp
sudo firewall-cmd --reload

# 允許15672端口
sudo firewall-cmd --permanent --zone=public --add-port=15672/tcp
sudo firewall-cmd --reload

完成以上步驟后,你就成功地在CentOS系統下搭建了一個RabbitMQ集群。

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