在Ubuntu上搭建RabbitMQ集群需要以下几个步骤:
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
在所有节点上添加RabbitMQ官方仓库:
echo "deb https://dl.bintray.com/rabbitmq/debian $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
在所有节点上安装RabbitMQ服务器:
sudo apt-get update
sudo apt-get install rabbitmq-server
在所有节点上启动RabbitMQ服务:
sudo systemctl start rabbitmq-server
RabbitMQ集群中的所有节点需要共享相同的Erlang Cookie。在第一个节点上找到Erlang Cookie文件:
sudo cat /var/lib/rabbitmq/.erlang.cookie
将Cookie内容复制到其他节点的相同路径下,并确保文件权限正确:
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie
sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
在第一个节点上启用RabbitMQ管理插件:
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地址。
如果需要添加更多节点,只需在每个新节点上重复步骤5和6,将新节点加入到集群中。
在任意节点上运行以下命令,查看集群状态:
sudo rabbitmqctl cluster_status
至此,您已经在Ubuntu上成功搭建了一个RabbitMQ集群。