以单机多节点搭建为例
1、启动第一个节点 rabbit-1
RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit-1 rabbitmq-server start &
2、启动第二个节点 rabbit-2
注:web管理插件的端口号需要另外指定,否则会提示默认的 5672 端口占用
RABBITMQ_NODE_PORT=5673 RABBIT_SERVER_START_ARGS="-rabbitmq_management listener [{port,15673}]" RABBITMQ_NODENAME=rabbit-2 rabbitmq-server start &
3、查看服务
ps aux|grep rabbitmq
4、设置rabbit-1为主节点
# 停止应用
rabbitmqctl -n rabbit-1 stop_app
# 重置,清除节点上的历史信息
rabbitmqctl -n rabbit-1 reset
# 启动
rabbitmqctl -n rabbit-1 start_app
5、设置从节点
# 停止应用
rabbitmqctl -n rabbit-2 stop_app
# 重置,清除节点上的历史信息
rabbitmqctl -n rabbit-2 reset
# 将rabbit-2加入到rabbit-1主节点
# 'Server-node' 主节点名,实际操作时需更换为主机名
rabbitmqctl -n rabbit-2 join_cluster rabbit-1@'Server-node'
# 启动
rabbitmqctl -n rabbit-2 start_app
6、验证集群状态
rabbitmqctl cluster_status -n rabbit-1
7、web管理
给node节点设置用户名和密码
rabbitmqctl -n rabbit-1 add_user admin 123456
rabbitmqctl -n rabbit-1 set_user_tags admin administrator
rabbitmqctl -n rabbit-1 set_permissions -p / admin ".*" ".*" ".*"
# 其他节点以此类推
补充
如果采用多机部署集群的方式,需读取其中一个节点的cookie,并复制到其他节点(节点之间通过cookie确认相互间是否能进行通信)
cookie存放路径:/var/lib/rabbitmq/.erlang.cookie
评论 (0)