本文将介绍四台机器搭建rabbitmq集群:

rabbitmq

IP和主机名(每台机器已安装RabbitMQ 3.5.6, Erlang 18.1)

  1. 192.168.87.73 localhost73

  2. 192.168.87.74 localhost74

  3. 192.168.87.75 localhost75

  4. 192.168.87.76 localhost76

将上述IP和主机名添加到hosts文件( vim /etc/hosts)

Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先构建起erlang的集群环境。Erlang的集群中各节点是通过一个magic cookie来实现的,这个cookie存放在 /var/lib/rabbitmq/.erlang.cookie 中,文件是400的权限。所以必须保证各节点cookie保持一致,否则节点之间就无法通信。

设置cookie:vi /var/lib/rabbitmq/.erlang.cookie

本例子中假设第一个节点cookie为:ZTNMCISEYCEMUZMMHFAHABC ,那么在每个节点执行以下命令:

# chmod 700 /var/lib/rabbitmq/.erlang.cookie

# echo -n "ZTNMCISEYCEMUZMMHFAHABC" > /var/lib/rabbitmq/.erlang.cookie

# chmod 400 /var/lib/rabbitmq/.erlang.cookie

开通防火墙上集群通信端口

启动防火墙:systemctl start firewalld.service

# firewall-cmd --permanent --add-port={4369/tcp,25672/tcp,5672/tcp}

# firewall-cmd --reload

组件集群

我们以localhost73为主节点,在localhost74上执行以下命令:

localhost74 # rabbitmqctl stop_app

localhost74 # rabbitmqctl join_cluster rabbit@localhost73

localhost74 # rabbitmqctl start_app

然后分别依次在localhost75、localhost76上执行即可。

更改节点属性

#rabbitmqctl stop_app –停止rabbitmq服务

#rabbitmqctl change_cluster_node_type disc –更改节点为磁盘节点

rabbitmqctl change_cluster_node_type ram –更改节点为内存节点

#rabbitmqctl start_app –开启rabbitmq服务

本例子中我们将主节点localhost73改为磁盘节点,至此我们集群搭建完毕,如下图:

查看集群状态

Rabbitmq的web管理插件启动

rabbitmq-plugins enable rabbitmq_management 启动

rabbitmq-plugins disable rabbitmq_management 关闭

开启后我们就可以访问rabbitmq自带的web管理了,访问地址:http://192.168.87.73:15672,用户名密码:guest,guest

如果不是本机访问那么需要新添加用户,因为guest这个用户只能在本机访问,所以我们要新增一个用户并赋予权限。

新增web管理用户

添加用户:rabbitmqctl add_user admin 123456

添加权限:rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

修改用户角色rabbitmqctl set_user_tags admin administrator

添加完用户通过地址http://192.168.87.73:15672和刚才创建的用户名和密码登录可以查看我们配置的集群:

web管理查看集群

转自

http://www.toutiao.com/i6461441222467650061/

RabbitMQ的安装及集群搭建方法 - 朱小厮的博客 - CSDN博客
http://blog.csdn.net/u013256816/article/details/53524766

RabbitMQ 高可用集群搭建及电商平台使用经验总结 - 王清培 - 博客园
http://www.cnblogs.com/wangiqngpei557/p/6158094.html

RabbitMQ常用命令 - 朱小厮的博客 - CSDN博客
http://blog.csdn.net/u013256816/article/details/53524814

RabbitMQ集群、镜像部署配置 - 爱你爱自己 - 博客园
http://www.cnblogs.com/grimm/p/5771038.html

rabbitmq集群搭建方法简介(测试机linux centos)【转】的更多相关文章

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

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

  2. RabbitMQ集群搭建和使用

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

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

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

  4. Hadoop 3.0完全分布式集群搭建方法(CentOS 7+Hadoop 3.2.0)

    本文详细介绍搭建4个节点的完全分布式Hadoop集群的方法,Linux系统版本是CentOS 7,Hadoop版本是3.2.0,JDK版本是1.8. 一.准备环境 1. 在VMware worksta ...

  5. Hadoop 2.0完全分布式集群搭建方法(CentOS7+Hadoop 2.7.7)

    本文详细介绍搭建4个节点的完全分布式Hadoop集群的方法,Linux系统版本是CentOS 7,Hadoop版本是2.7.7,JDK版本是1.8. 一.准备环境 1. 在VMware worksta ...

  6. RabbitMq 集群搭建

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

  7. CentOS 7 下 RabbitMQ 集群搭建

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

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

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

  9. RabbitMQ集群搭建

    准备三个节点,系统为CentOS7 Node IP rabbitmq01 172.50.0.64 rabbitmq02 172.50.0.65 rabbitmq03 172.50.0.66 这里把no ...

随机推荐

  1. bzoj2699 更新

    题意 对于一个数列A[1..N],一种寻找最大值的方法是:依次枚举A[2]到A[N],如果A[i]比当前的A[1]值要大,那么就令A[1]=A[i],最后A[1]为所求最大值.假设所有数都在范围[1, ...

  2. BZOJ4998 星球联盟(LCT+双连通分量+并查集)

    即要求动态维护边双.出现环时将路径上的点合并即可.LCT维护.具体地,加边成环时makeroot+access+splay一套把这段路径提出来,暴力dfs修改并查集祖先,并将这部分与根断开,视为删除这 ...

  3. Day 3 学习笔记

    Day 3 学习笔记 STL 模板库 一.结构体 结构体是把你所需要的一些自定义的类型(原类型.实例(:包括函数)的集合)都放到一个变量包里. 然后这个变量包与原先的类型差不多,可以开数组,是一种数据 ...

  4. JVM堆内存控制/分代垃圾回收

    JVM的堆的内存, 是通过下面面两个参数控制的 -Xms 最小堆的大小, 也就是当你的虚拟机启动后, 就会分配这么大的堆内存给你 -Xmx 是最大堆的大小 当最小堆占满后,会尝试进行GC,如果GC之后 ...

  5. [JLOI2011]飞行路线 最短路

    题面 题面 题解 这题不是很难,因为删代价的次数不多,因此我们只需要将最短路中的状态加一维表示已经删了几次,再转移即可 #include<bits/stdc++.h> using name ...

  6. 【Aizu2292】Common Palindromes(回文树)

    [Aizu2292]Common Palindromes(回文树) 题面 Vjudge 神TMD日语 翻译: 给定两个字符串\(S,T\),询问\((i,j,k,l)\)这样的四元组个数 满足\(S[ ...

  7. cmakelist 定义字符串,替换到脚本中。

    cmake_minimum_required(VERSION 2.6 FATAL_ERROR) cmake_policy(VERSION 2.6) # . Project Name project(s ...

  8. python学习笔记(七) 类和pygame实现打飞机游戏

    python中类声明如下: class Student(object): def __init__(self, name, score): self.name = name self.score = ...

  9. 【题解】征途 SDOI 2016 BZOJ 4518

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=4518 首先推式子,我们用$x_i$表示第$i$段的路程,$sum$表示总路程,根据方差和平均 ...

  10. Codeforces 864E dp

    题意: 房间着火了,里面有n件物品,每件物品有营救需要的时间t,被烧坏的最晚时间d,他的价值p,问能得到的最大价值,并且输出营救出来的物品编号 代码: //必然是先救存活时间短的即d小的,所以先排个序 ...