RabbitMQ集群搭建

天空windy 2020-06-03

实现步骤

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

环境准备:

三台机子

192.168.10.10     hdp-10

192.168.10.11     hdp-11

192.168.10.13    hdp-13

关闭防火墙

命令:[ ~]# iptables -F

命令:[ ~]# systemctl stop firewalld

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

命令:[ ~]# vim /etc/hosts

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

安装rabbitmq软件

[ ~]# yum install epel-release -y

[ ~]# yum install rabbitmq-server -y

查看节点服务

[ ~]# rabbitmq-plugins list

RabbitMQ集群搭建

 启动rabbitmq管理服务

命令:[ ~]# rabbitmq-plugins enable rabbitmq_management

RabbitMQ集群搭建

命令: [ ~]# systemctl start rabbitmq-server.service

命令:[ ~]# ss -antulp | grep 5672

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

RabbitMQ集群搭建

查看连接状态

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

RabbitMQ集群搭建

 修改.erlang.cookie

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

命令:[ ~]# vim /var/lib/rabbitmq/.erlang.cookie

RabbitMQ集群搭建

修改之后RabbitMQ集群搭建

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

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

命令:rabbitmqctl stop_app                 #关闭应用

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

RabbitMQ集群搭建

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

命令:[ ~]# rabbitmqctl start_app

查看端口,确保服务正常

命令:[ ~]# ss -antulp  | grep 5672

RabbitMQ集群搭建

然后访问web网页

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

RabbitMQ集群搭建

 RabbitMQ集群搭建

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

相关推荐