是的,RabbitMQ集群可以搭建在Debian上。以下是详细的步骤和注意事项:
安装Erlang:
sudo apt-get update
sudo apt-get install -y erlang-nox
添加RabbitMQ官方仓库:
curl -sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo apt-key add -
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
安装RabbitMQ服务器:
sudo apt-get install rabbitmq-server
配置Erlang Cookie:
在每个节点上设置相同的Erlang Cookie,以确保节点可以相互通信。通常在 /var/lib/rabbitmq/.erlang.cookie
文件中设置。
echo 'rabbitmq_cluster_cookie' > /var/lib/rabbitmq/.erlang.cookie
启动RabbitMQ服务:
sudo systemctl start rabbitmq-server
sudo systemctl enable rabbitmq-server
准备集群配置:
在任意一个节点上创建一个 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
加入集群:
在其他节点上使用 rabbitmqctl
命令将节点加入集群。
sudo rabbitmqctl stop_app
sudo rabbitmqctl reset
sudo rabbitmqctl join_cluster rabbit@node1
sudo rabbitmqctl start_app
配置镜像队列: 为了确保消息的高可用性,可以设置队列镜像。
sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all","ha-sync-mode":"automatic"}'
在任意一个节点上,使用以下命令验证集群状态:
sudo rabbitmqctl cluster_status
默认可以通过以下地址访问管理界面:
http://<your_server_ip>:15672
使用默认的用户名和密码(guest/guest)登录。
通过以上步骤,你可以在Debian系统上成功搭建和配置RabbitMQ集群。如果在安装过程中遇到任何问题,可以参考RabbitMQ的官方文档或寻求社区帮助。