准备三个节点,系统为CentOS7

Node IP
rabbitmq01 172.50.0.64
rabbitmq02 172.50.0.65
rabbitmq03 172.50.0.66

这里把node1作为master节点。

1、修改各节点hosts

# vim /etc/hosts
172.50.0.64 rabbitmq01
172.50.0.65 rabbitmq02
172.50.0.66 rabbitmq03

2、在各节点安装rabbitmq-server,并启动服务

# yum install -y rabbitmq-server
# systemctl start rabbitmq-server
# systemctl enable rabbitmq-server

3、启用各节点RabbitMQ Web管理插件,监听15672端口

# rabbitmq-plugins list
# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
mochiweb
webmachine
rabbitmq_web_dispatch
amqp_client
rabbitmq_management_agent
rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect. # systemctl start rabbitmq-server
# netstat -tnlp

4、用浏览器访问

http://172.16.100.186:15672/
默认账号和密码都是guest;

5、将master节点的cookie文件复制到各slave节点

# scp /var/lib/rabbitmq/.erlang.cookie node2:/var/lib/rabbitmq/
# scp /var/lib/rabbitmq/.erlang.cookie node3:/var/lib/rabbitmq/

6、停止slave上的app,并将slave节点加入到集群

# rabbitmqctl stop_app
# rabbitmqctl join_cluster rabbit@node1
# rabbitmqctl start_app

7、将各slave加入集群后,查看集群状态

# rabbitmqctl cluster_status
Cluster status of node 'rabbit@rabbitmq01' ...
[{nodes,[{disc,['rabbit@rabbitmq01','rabbit@rabbitmq02',
'rabbit@rabbitmq03']}]},
{running_nodes,['rabbit@rabbitmq02','rabbit@rabbitmq03',
'rabbit@rabbitmq01']},
{cluster_name,<<"rabbit@rabbitmq01">>},
{partitions,[]}]
...done.

8、使用haproxy创建LB集群,在haproxy server上单独创建一个配置文件

# vim /etc/rabbitmq.cfg
listen rabbitmq :5672
mode tcp
balance roundrobin
server rabbit01 172.50.0.64:5672 check inter 5000
server rabbit02 172.50.0.65:5672 check inter 5000
server rabbit03 172.50.0.66:5672 check inter 5000 listen rabbitmqui :15672
mode http
balance roundrobin
server rabbit01 172.50.0.64:15672 check inter 5000
server rabbit02 172.50.0.65:15672 check inter 5000
server rabbit03 172.50.0.66:15672 check inter 5000 # haproxy -f /etc/rabbitmq.cfg

9、用浏览器访问haproxy server的地址和端口

http://172.16.100.186:15672/

RabbitMQ集群搭建的更多相关文章

  1. RabbitMQ集群搭建和使用

    一.环境准备 1.选择RabbitMQ的版本 http://www.rabbitmq.com/changelog.html 注: 不同版本的Linux选择的RabbitMQ版本也不同,参照 http: ...

  2. RabbitMq 集群搭建

        实验环境: 操作系统为 Centos 7.2 IP hostName 192.168.190.132 node132 192.168.190.139 node139 192.168.190.1 ...

  3. centos7 rabbitmq集群搭建+高可用

    环境 [root@node1 ~]# cat /etc/redhat-release CentOS Linux release (Core) [root@node1 ~]# uname -r -.el ...

  4. CentOS 7 下 RabbitMQ 集群搭建

    环境 10.0.0.20 node1 10.0.0.21 node2 10.0.0.22 node3 搭建(在所有节点执行) 添加EPEL源 [root@node1 ~]# rpm -Uvh http ...

  5. rabbitmq集群搭建方法简介(测试机linux centos)【转】

    本文将介绍四台机器搭建rabbitmq集群: rabbitmq IP和主机名(每台机器已安装RabbitMQ 3.5.6, Erlang 18.1) 192.168.87.73 localhost73 ...

  6. rabbitmq集群搭建,镜像队列搭建

    原文地址:https://www.jianshu.com/p/11963564dd3d 教你如何从0开始搭建rabbitmq集群 一.准备工作 1.三台centos虚拟机 2.三台虚拟机都安装了doc ...

  7. rabbitmq+haproxy+keepalived实现高可用集群搭建

    项目需要搭建rabbitmq的高可用集群,最近在学习搭建过程,在这里记录下可以跟大家一起互相交流(这里只是记录了学习之后自己的搭建过程,许多原理的东西没有细说). 搭建环境 CentOS7 64位 R ...

  8. RabbitMQ的安装及集群搭建方法

    RabbitMQ安装 1 安装erlang 下载地址:http://www.erlang.org/downloads 博主这里采用的是otp_src_19.1.tar.gz (200MB+) [roo ...

  9. 搭建rabbitmq集群

    查看rabbitmq日志文件 开启web管理工具 [root@controller rabbitmq]# rabbitmq-plugins list [root@controller rabbitmq ...

随机推荐

  1. 重新认识一个强大的 Gson

    从一个 Bug 说起 不知道你们发现没有,你写完的程序无论当时怎么测试,过一段时间总会出 Bug .再说一个每天都在发生的例子:在你写完一篇博客后,立即检查的话,总是查不出自己写的错别字. 据说这些都 ...

  2. E. Devu and Flowers

    E. Devu and Flowers time limit per test 4 seconds memory limit per test 256 megabytes input standard ...

  3. js常见算法

    1:实现一个函数clone,可以对JavaScript中的5种主要的数据类型(包括Number.String.Object.Array.Boolean)进行值复制. function clone(Ob ...

  4. Dockerfile详解

    Dockerfile详解 利用Dockerfile文件,可以构建docker的image镜像 命令使用 通过-f参数指定Dockerfile路径,进行构建image docker build -f / ...

  5. Qt 中QString 字符串操作:连接、组合、替换、去掉空白字符

    Qt中的字符串类 QString类 保存了16位Unicode值,提供了丰富的操作.查询和转换等函数. QString 字符串有如下几个操作符: (1) "+" 用于组合两个字符串 ...

  6. SaberRD之直流工作点分析

    直流工作点分析(DC Operating Point Analysis)用于确定电路的静态工作点. 静态工作点的概念来源于三极管的电流放大特性.三极管放大电路中,当交流输入信号为零时,电路处于直流工作 ...

  7. Javascript学习一

    //学习moocjs1 JavaScript-警告(alert 消息对话框) <script type="text/javascript"> var mynum = 3 ...

  8. Kettle 4.4.2源码分析

    一.获取并编译源码 1.1.获取源码 SVN:svn://source.pentaho.org/svnkettleroot/archive/Kettle/branches GitHub:https:/ ...

  9. mybatis系列笔记(4)---输入输出映射

    输入输出映射 通过parameterType制定输入参数类型 类型可以是简单类型(int String)也可以是POJO本身 或者包装类 1输入映射 关于输入简单类型和pojo本身的我就不写了,因为比 ...

  10. 【Java基础】ArrayList工作原理

    ArrayList 以数组实现.节约空间,但数组有容量限制.超出限制时会增加50%容量,用System.arraycopy()复制到新的数组.因此最好能给出数组大小的预估值.默认第一次插入元素时创建大 ...