溫馨提示×

rabbitmq集群在centos上怎么搭建

小樊
51
2025-07-06 14:33:23
欄目: 智能運維

在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/erlang/rpm/centos/7/x86_64/
enabled=1
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/erlang/solutions.asc
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集群

假設你有三個節點:node1, node2, node3。

在node1上配置集群

# 啟動RabbitMQ管理插件(可選)
sudo rabbitmq-plugins enable rabbitmq_management

# 將node2加入集群
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app

在node2上配置集群

# 將node2加入node1的集群
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app

在node3上配置集群

# 將node3加入node1的集群
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app

6. 驗證集群狀態

在任意一個節點上運行以下命令來驗證集群狀態:

sudo rabbitmqctl cluster_status

你應該能看到所有節點都在集群中,并且狀態為[discovered]。

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

為了提高集群的可用性和可靠性,可以配置鏡像隊列。

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

這將確保所有隊列都是鏡像隊列,并且在所有節點上都有副本。

8. 配置防火墻

確保防火墻允許RabbitMQ的默認端口(5672)和HTTP管理界面端口(15672)。

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

完成以上步驟后,你的RabbitMQ集群應該已經成功搭建并運行。

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