zoukankan      html  css  js  c++  java
  • Centos7安装RabbitMQ详细教程

    MQ引言

    什么是MQ

    MQ:message Queue翻译为消息队列,通过典型的生产者和消费者模型不断向消息队列中生产消息,消费者不断从队列中获取消息。因为消息的生产和消费都是一部的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现了 系统之间的解耦。别名是消息中间件,通过利用高效的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。

    MQ有哪些种类

    当今市场上有很多主流的消息中间件,如ActiveMQRabbitMQ,比较火的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版本不兼容去换版本吧!

    Erlang与RabbitMQ版本对照表

  • 相关阅读:
    ffmpeg使用中文使用+解释
    CentOS GCC升级到4.6.1(转)
    C#委托与直接调用方法区别
    微软面试题,倒置数组
    MSDN中介绍的图片格式
    你们的学校是几流
    VS代码模版
    正则表达式
    Visual Studio 2010中添加项目模板
    泛型详解
  • 原文地址:https://www.cnblogs.com/itjiangpo/p/14181356.html
Copyright © 2011-2022 走看看