博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
RabbitMQ集群
阅读量:5965 次
发布时间:2019-06-19

本文共 2044 字,大约阅读时间需要 6 分钟。

RabbitMQ是什么?

MQ(Mesee Qucue消息队列)是种应用程序对应用程序的通信方法。应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,

而无需专用链接来连接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用
通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程序同时执行的要求。

RabbitMQ是目前流行的开源消息队列系统,用Erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。

实验环境

IP地址 主机名 用途
192.168.10.157 mq1 磁盘节点
192.168.10.178 mq2 内存节点
192.168.10.163 mq3 内存节点

RabbitMQ集群配置

实现步骤

1、配置三个节点的hosts文件,将如下内容分别加入到三台服务器上
vim /etc/hosts192.168.10.157 mq1192.168.10.178 mq2192.168.10.163 mq3        #修改完需重启:init 6

RabbitMQ集群

2、三个节点配置yum软件源,安装rabbitmq软件
yum install epel-release -y      //安装源yum install -y rabbitmq-server     //安装服务
3、分别查看三个节点并添加管理任务,最后启动rabbitmq服务
/usr/lib/rabbitmq/bin/rabbitmq-plugins list         //查看有哪些服务,插件安装情况

RabbitMQ集群

/usr/lib/rabbitmq/bin/rabbitmq-plugins enable rabbitmq_management       //启动管理服务

RabbitMQ集群

systemctl start rabbitmq-server.service        //开启rabbitmq服务netstat -ntap | grep 5672        //查看端口,其中15672和55672都是rabbitmq的管理端口,5672则是和生产者、消费者通信的端口ln -s /usr/lib/rabbitmq/bin/* /usr/bin/          //方便管理,建立软链接

RabbitMQ集群

4、查看rabbitmq状态,测试能否连接
rabbitmqctl cluster-status      //测试能否连接上

RabbitMQ集群

5、修改.erlang.cookie文件

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

cd /var/lib/rabbitmq/ vim .erlang.cookie       #.erlang.cookie是隐藏文件,使用ls -a查看,复制mq1的cookie,修改mq2,mq3与之相同
6、重启rabbitmq服务,关闭防火墙
systemctl restart rabbitmq-server.service     //重启   systemctl stop firewalld.service setenforce 0           //关闭防火墙和安全功能
7、将mq2、mq3作为内存节点与mq1磁盘节点连接起来,在mq2、mq3上执行如下命令
rabbitmqctl stop_app       //停止rabbitmq应用rabbitmqctl join_cluster --ram rabbit@mq1      //调用cluster命令,将mq2连接到mq1,-ram以内存节点形式添加rabbitmqctl start_app           //开启rabbitmq应用

RabbitMQ集群

8、在mq1上查看状态
#mq1查看已连接rabbitmqctl cluster_statusCluster status of node rabbit@mq1 ...[{nodes,[{disc,[rabbit@mq1]},{ram,[rabbit@mq3,rabbit@mq2]}]}, {running_nodes,[rabbit@mq3,rabbit@mq2,rabbit@mq1]}, {cluster_name,<<"rabbit@mq1">>}, {partitions,[]}]...done.

RabbitMQ集群

以上便完成了配置RabbitMQ默认集群模式

转载于:https://blog.51cto.com/13641879/2152912

你可能感兴趣的文章
jenkins权限管理,实现不同用户组显示对应视图views中不同的jobs
查看>>
我的友情链接
查看>>
批量删除用户--Shell脚本
查看>>
Eclipse Java @Override 报错
查看>>
知道双字节码, 如何获取汉字 - 回复 "pinezhou" 的问题
查看>>
Python高效编程技巧
查看>>
js中var self=this的解释
查看>>
linux的日志服务器关于屏蔽一些关键字的方法
查看>>
事情的两面性
查看>>
只要会营销,shi都能卖出去?
查看>>
sed单行处理命令奇偶行输出
查看>>
VC++深入详解学习笔记1
查看>>
安装配置discuz
查看>>
线程互互斥锁
查看>>
KVM虚拟机&openVSwitch杂记(1)
查看>>
win7下ActiveX注册错误0x80040200解决参考
查看>>
《.NET应用架构设计:原则、模式与实践》新书博客--试读-1.1-正确认识软件架构...
查看>>
2013 Linux领域年终盘点
查看>>
mysql多实例实例化数据库
查看>>
javascript 操作DOM元素样式
查看>>