文档章节

RabbitMQ-消息中间件安装介绍

是江山
 是江山
发布于 2017/08/18 17:58
字数 1052
阅读 21
收藏 0
点赞 0
评论 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消息中间件介绍

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

qiao645 ⋅ 前天 ⋅ 0

消息中间件—RabbitMQ(集群监控篇1)

摘要:任何没有监控的系统上线,一旦在生产环境发生故障,那么排查和修复问题的及时性将无法得到保证 一、为何要对消息中间件进行监控? 上线的业务系统需要监控,然而诸如消息队列、数据库、...

癫狂侠 ⋅ 05/28 ⋅ 0

消息中间件—RabbitMQ(初探篇)

文章摘要:本篇文章为RabbitMQ的入门文章,不像其他一些程序代码和应用实战性的文章会带着大家从一个“Hello World”的简单例子出发,在该篇幅中主要给大家讲下RabbitMQ消息队列的起源、为何...

癫狂侠 ⋅ 05/23 ⋅ 0

消息中间件—RabbitMQ(集群原理与搭建篇)

摘要:实际生产应用中都会采用消息队列的集群方案,如果选择RabbitMQ那么有必要了解下它的集群方案原理 一般来说,如果只是为了学习RabbitMQ或者验证业务工程的正确性那么在本地环境或者测试...

癫狂侠 ⋅ 05/25 ⋅ 0

Spring Boot+RabbitMQ学习笔记

RabbitMQ RabbitMQ 是一个由 Erlang 语言开发的 的开源实现。最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。 消息队列 先从基础开始,加...

听_风 ⋅ 06/07 ⋅ 0

SpringBoot笔记(十一)RabbitMQ

安装Erlang RabbitMQ基于Erlang,所以得先安装Erlang http://www.erlang.org/downloads 根据自己的系统选择下载,安装完了,配置一下path即可 windows默认安装路径: 验证: 有时候可能需要重...

世外大帝 ⋅ 04/25 ⋅ 0

【Spring Cloud】分布式必学springcloud(十一)——消息驱动 SpringCloud Stream

一、前言 在前面的博客中,基本上已经把springcloud系列的大部分都介绍过了。如果有太明白的小白,还是建议从小编的第一篇博客进行学习。 在这篇博客中,小白向大家介绍一个消息事件驱动框架...

kisscatforever ⋅ 04/26 ⋅ 0

springboot之RabbitMQ详解

RabbitMQ 即一个消息队列,主要是用来实现应用程序的异步和解耦,同时也能起到消息缓冲,消息分发的作用。 消息中间件在互联网公司的使用中越来越多,消息中间件最主要的作用是解耦,中间件最...

无语年华 ⋅ 05/30 ⋅ 0

RabbitMQ与消息队列模式

MQ全称为Message Queue,消息队列是应用程序和应用程序之间的通信方法; RabbitMQ是开源的,实现了AMQP协议的,采用Erlang(面向并发编程语言)编写的,可复用的企业级消息系统; AMQP(高级消...

Java技术汇 ⋅ 05/15 ⋅ 0

介绍Spring Cloud Stream与RabbitMQ集成

Spring Cloud Stream是一个建立在Spring Boot和Spring Integration之上的框架,有助于创建事件驱动或消息驱动的微服务。在本文中,我们将通过一些简单的例子来介绍Spring Cloud Stream的概念...

RaiseHead ⋅ 05/13 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

win10怎么彻底关闭自动更新

win10自带的更新每天都很多,每一次下载都要占用大量网络,而且安装要等得时间也蛮久的。 工具/原料 Win10 方法/步骤 单击左下角开始菜单点击设置图标进入设置界面 在设置窗口中输入“服务”...

阿K1225 ⋅ 今天 ⋅ 0

Elasticsearch 6.3.0 SQL功能使用案例分享

The best elasticsearch highlevel java rest api-----bboss Elasticsearch 6.3.0 官方新推出的SQL检索插件非常不错,本文一个实际案例来介绍其使用方法。 1.代码中的sql检索 @Testpu...

bboss ⋅ 今天 ⋅ 0

informix数据库在linux中的安装以及用java/c/c++访问

一、安装前准备 安装JDK(略) 到IBM官网上下载informix软件:iif.12.10.FC9DE.linux-x86_64.tar放在某个大家都可以访问的目录比如:/mypkg,并解压到该目录下。 我也放到了百度云和天翼云上...

wangxuwei ⋅ 今天 ⋅ 0

PHP语言系统ZBLOG或许无法重现月光博客的闪耀历史[图]

最近在写博客,希望通过自己努力打造一个优秀的教育类主题博客,名动江湖,但是问题来了,现在写博客还有前途吗?面对强大的自媒体站点围剿,还有信心和可能型吗? 至于程序部分,我选择了P...

原创小博客 ⋅ 今天 ⋅ 0

IntelliJ IDEA 2018.1新特性

工欲善其事必先利其器,如果有一款IDE可以让你更高效地专注于开发以及源码阅读,为什么不试一试? 本文转载自:netty技术内幕 3月27日,jetbrains正式发布期待已久的IntelliJ IDEA 2018.1,再...

Romane ⋅ 今天 ⋅ 0

浅谈设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 在工厂模式中,我们在创建对象时不会对客户端暴露创建逻...

佛系程序猿灬 ⋅ 今天 ⋅ 0

Dockerfile基础命令总结

FROM 指定使用的基础base image FROM scratch # 制作base image ,不使用任何基础imageFROM centos # 使用base imageFROM ubuntu:14.04 尽量使用官方的base image,为了安全 LABEL 描述作...

ExtreU ⋅ 昨天 ⋅ 0

存储,对比私有云和公有云的不同

导读 说起公共存储,很难不与后网络公司时代的选择性外包联系起来,但尽管如此,它还是具备着简单和固有的可用性。公共存储的名字听起来也缺乏专有性,很像是把东西直接堆放在那里而不会得到...

问题终结者 ⋅ 昨天 ⋅ 0

C++难点解析之const修饰符

C++难点解析之const修饰符 c++ 相比于其他编程语言,可能是最为难掌握,概念最为复杂的。结合自己平时的C++使用经验,这里将会列举出一些常见的难点并给出相应的解释。 const修饰符 const在c...

jackie8tao ⋅ 昨天 ⋅ 0

聊聊spring cloud netflix的HystrixCommands

序 本文主要研究一下spring cloud netflix的HystrixCommands。 maven <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-clo......

go4it ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部