溫馨提示×

RabbitMQ在Debian上的集群如何搭建

小樊
62
2025-05-20 19:38:40
欄目: 智能運維

在Debian上搭建RabbitMQ集群涉及多個步驟,包括安裝Erlang、RabbitMQ服務器、配置集群、啟動節點以及設置高可用性等。以下是一個詳細的步驟指南:

1. 安裝Erlang

首先,確保在所有的集群節點上安裝了Erlang環境??梢允褂靡韵旅钸M行安裝:

sudo apt-get update
sudo apt-get install -y erlang-nox

2. 安裝RabbitMQ

在所有的集群節點上添加RabbitMQ官方倉庫的密鑰,并更新系統源以安裝RabbitMQ服務器。

curl -sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg
echo "deb [signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu focal main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
echo "deb [signed-by=/usr/share/keyrings/com.rabbitmq.team.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-server/ubuntu focal main" | sudo tee -a /etc/apt/sources.list.d/rabbitmq.list
sudo apt-get update
sudo apt-get install -y rabbitmq-server

3. 配置Erlang Cookie

在每個RabbitMQ服務器上設置相同的Erlang Cookie,以確保節點可以相互通信。通常在 /var/lib/rabbitmq/.erlang.cookie 文件中設置。

echo 'rabbitmq_cluster_cookie' > /var/lib/rabbitmq/.erlang.cookie

4. 啟動RabbitMQ節點

在每個服務器上啟動RabbitMQ服務。

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

5. 集群配置

5.1 準備集群配置

在任意一個節點上創建一個 rabbitmq.conf 配置文件,內容如下:

listeners.tcp.default = 5672
cluster_formation.peer_discovery_backend = rabbit_peer_discovery_classic_config
cluster_formation.classic_config.nodes.1 = rabbit@node1
cluster_formation.classic_config.nodes.2 = rabbit@node2
cluster_formation.classic_config.nodes.3 = rabbit@node3

5.2 加入集群

在其他節點上使用 rabbitmqctl 命令將節點加入集群。

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

6. 配置鏡像隊列

為了確保消息的高可用性,可以設置隊列鏡像。

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

7. 監控和管理

使用RabbitMQ的管理插件來監控集群的狀態、隊列、連接等??梢耘渲酶婢屯ㄖ?,以便在集群出現問題時及時得到通知。

sudo rabbitmq-plugins enable rabbitmq_management

訪問管理界面默認可以通過 http://服務器IP地址:15672 訪問,使用默認的用戶名和密碼登錄,用戶名是 guest,密碼也是 guest。

請注意,以上步驟是一個基本的指南,具體的配置過程可能會因環境和需求的不同而有所差異。在生產環境中,建議詳細閱讀RabbitMQ的官方文檔,并根據實際情況進行調整和優化。

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