本文将介绍四台机器搭建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. MVC SignalR Hub初学

    具体有关SignalR的说明查网上,我这里简单列举一个例子 1.新建MVC,添加SignalR引用(NuGet安装). 2.添加OWIN START类 public class Startup { p ...

  2. Python环境安装(Windows环境)

    近半年来一直在用Python处理手头的工作.想想,Python确实是一门比较强大的语言,容易上手且功能强大, 基本上想做的工作都能找到别人提供的包. 目前主要在windows系统上办公,这里把wind ...

  3. 基本数据类型用 == 判断的是值 ,对象用 == 判断的是地址 , 判断值的话用 equals()

    基本数据类型用 == 判断的是值   ,对象用 == 判断的是地址 ,  判断值的话用 equals() 字符串是String的实例

  4. BZOJ 2006 超级钢琴(堆+主席树)

    很好的一道题. 题意:给出长度为n的数列,选择k个互不相同的区间,满足每个区间长度在[L,R]内,求所有选择的区间和的总和最大是多少.(n,k<=5e5). 首先将区间和转化为前缀和之差,那么我 ...

  5. C++解析(8):C++中的新成员

    0.目录 1.动态内存分配 1.1 C++中的动态内存分配 1.2 new关键字与malloc函数的区别 1.3 new关键字的初始化 2.命名空间 2.1 作用域与命名空间 2.2 命名空间的定义和 ...

  6. 表单验证2-JS正则

    1. JS正则:   以/开头,以/结尾. test作用:到里面去找,只要里面有,就返回true:否则就返回false. 例如:rep=/\d+/; 检验里面是否有数字. 2.rep=/^  $/;  ...

  7. 【HDU4689】Derangement(动态规划)

    [HDU4689]Derangement(动态规划) 题面 Vjudge 给定一个\(+-\)组成的字符串,长度为\(n\). 如果第\(i\)位是\(+\),那么\(p_i>i\),否则\(p ...

  8. 洛谷 P2664 树上游戏 解题报告

    P2664 树上游戏 题目描述 \(\text{lrb}\)有一棵树,树的每个节点有个颜色.给一个长度为\(n\)的颜色序列,定义\(s(i,j)\) 为 \(i\) 到 \(j\) 的颜色数量.以及 ...

  9. java规范(三)-----判空----方法内的为空判断

    一般我们判空或者有判断条件时 都是使用 if(条件成立){ 执行代码 } 这样的逻辑. 但是如果对象的字段很深层次时或者条件很多时就容易形成很多个{}的情况,这样就容易分不出哪个花括号属于哪部分.如下 ...

  10. python基础----递归函数(二分法、最大深度递归)

    递归函数 定义:在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. #例子1 # age()=age()+ n= age(n)=age(n-)+ # age()=ag ...