RabbitMQ集群

suaxi
2021-04-18 / 0 评论 / 151 阅读 / 正在检测是否收录...

以单机多节点搭建为例

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

评论 (0)

取消