目录
概念
配置(本次采取一主二从的方式)
① 配置第一个节点
②配置第二个节点
③配置第三个节点
④查看三个节点的运行状态
④ 将rabbit-1 作为主节点
⑤ 将rabbit-2 作为从节点
⑥将rabbit-3 作为从节点
⑦验证集群状态
⑧ Web界面管理
小结
概念
RabbitMQ产品本身是基于Erlang编写的,Erlang语言天生具备分布式特性(通过同步Erlang集群各个节点的magic cookie来实现的)。因此RabbitMQ天然支持Clustering。这使得RabbitMQ本身不需要像ActiveMQ、Kagka那样通过Zookeeper分别来实现HA方案和保存集群的元数据。集群是保证可靠性的一种方式,同时可以通过水平扩展达到增加消息吞吐量能力的目的
在实际使用过程中,多采用多机多实例部署方式,为了便于学习,我们在一台机器去搭建一个RabbitMQ集群,本次学习采取单机多实例的方式来进行开展。
配置(本次采取一主二从的方式) ① 配置第一个节点sudo RABBITMQ_NODE_PORT=5672 RABBITMQ_NODENAME=rabbit-1 rabbitmq-server start &②配置第二个节点
sudo RABBITMQ_NODE_PORT=5673 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15673}]" RABBITMQ_NODENAME=rabbit-2 rabbitmq-server start &③配置第三个节点
sudo RABBITMQ_NODE_PORT=5674 RABBITMQ_SERVER_START_ARGS="-rabbitmq_management listener [{port,15674}]" RABBITMQ_NODENAME=rabbit-3 rabbitmq-server start &④查看三个节点的运行状态
ps aux|grep rabbitmq④ 将rabbit-1 作为主节点
# 停止应用 sudo rabbitmqctl -n rabbit-1 stop_app # 目的是清除节点上的历史数据(如果不清除,无法将节点加入到集群) sudo rabbitmqctl -n rabbit-1 reset # 启动应用 sudo rabbitmqctl -n rabbit-1 start_app⑤ 将rabbit-2 作为从节点
# 停止应用 sudo rabbitmqctl -n rabbit-2 stop_app # 目的是清除节点上的历史数据(如果不清除,无法将节点加入到集群) sudo rabbitmqctl -n rabbit-2 reset # 将rabbit2节点加入到rabbit1(主节点) 集群当中【server-node 是主节点的ip】 sudo rabbitmqctl -n rabbit-2 join_cluster rabbit-1@'server-node' # 启动应用 sudo rabbitmqctl -n rabbit-2 start_app⑥将rabbit-3 作为从节点
# 停止应用 sudo rabbitmqctl -n rabbit-3 stop_app # 目的是清除节点上的历史数据(如果不清除,无法将节点加入到集群) sudo rabbitmqctl -n rabbit-3 reset # 将rabbit2节点加入到rabbit1(主节点) 集群当中【server-node 是主节点的ip】 sudo rabbitmqctl -n rabbit-3 join_cluster rabbit-1@'server-node' # 启动应用 sudo rabbitmqctl -n rabbit-3 start_app⑦验证集群状态
# 查询集群的状态 sudo rabbitmqctl cluster_status -n rabbit-1⑧ Web界面管理
- 添加用户
-- 1、添加用户 rabbitmqctl -n rabbit-1 add_user Username Password -- 2、设置用户分配 *** 作权限 - administrator 可以登录控制台、查看所有信息,可以对rabbitmq 进行管理 - monitoring 监控者 登录控制台、查看所有信息 - policymaker 策略制定者 登录控制台、指定策略 - managment 普通管理员 登录控制台 rabbitmqctl -n rabbit-1 set_user_tags Username administrator -- 3、赋予权限 rabbitmqctl -n rabbit-1 set_permissions -p "/" Username ".*" ".*" ".*" -- 3、修改密码 rabbitmqctl -n rabbit-1 change_password Username NewPassword -- 4、查看用户清单 rabbitmqctl -n rabbit-1 list_users
- 登录web界面
小结 如果采用多机部署方式,需读取其中一个节点的cookie,并复制到其他节点(节点之间通过cookie确定相互是否可通信)。cookie 存放在/var/lib/rabbitmq/.erlang.cookie
例如:主机名分别为 rabbit-1、rabbit-2
1、逐个启动各节点
2、配置各节点的hosts文件( vim /etc/hosts )
ip1:rabbit-1
ip2:rabbit-2
其它步骤雷同单机部署方式
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)