Rabbitmq集群版安装
说明
此文档实例的是单机多节点,也可以配置成多机多节点,此处不再赘述。1个节点为硬盘Dics存储,2个节点是Ram内存存储。
搭建过程
1、查看hostname
hostname
2、添加节点ip:hostname到/etc/hosts文件下,格式:你服务的ip:服务器名称
vi /etc/hosts
服务器名称不可重复,如果服务器名称重复。需要在此文件中修改名称,而后重启服务器
3、采用从主节点copy的方式保持Cookie的一致性,rabbitmq的集群是依赖于erlang集群,而erlang集群是通过cookie进行通信认证的,因此我们部署rabbitmq集群需要统一cookie值
scp /var/lib/rabbitmq/.erlang.cookie rabbitmq2:/var/lib/rabbitmq/
提示:此命令的操作含义为从主服务器中copy一份为.cookie的文件到其他服务器中,只需要在主服务器中执行就好。
每次执行时需要把rabbitmq2改为副服务器
4、使用 -detached运行各节点
rabbitmqctl stop
rabbitmq-server -detached
此为警告,不影响
5、查看各节点的状态
rabbitmqctl cluster_status
6、手动重启rabbitmq,让服务器rabbitmq适用于修改后的erlang.cookie文件。
因修改erlang.cookie文件,所以无法通过命令重启,需要手动杀死进程后,重新启动rabbitmq
ps -ef|grep rabbitmq
Kill -9 进程号 //提示:第二列为进程号
7、启动rabbitmq
service rabbitmq-server start
Systemctl
8、查看、关闭防火墙状态
systemctl status firewalld
systemctl stop firewalld.service
9、创建并部署集群,在除主服务器以外的其他服务器执行如下命令
rabbitmqctl stop_app //停止服务
rabbitmqctl join_cluster rabbit@iZ2zecohzsn5y72ryjpe03Z //将当前节点加入到主节点中
rabbitmqctl start_app //启动服务
提示:
此处三条命令需要在除主服务以外所有集群节点服务器中执行一次。主要作用为:把需要创建集群的rabbitmq节点加入到主节点中
10、查看集群状态
rabbitmqctl cluster_status
项目部署提示:
部署成功后需要使用javashop-web和javashop-consumer中配置不同的rabbitmq节点。程序正常运行即为成功