文档章节

RabbitMQ-消息中间件安装介绍

是江山
 是江山
发布于 2017/08/18 17:58
字数 1052
阅读 24
收藏 0

##引言

消息系统允许软件、应用相互连接和扩展.这些应用可以相互链接起来组成一个更大的应用,或者将用户设备和数据进行连接.消息系统通过将消息的发送和接收分离来实现应用程序的异步和解偶.

或许你正在考虑进行数据投递,非阻塞操作或推送通知。或许你想要实现发布/订阅,异步处理,或者工作队列。所有这些都可以通过消息系统实现。

RabbitMQ是一个消息代理 – 一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台,并且保证消息在传输过程中的安全。

##安装 安装环境说明:

IP地址	  主机名	OS版本
192.168.1.141	  node1	  CentOS7.2

1、安装前准备

(1)配置好epel源

[root@Bj-1-141 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@node1 ~]# hostnamectl set-hostname node1
[root@node1 ~]# hostname
[root@node1 ~]# exit

退出后重新连接,配置hosts

[root@node1 ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.141 node1

(2)配置主机名并能通过hosts解析

[root@node1 ~]# yum -y install rabbitmq-server

3、rabbitmq插件管理

RabbitMQ安装完成后使用rabbitmq-plugins管理相关插件。

语法格式:

Usage:
rabbitmq-plugins <command> [<command options>]

Commands:
    list [-v] [-m] [-E] [-e] [<pattern>] #列出插件,显示大写E的为显式启用的,小写e为依赖启用
    enable <plugin> ... #启动插件
    disable <plugin> ... #禁用插件

4、启用rabbitmq_management插件

rabbitmq_management提供了一个http接口的管理控制台,监听在15672端口上,默认用户:guest 密码:guest

[root@node1 ~]# rabbitmq-plugins enable rabbitmq_management

5、启动rabbitmq-server

[root@node1 ~]# systemctl start rabbitmq-server.service
You have new mail in /var/spool/mail/root
[root@node1 ~]# ss -tnl
State      Recv-Q Send-Q                    Local Address:Port                                   Peer Address:Port
LISTEN     0      128                                   *:25672                                             *:*
LISTEN     0      128                                   *:4369                                              *:*
LISTEN     0      128                                   *:22                                                *:*
LISTEN     0      128                                   *:15672                                             *:*
LISTEN     0      100                           127.0.0.1:25                                                *:*
LISTEN     0      128                                  :::5672                                             :::*
LISTEN     0      128                                  :::4369                                             :::*
LISTEN     0      128                                  :::22                                               :::*
LISTEN     0      100                                 ::1:25                                               :::*

6、访问rabbitmq_management提供的管理接口 输入图片说明 输入图片说明

在控制台修改guest用户的密码 输入图片说明输入图片说明 ##RabbitMQ集群配置 环境说明:

IP地址	主机名	OS版本	角色
192.168.1.141	  node1	  CentOS7.2	  Master
192.168.1.142	  node2	  CentOS7.2	  Slave

1、配置主机名及hosts文件

两台节点都要配置,这里以node2节点为例。

[root@node2 ~]# hostnamectl set-hostname node2
[root@node1 ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.1.141 node1
192.168.1.142 node2

2、各节点安装rabbitmq-server

两台节点都要配置,这里以node2节点为例。

[root@node2 ~]# yum -y install rabbitmq-server

3、各节点启用rabbitmq_management插件

两台节点都要配置,这里以node2节点为例。

[root@node2 ~]# rabbitmq-plugins enable rabbitmq_management

4、启动rabbitmq-server

两台节点都要配置,这里以node2节点为例。

[root@node2 ~]# systemctl start rabbitmq-server.service
[root@node2 ~]# ss -tnl
State      Recv-Q Send-Q                    Local Address:Port                                   Peer Address:Port
LISTEN     0      128                                   *:25672                                             *:*
LISTEN     0      128                                   *:4369                                              *:*
LISTEN     0      128                                   *:22                                                *:*
LISTEN     0      128                                   *:15672                                             *:*
LISTEN     0      100                           127.0.0.1:25                                                *:*
LISTEN     0      128                                  :::5672                                             :::*
LISTEN     0      128                                  :::4369                                             :::*
LISTEN     0      128                                  :::22                                               :::*
LISTEN     0      100                                 ::1:25                                               :::*

5、查看各节点上的cluster name

(1)查看node1节点

[root@node1 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@node1 ...
[{nodes,[{disc,[rabbit@node1]}]},
 {running_nodes,[rabbit@node1]},
 {cluster_name,<<"rabbit@node1">>},#集群名称
 {partitions,[]}]
...done.

(2)查看node2节点

[root@node2 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@node2 ...
[{nodes,[{disc,[rabbit@node2]}]},
 {running_nodes,[rabbit@node2]},
 {cluster_name,<<"rabbit@node2">>},#集群名称
 {partitions,[]}]
...done.

6、复制node1节点的erlang.cookie到slave节点的/var/lib/rabbitmq/目录

(1)停止node2节点的rabbitmq-server

[root@node2 ~]# systemctl stop rabbitmq-server.service

(2)复制node1节点erlang.cookie

[root@node1 ~]# scp /var/lib/rabbitmq/.erlang.cookie node2:/var/lib/rabbitmq/

(3)启动node2节点rabbitmq-server

[root@node2 ~]# systemctl start rabbitmq-server.service

7、在node2节点停止应用

[root@node2 ~]# rabbitmqctl stop_app
Stopping node rabbit@node2 ...
...done.

8、配置node2加入node1节点

[root@node2 ~]# rabbitmqctl join_cluster rabbit@node1
Clustering node rabbit@node2 with rabbit@node1 ...
...done.
[root@node2 ~]# rabbitmqctl start_app
Starting node rabbit@node2 ...
...done.

9、查看集群状态

(1)查看node1节点集群状态

[root@node1 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@node1 ...
[{nodes,[{disc,[rabbit@node1,rabbit@node2]}]},#集群内的节点
 {running_nodes,[rabbit@node2,rabbit@node1]},#正在运行的节点
 {cluster_name,<<"rabbit@node1">>},
 {partitions,[]}]
...done.

(2)查看node2节点集群状态

[root@node2 ~]# rabbitmqctl cluster_status
Cluster status of node rabbit@node2 ...
[{nodes,[{disc,[rabbit@node1,rabbit@node2]}]},
 {running_nodes,[rabbit@node1,rabbit@node2]},
 {cluster_name,<<"rabbit@node1">>},
 {partitions,[]}]
...done.

(3)在rabbitmq-management接口查看集群状态

输入图片说明

在集群模式中可以通过haproxy的tcp模式来实现对RabbitMQ集群实现负载均衡

本文转载自:http://www.codegreen.cn/archives/0810613.html

共有 人打赏支持
是江山
粉丝 4
博文 44
码字总数 24060
作品 0
苏州
运维
RabbitMQ详解(一)------简介与安装

  RabbitMQ 这个消息中间件,其实公司最近的项目中有用到,但是一直没有系统的整理,最近看完了《RabbitMQ实战 高效部署分布式消息队列》这本书,所以顺便写写。   那么关于 RabbitMQ 是...

ysocean
06/28
0
0
RabbitMQ消息中间件介绍

一、基础介绍 随着分布式应用的发展消息队列中间件成为C/S架构中解耦的一个重要环节,传统的消息传输模型中,C端发出消息,S端必须在线,否则将无法继续进行,而在拥有消息中间件的模型下消息...

qiao645
06/21
0
0
RabbitMQ入门之安装配置与简单实例

简介 由于某些原因,今天接触了一下一个新的东西RabbitMQ( http://www.rabbitmq.com/)总的来说给人的感觉就是安装简单方便,同时功能强大。而且官网也给出了几个相当实用的例子,不管关于消...

墨鱼ID
2012/08/08
0
5
SpringBoot | 第十二章:RabbitMQ的集成和使用

前言 上节讲了缓存数据库的使用,在实际工作中,一般上在系统或者应用间通信或者进行异步通知(登录后发送短信或者邮件等)时,都会使用消息队列进行解决此业务场景的解耦问题。这章节讲解下消...

oKong
07/25
0
0
MQ-RabbitMq部署安装配置

环境准备 本次实验使用的是VMvare虚拟机。详情如下 hostname: node1.server ip地址:192.168.0.150 网卡:eth0,eth1 系统及硬件:CentOS 7.2 内存2G,硬盘50G 一、 什么是RabbitMq 消息队列又...

linuxzkq
06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Web系统大规模并发:电商秒杀与抢购

一、大规模并发带来的挑战 在过去的工作中,我曾经面对过5w每秒的高并发秒杀功能,在这个过程中,整个Web系统遇到了很多的问题和挑战。如果Web系统不做针对性的优化,会轻而易举地陷入到异常...

xtof
今天
1
0
代码质量管理平台-sonarqube

在工作中,往往开发的时候会不怎么注重代码质量的人很多,存在着很多的漏洞和隐患等问题,sonarqube可以进行代码质量的审核,而且十分的残酷。。。。。接下来我们说下怎么安装 进入官网下载:...

落叶清风
今天
6
0
在Ubuntu安装和配置Sphinx

Ubuntu系统默认是配置有sphinx的,先检查一下,别多此一举。。。。。 在开始本指南之前,您需要: 一个Ubuntu 16.04服务器。 sudo的一个非root用户,您可以通过以下设置本教程 。 安装在服务...

阿锋zxf
今天
1
0
Qt编写输入法V2018超级终结版

对于qt嵌入式linux开发人员来说,输入法一直是个鸡肋问题,要么不支持实体键盘同步,要么不能汉字输入,要么不支持网页输入等,这几年通过陆续接触大量的各种输入法应用场景客户,得到真实需...

飞扬青云
今天
2
0
TypeScript基础入门之高级类型的多态的 this类型

转发 TypeScript基础入门之高级类型的多态的 this类型 高级类型 多态的this类型 多态的this类型表示的是某个包含类或接口的子类型。 这被称做F-bounded多态性。 它能很容易的表现连贯接口间的...

durban
今天
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部