zoukankan      html  css  js  c++  java
  • centos安装rabbitmq

    RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。RabbitMQ据说具有良好的性能和时效性,同时还能够非常好的支持集群和负载部署,非常适合在较大规模的分布式系统中使用,具体特性还在验证中,待检验。由于项目需要,安装并配置了RabbitMQ,服务器操作系统是CentOS7。

    v基础知识

    什么是消息队列(Message Queue)?

    消息(Message)

    网络中的两台计算机或者两个通讯设备之间传递的数据。例如说:文本、音乐、视频等内容。

    队列(Queue)

    一种特殊的线性表(数据元素首尾相接),特殊之处在于只允许在首部删除元素和在尾部追加元素。入队、出队。

    消息队列(MQ)

    消息+队列,保存消息的队列。消息的传输过程中的容器;主要提供生产、消费接口供外部调用做数据的存储和获取。

    MQ分类

    MQ主要分为两类:点对点(p2p)、发布订阅(Pub/Sub)

    共同点:

    消息生产者生产消息发送到queue中,然后消息消费者从queue中读取并且消费消息。

    不同点:

    p2p模型包括:消息队列(Queue)、发送者(Sender)、接收者(Receiver)

    一个生产者生产的消息只有一个消费者(Consumer)(即一旦被消费,消息就不在消息队列中)。比如说打电话。

    Pub/Sub包含:消息队列(Queue)、主题(Topic)、发布者(Publisher)、订阅者(Subscriber)。每个消息可以有多个消费者,彼此互不影响。比如我发布一个微博:关注我的人都能够看到。

    那么在大数据领域呢,为了满足日益增长的数据量,也有一款可以满足百万级别消息的生成和消费,分布式、持久稳定的产品——RabbitMQ。

    v安装依赖项

    RabbitMQ使用erlang语言开发,所以我们首先安装erlang.

    rpm -Uvh http://www.rabbitmq.com/releases/erlang/erlang-18.1-1.el7.centos.x86_64.rpm

    centos安装rabbitmq

    RabbitMQ是基于erlang的,所以RabbitMQ和erlang版本要对应,要不然有可能安装失败。 RabbitMQ Erlang Version Requirements — RabbitMQ

    vInstall RabbitMQ-Server

    rpm -Uvh http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.6/rabbitmq-server-3.5.6-1.noarch.rpm

    centos安装rabbitmq

    安装好了之后,验证是否安装成功。rpm -qa|grep rabbitmq

    centos安装rabbitmq

    启动MQ:service rabbitmq-server start

    重启MQ:service rabbitmq-server restart

    关闭MQ:service rabbitmq-server stop

    查看状态:rabbitmqctl status

    v维护插件

    先启动MQ,然后安装维护插件。rabbitmq-plugins enable rabbitmq_management

    这个命令的作用是安装RabbitMq的一个管理插件

    查看安装的插件rabbitmq-plugins list

    centos安装rabbitmq

    安装好了以后就可以通过在浏览器访问 http://ip:15672进入一个管理界面。

    centos安装rabbitmq

    v远程访问

    这时候登录会提示login failed

    需要开启远程访问授权。

    cd /etc/rabbitmq

    cp /usr/share/doc/rabbitmq-server-3.5.6/rabbitmq.config.example /etc/rabbitmq/

    mv rabbitmq.config.example rabbitmq.config

    vim /etc/rabbitmq/rabbitmq.config

    在rabbitmq.config中添加 {loopback_users, []}

    centos安装rabbitmq

    用户名和密码默认都是guest,登录后显示如下:

    centos安装rabbitmq

    关于RabbitMQ Management更多介绍,可以看看这里。 SpringBoot(二十三)集成RabbitMQ---浅谈RabbitMQ Management

    v用户管理

    新增一个用户 rabbitmqctl add_user Username Password

    设置admin rabbitmqctl set_user_tags Username administrator

    用户角色大致可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。

    超级管理员(administrator):

    可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。

    监控者(monitoring)

    可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

    策略制定者(policymaker)

    可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。与administrator的对比,administrator能看到这些内容

    普通管理者(management)

    仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。

    其他

    无法登陆管理控制台,通常就是普通的生产者和消费者。

    删除一个用户 rabbitmqctl delete_user Username

    修改用户的密码 rabbitmqctl change_password Username Newpassword

    查看当前用户列表 rabbitmqctl list_users

    其他参考资料:


    作  者:请叫我头头哥
    出  处:http://www.cnblogs.com/toutou/
    关于作者:专注于基础平台的项目开发。如有问题或建议,请多多赐教!
    版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接。
    特此声明:所有评论和私信都会在第一时间回复。也欢迎园子的大大们指正错误,共同进步。或者直接私信
    声援博主:如果您觉得文章对您有帮助,可以点击文章右下角推荐一下。您的鼓励是作者坚持原创和持续写作的最大动力!

  • 相关阅读:
    十天冲刺---Day10
    十天冲刺---Day9
    团队博客目录
    【Beta阶段】M2事后分析
    【Beta阶段】展示博客
    【Beta阶段】测试报告
    【Beta阶段】发布说明
    【Beta阶段】团队源代码管理
    【Beta阶段】第十次Scrum Meeting!!!
    【Beta阶段】第九次Scrum Meeting!(论坛已成功上线)
  • 原文地址:https://www.cnblogs.com/toutou/p/install_rabbitmq.html
Copyright © 2011-2022 走看看