RabbitMQ集群搭建

实现步骤

设计架构模式:在一个集群里,有三台服务器,其中一台使用磁盘模式,另两台使用内存模式。两台内存模式的节点速度更快,因此通过客户端连接访问它们。但是在客户端不可能分别连接两台内存节点,肯定是通过前端反向代理去轮询分发请求。如果担心前端反向代理服务器故障,可以通过keepalived软件做一个高可用架构。而磁盘模式的节点,由于磁盘IO相对较慢,因此仅作数据备份使用

环境准备:

三台机子

192.168.10.10     hdp-10

192.168.10.11     hdp-11

192.168.10.13    hdp-13

关闭防火墙

命令:[root@hdp-10 ~]# iptables -F

命令:[root@hdp-10 ~]# systemctl stop firewalld

修改/etc/hosts(三台都要修改)

命令:[root@hdp-10 ~]# vim /etc/hosts

192.168.10.10     hdp-10
192.168.10.11     hdp-11
192.168.10.13     hdp-13

安装rabbitmq软件

[root@hdp-10 ~]# yum install epel-release -y

[root@hdp-10 ~]# yum install rabbitmq-server -y

查看节点服务

[root@hdp-10 ~]# rabbitmq-plugins list

 

 启动rabbitmq管理服务

命令:[root@hdp-10 ~]# rabbitmq-plugins enable rabbitmq_management

 

命令: [root@hdp-10 ~]# systemctl start rabbitmq-server.service

命令:[root@hdp-10 ~]# ss -antulp | grep 5672

在服务启动之后,若是有三个端口开放,则表示服务服务开启成功。其中15672和25672都是rabbitmq的管理端口,5672则是和生产者、消费者通信的端口

 

查看连接状态

先查看单个连接是否能够,三台服务器都要做测试,如果连接失败,就要检查前面的hostname和hosts文件设置有没有错误

 

 修改.erlang.cookie

Rabbitmq的集群是依赖于Erlang的集群来工作的,所以必须先构建起Erlang的集群环境。在Erlang的集群中,各节点通过一个magic cookie来实现的,这个cookie存放在/var/lib/rabbitmq/.erlang.cookie(该文件为隐藏文件)中,文件是400的权限。必须使各节点cookie保持一致,否则节点之间就无法通信。注意在作修改时,应先关闭rabbitmq服务

命令:[root@hdp-10 ~]# vim /var/lib/rabbitmq/.erlang.cookie

 

 

修改之后

将存储结点和管理节点结合起来

先停止应用,hdp-10为管理节点        hdp-11和hdp-13为存储节点(操作一致),将三者做成集群,最后启动rabbitmq应用

命令:rabbitmqctl stop_app                 #关闭应用

命令:[root@hdp-13 ~]# rabbitmqctl join_cluster --ram rabbit@hdp-10                    #将内存节点连接到磁盘节点  --ram表示作为内存节点

 

 然后将两个存储节点的应用启动

命令:[root@hdp-13 ~]# rabbitmqctl start_app

查看端口,确保服务正常

命令:[root@hdp-10 ~]# ss -antulp  | grep 5672

 

 

然后访问web网页

打开浏览器访问  http://192.168.10.10:15672  默认账号密码为:guest

 

 

 

 

 

 

总结:。。。。。。。。。。。。。。(此处省略一万字)

posted @ 2020-06-03 14:52  虞岩  阅读(585)  评论(0编辑  收藏  举报