Centos7安装RabbitMQ详细教程
MQ引言
什么是MQ
MQ:
message Queue
翻译为消息队列
,通过典型的生产者和消费者模型不断向消息队列中生产消息,消费者不断从队列中获取消息。因为消息的生产和消费都是一部的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现了 系统之间的解耦。别名是消息中间件,通过利用高效的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
MQ有哪些种类
当今市场上有很多主流的消息中间件,如ActiveMQ
、RabbitMQ
,比较火的Kafka
,阿里巴巴开发的RocketMQ
等。
MQ 之间的对比
ActiveMQ
ActiveMQ是Apache触屏的,能力枪金的开源消息总线,它是一个完全支持JMS规范的消息中间件,丰富的API,多种集群架构模式让ActiveMQ在业界成为老牌的MQ。
Kafka
Kafka是LinkedIn开源的分布式消息订阅系统,目前归属Apache顶级开源项目Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的摸底就是 用于日志的收集和传输,适合于大数据的互联网的数据收集业务。
RocketMQ
RocketMQ是阿里巴巴开源的消息中间件,他是存Java开发,具有高吞吐量,高可用,适合大规模分布式系统应用的特点,RocketMQ思路起源于Kafka,但并不是Kafka的复制,他对消息的可靠村塾以及事务做了优化,目前在阿里集团被广泛使用。
RabbitMQ
RabbitMQ是使用Erlang语言开发的开源消息队列的系统,基于AMQP的主要特征是面向消息。队列,路由。可靠性。安全。AMQP协议更多用在企业系统内对数据的一致性、稳定性和可靠性要求很高的场景,对性能吞吐量的要求还在其次。
AMQP协议
AMQP协议(adviance queuing protocol)在2003年提出的,最早用于解决金融领域不同平台之间的消息传递问题,顾名思义AMQP是一种协议,更准确的说是一种链路协议,它补充API层进行限定,而是直接定义网络交换的数据格式。这使得实现了AMQP的provider天然性就是跨平台的,一下是AMQP协议类型
官网: https://www.rabbitmq.com/
官方教程: https://www.rabbitmq.com/#getstarted
在Centos7下安装RabbitMQ
因为RabbitMQ是由Erlang语言开发的所以需要安装Erlang的开发环境,再安装RabbitMQ
1、首先下载所需要的安装包
https://wws.lanzous.com/b01hipv8b
密码:4eqm
2、通过Xftp连接到Centos
3、上传安装包到Centos
4、安装Erlang、RabbitMQ
rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm
yum install -y rabbitmq-server-3.7.18-1.el7.noarch.rpm
默认安装完成后配置文件模板在:
/usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example
要复制一份到自己设置的路径下,这里是事先创建好的 /usr/local/rabbitmq
cp /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example /usr/local/rabbitmq/
cd /usr/local/rabbitmq
mv rabbitmq.config.example rabbitmq.config
5、修改配置文件
vim rabbitmq.config
然后保存退出
6、启动rabbitmq插件管理
rabbitmq-plugins enable rabbitmq_management
7、启动RabbitMQ
systemctl start rabbitmq-server # 启动rabbitmq服务
systemctl restart rabbitmq-server # 重启服务
systemctl stop rabbitmq-server # 停止服务
8、是否启动成功
systemctl status rabbitmq-server
9、访问web管理界面
输入你的 ip:15672
进入如下界面
用户名是:guest
密码也是:guest
然后就进入了首页
最后聊一下中间遇到的问题以及是如何解决的?
注意:
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.
刚开始启动的时候出现了这个错误,当然没启动成功,然后输入
journalctl -xe
查看日志信息如下:
主要看error那句;解决方法,修改/etc/hosts文件加上 host后面的域名,设置对应的ip地址。
然后再启动就没错了,如果日志显示的是
Error: This RabbitMQ version cannot run on Erlang 19.0.4 (erts 8.0.3): minimum required version is 19.3 (erts 8.3)
那就代表是版本问题,表示Erlang和RabbitMQ版本不兼容去换版本吧!
Centos7安装RabbitMQ详细教程的更多相关文章
- Centos7安装Typecho详细教程
Centos7安装Typecho详细教程 首先搭建LAMPH环境 L linux 服务器(centos或者ubunt) .A Apache .M mysql .P PHP 安装Apache.PHP ...
- linux 安装rabbitMQ详细教程
经过第一次的安装失败, 第二次总算是成功了, 这里总结一下. 第一步:下载版本对应的rpm安装包 1. 下载Erlang安装包:RabbitMQ是Erlang语言编写,所以Erang环境必须要有,注: ...
- centos7安装wordpress详细教程
安装之前:建议安装各种软件 [root@localhost ~]# yum -y install wget zip unzip net-tools 一.安装apache 测试环境建议关闭防火墙和SEL ...
- Centos7 安装python3详细教程,解决升级后不兼容问题
一.确认当前python版本 [root@centos Python-3.6.1]# python Python 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC ...
- centos7安装puppet详细教程(简单易懂,小白也可以看懂的教程)
简介: Puppet是一种linux.unix平台的集中配置管理系统,使用ruby语言,可配置文件.用户.cron任务.软件包.系统服务等.Puppet把这些系统实体称之为资源,它的设计目标是简化对这 ...
- 在linux下安装配置rabbitMQ详细教程
在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...
- 安装WordPress详细教程指南
最近准备自己建一个个人博客,以便分享一些自己工作生活中的一些观点及经验,建博客当然选wordpress,毕竟wordpress是为博客而生的嘛.下边记录一下自己安装WordPress的详细过程指南,亦 ...
- Ubuntu下安装JDK详细教程
Ubuntu下安装JDK详细教程 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ Ubuntu版本:Ubuntu-12.04.5-desktop-i386 ...
- Windows下安装MySQL详细教程
Windows下安装MySQL详细教程 1.安装包下载 2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 (7 ...
随机推荐
- 【题解】CIRU - The area of the union of circles [SP8073] \ 圆的面积并 [Bzoj2178]
[题解]CIRU - The area of the union of circles [SP8073] \ 圆的面积并 [Bzoj2178] 传送门: \(\text{CIRU - The area ...
- 题解-FJOI2018 领导集团问题
题面 FJOI2018 领导集团问题 给一棵树 \(T(|T|=n)\),每个点有个权值 \(w_i\),从中选出一个子点集 \(P=\{x\in {\rm node}|x\in T\}\),使得 \ ...
- hive行存储与列存储
首先判断hive表是行存储还是列存储 判断方法: 1.使用hiveSQL"show create table table_name",这种方式,可以查看建表时候指定的那种方式; 2 ...
- [日常摸鱼]bzoj1001狼抓兔子-最大流最小割
题意就是求最小割- 然后我们有这么一个定理(最大流-最小割定理 ): 任何一个网络图的最小割中边的容量之和等于图的最大流. (下面直接简称为最大流和最小割) 证明: 如果最大流>最小割,那把这些 ...
- [日常摸鱼]UVA393 The Doors 简单计算几何+最短路
The Boy Next Doors 题意:给定一个固定大小的房间($x,y$的范围都是$[0,10]$),有$n$个墙壁作为障碍(都与横坐标轴垂直),每个墙壁都有两扇门分别用四个点来描述,起点 ...
- Arduino PROGMEM 从程序空间读取float值的方法
方法: 使用avr-libc提供的宏定义: #define pgm_read_float_near(address_short) __LPM_float((uint16_t)(address_shor ...
- RHCE <复习RHSCA>
什么是shell? shell是你(用户)和Linux(或者更准确的说,是你和Linux内核)之间的接口程序,你在提示符下输入的每个命令都由shell先解释然后传给Linux内核. bash 是大多数 ...
- C#中RDLC报表判断某字段的值为null
=iif(Isnothing(Fields!VerifyStateName.Value),"未上报",Fields!VerifyStateName.Value) 空值时赋予默认 ...
- SpringBoot进阶教程(六十八)Sentinel实现限流降级
前面两篇文章nginx限流配置和SpringBoot进阶教程(六十七)RateLimiter限流,我们介绍了如何使用nginx和RateLimiter限流,这篇文章介绍另外一种限流方式---Senti ...
- ARP局域网断网攻击
Kali--ARP局域网攻击 什么是ARP? ARP ( Address Resolution Protocol)地址转换协议,工作在OSI模型的数据链路层,在以太网中,网络设备之间互相通信是用MAC ...