Debian上RabbitMQ集群如何搭建

Debian上RabbitMQ集群如何搭建

debian系统中部署rabbitmq集群,需按照如下流程操作:

  1. 安装erlang运行环境: 由于RabbitMQ基于Erlang开发,因此所有服务器节点都必须先安装Erlang组件。执行以下命令完成安装:
sudo apt-get update sudo apt-get install erlang-base erlang-asn1 erlang-crypto erlang-eldap erlang-ftp erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
  1. 配置RabbitMQ软件源: 所有节点均需添加官方仓库源。新建文件/etc/apt/sources.list.d/rabbitmq.list,并写入以下内容:
deb http://www.rabbitmq.com/debian/ testing main
  1. 安装RabbitMQ服务程序: 在各节点执行以下命令进行安装:
sudo apt-get update sudo apt-get install rabbitmq-server
  1. 启动RabbitMQ服务进程: 对所有节点执行启动命令:
sudo systemctl start rabbitmq-server
  1. 构建集群节点关系: 首先要保证各节点的Erlang Cookie值一致。将主节点的/var/lib/rabbitmq/.erlang.cookie文件复制到其他节点对应位置,并正确设置权限和归属:
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

接着,在主节点启用管理插件:

sudo rabbitmq-plugins enable rabbitmq_management

然后,构建集群连接。假设第二个节点IP为192.168.1.102,执行以下命令:

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

注意将上述示例中的192.168.1.101替换为主节点的实际IP地址。

  1. 检查集群运行状态: 任选一个节点运行以下指令查看集群状况:
sudo rabbitmqctl cluster_status

如果配置无误,将显示集群内所有节点信息。

  1. 设置队列镜像(可选项): 为了增强可用性,可以启用队列复制功能。在主节点执行如下命令创建镜像策略:
sudo rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

该策略将使所有队列自动在集群节点间进行镜像复制。

至此,你已经完成了基于Debian系统的RabbitMQ集群部署。后续如需扩展集群规模,只需重复第5步和第6步操作即可。

© 版权声明
THE END
喜欢就支持一下吧
点赞9 分享