文档章节

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

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

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

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

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

qiao645
06/21
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
RabbitMQ 入门 与 RabbitMQ 在 Spring Boot 中的使用

Message Broker与AMQP简介 Message Broker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景: 消息路由到一个或多个目的地 消息转化为其他的表现方式 执行消息的聚集...

Anur
09/13
0
0
SpringBoot | 第十二章:RabbitMQ的集成和使用

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

oKong
07/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

mybatis学习(1)

JDBC连接方式: 1.底层没有使用连接池,操作数据库需要频繁的创建和关闭连接,消耗资源。 2.写原生的JDBC代码在JAVA中,一旦需要修改SQL的话(比如表增加字段),JAVA需要整体重新编译,不利...

杨健-YJ
49分钟前
2
0
怎么组织文档

可以从以下几个方面考虑组织文档: ☐ 各种分支的界面截图和对应的类及文件 ☐ 框架或类图 ☐ 流程图 ☐ 时序图 ☐ 注意事项

-___-
今天
4
0
分布式之数据库和缓存双写一致性方案解析

引言 为什么写这篇文章? 首先,缓存由于其高并发和高性能的特性,已经在项目中被广泛使用。在读取缓存方面,大家没啥疑问,都是按照下图的流程来进行业务操作。 但是在更新缓存方面,对于更...

别打我会飞
今天
16
0
我的oracle11G,12c OCM之路

ocm认证感悟 ---------------------- 距离拿到ocm证书已经过了1年的时间,当初拿到证书的心情到现在还记得。其实在每个DBA心里都有一个成为强者的梦想,需要被认可,我也一样。我干过开发,做...

hnairdb
今天
5
1
手动部署kubernetes集群(1.13.1最新版)

一、机器规划 使用五台机子部署k8s集群,规划如下: master节点3台(同时也是etcd节点) node节点2台 ip分配如下: ip:192.168.10.101,主机名:k8s-etcd01 ip:192.168.10.102,主机名:k8s...

人在艹木中
今天
32
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部