Centos-7 安装 RabbitMQ

RabbitMQ 的特性

RabbitMQ使用Erlang语言编写,使用Mnesia数据库存储消息。

  1. 可靠性,RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认
  2. 灵活的路由 ,在消息进入队列之前,通过 Exchange 来路由消息的。
  3. 消息集群 ,多个RabbitMQ服务器可以组成一个集群,形成一个逻辑Broker
  4. 高可用,队列可以再集群中的机器上进行镜像,使得部分节点出问题的情况下队列仍然可用
  5. 多种协议,支持AMQP,STOMP,MQTT
  6. 管理界面,提供了一个易用的用户界面,使得用户可以监控和管理消息,集群中的节点
  7. 插件机制

工作模型

概念解释
Broker即RabbitMQ的实体服务器。提供一种传输服务,维护一条从生产者到消费者的传输线路,保证消息数据能按照指定的方式传输。
Exchange消息交换机。指定消息按照什么规则路由到哪个队列Queue。
Queue消息队列。消息的载体,每条消息都会被投送到一个或多个队列中。
Binding绑定。作用就是将Exchange和Queue按照某种路由规则绑定起来。
Routingkey路由关键字。Exchange根据Routing Key进行消息投递。定义绑定时指定的关键字称为Binding Key。
Vhost虚拟主机。一个Broker可以有多个虚拟主机,用作不同用户的权限分离。一个虚拟主机持有一组Exchange、Queue和Binding。
Producer消息生产者。主要将消息投递到对应的Exchange上面。一般是独立的程序。
Consumer消息消费者。消息的接收者,一般是独立的程序。
ConnectionProducer 和 Consumer 与Broker之间的TCP长连接。
Channel消息通道,也称信道。在客户端的每个连接里可以建立多个Channel,每个Channel代表一个会话任务。在RabbitMQ Java Client API中,channel上定义了大量的编程接口。

安装 RabbitMQ

安装环境 Centos-7

安装 Erlang

wget http://www.rabbitmq.com/releases/erlang/erlang-19.0.4-1.el6.x86_64.rpm
rpm -ivh erlang-19.0.4-1.el6.x86_64.rpm

安装 RabbitMQ

下载rabbitmq 并 安装

wget https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el6.noarch.rpm
rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
rpm -ivh rabbitmq-server-3.6.12-1.el6.noarch.rpm

问题解决

如果出现 依赖检测失败:
error: Failed dependencies:
        socat is needed by rabbitmq-server-3.6.12-1.el6.noarch

或者

error: Failed dependencies:
        erlang >= R16B-03 is needed by rabbitmq-server-3.6.12-1.el6.noarch

解决报错:

wget –no-cache http://www.convirture.com/repos/definitions/rhel/6.x/convirt.repo -O /etc/yum.repos.d/convirt.repo
yum makecache -y
yum install socat -y
如果出现 yum 源有问题,

无法安装:将CentOS的yum源更换为国内的阿里云源

File contains no section headers.
file: file:///etc/yum.repos.d/convirt.repo, line: 1
'<html>\r\n'

解决报错

rm -f /etc/yum.repos.d/*
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all

配置

创建rabbitmq的配置文件,并允许guest进行登录
vi /etc/rabbitmq/rabbitmq.config
[{rabbit, [{loopback_users, []}]}].
更改rabbitmq的环境变量
vi /etc/rabbitmq/rabbitmq-env.conf
RABBITMQ_MNESIA_BASE=/guaoran/rabbitmq/mnesia
RABBITMQ_LOG_BASE=/guaoran/rabbitmq/log
创建数据目录和log目录
mkdir -pv /guaoran/rabbitmq/log
chown -R rabbitmq:rabbitmq /guaoran/rabbitmq
启用management插件
rabbitmq-plugins enable rabbitmq_management

如果报错

Plugin configuration unchanged.

Applying plugin configuration to rabbit@localhost... failed.
 * Could not contact node rabbit@localhost.
   Changes will take effect at broker restart.
 * Options: --online  - fail if broker cannot be contacted.
            --offline - do not try to contact broker

解决方案

vi /etc/selinux/config

SELINUX=disabled

重启系统 reboot 问题解决

sestatus 查看是否已修改成功

添加用户 root
rabbitmqctl add_user guaoran guaoran
rabbitmqctl set_user_tags guaoran administrator  
rabbitmqctl set_permissions -p / guaoran '.*' '.*' '.*'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值