乐趣区

关于rabbitmq:RabbitMQ-安装使用攻略

MQ 有哪些?当今市面上有很多支流的消息中间件,如老牌的 ActiveMQ、RabbitMQ,煊赫一时的 Kafka(大数据,高效,安全性低),阿里巴巴自主开发 RocketMQ(OPPO 用的 RocketMQ)等。

不同 MQ 的特点

  1. ActiveMQ JMS java13 种标准 (接口) 之一(jdbc)

ActiveMQ 是 Apache 出品,最风行的,能力强劲的开源音讯总线。
它是一个齐全反对 JMS 标准的的消息中间件。丰盛的 API,
多种集群架构模式让 ActiveMQ 在业界成为老牌的消息中间件, 在中小型企业颇受欢迎!

  1. Kafka

Kafka 是 LinkedIn 开源的分布式公布 - 订阅音讯零碎,
目前归属于 Apache 顶级我的项目。Kafka 次要特点是基于 Pull 的模式来解决音讯生产,
谋求高吞吐量,一开始的目标就是用于日志收集和传输。
0.8 版本开始反对复制,不反对事务,对音讯的反复、失落、谬误没有严格要求,
适宜产生大量数据的互联网服务的数据收集业务。

  1. RocketMQ

RocketMQ 是阿里开源的消息中间件,
它是纯 Java 开发,具备高吞吐量、高可用性、适宜大规模分布式系统利用的特点。
RocketMQ 思路起源于 Kafka,
但并不是 Kafka 的一个 Copy,它对音讯的牢靠传输及事务性做了优化,
目前在阿里团体被广泛应用于交易、充值、流计算、音讯推送、日志流式解决、binglog 散发等场景。

  1. RabbitMQ (平安)

RabbitMQ 是应用 Erlang 语言开发的开源音讯队列零碎,
基于 AMQP 协定来实现。AMQP 的次要特色是面向音讯、队列、路由(包含点对点和公布 / 订阅)、可靠性、平安。
AMQP 协定更多用在企业零碎内对数据一致性、稳定性和可靠性要求很高的场景,对性能和吞吐量的要求还在其次。

RabbitMQ 比 Kafka 牢靠,Kafka 更适宜 IO 高吞吐的解决,个别利用在大数据日志解决或对实时性(大量提早),可靠性(大量丢数据)要求稍低的场景应用,比方 ELK 日志收集。

RabbitMQ 的装置
(1)下载
官网下载地址: https://www.rabbitmq.com/down…

(2)下载的安装包

留神: 这里的安装包是 centos7 装置的包

(3)装置步骤

1. 将 rabbitmq 安装包上传到 linux 零碎中

erlang-22.0.7-1.el7.x86_64.rpm #erlang 环境
socat-1.7.3.2-2.el7.x86_64.rpm #内存治理依赖
rabbitmq-server-3.7.18-1.el7.noarch.rpm

2. 装置 Erlang 依赖包

rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm
rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm

3. 装置 RabbitMQ 安装包(须要联网)

yum install -y rabbitmq-server-3.7.18-1.el7.noarch.rpm

留神: 默认装置实现后配置文件模板在:
/usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example 目录中,
须要将配置文件复制到 /etc/rabbitmq/ 目录中, 并批改名称为 rabbitmq.config

4. 复制配置文件

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

5. 查看配置文件地位

ls /etc/rabbitmq/rabbitmq.config

6. 批改配置文件(参见下图:):61 查看 61 行

vim /etc/rabbitmq/rabbitmq.config


7. 执行如下命令, 启动 rabbitmq 中的插件治理

rabbitmq-plugins enable rabbitmq_management

呈现如下阐明:

Enabling plugins on node rabbit@localhost:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@localhost...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

set 3 plugins.
Offline change; changes will take effect at broker restart.

8. 启动 RabbitMQ 的服务

systemctl start rabbitmq-server
systemctl restart rabbitmq-server
systemctl stop rabbitmq-server

留神:如果启动呈现问题
Job for rabbitmq-server.service failed because the control process exited with error code
须要批改主机名

查看本机主机名 
    hostname 
批改主机名
  hostnamectl set-hostname  主机名  

10. 敞开防火墙服务

systemctl stop firewalld
systemctl disable firewalld

  Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
  Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

11. 拜访 web 治理界面(192.168.5.128 是我本人的 ip 地址)

http:// 192.168.5.128:15672/

12. 登录治理界面 默认的

username: guest
password: guest

敞开 RabbitMQ 之后

systemctl stop rabbitmq-server

前端界面

4、RabbitMQ 配置

1. 服务启动相干

systemctl start|restart|stop|status rabbitmq-server

2. 治理命令行 用来在不应用 web 治理界面状况下命令操作 RabbitMQ

rabbitmqctl help 能够查看更多命令

3. 插件治理命令行

rabbitmq-plugins enable|list|disable

5、web 治理界面介绍
(1)overview 概览

connections:无论生产者还是消费者,都须要与 RabbitMQ 建设连贯后才能够实现音讯的生产和生产,在这里能够查看连贯状况

channels:通道,建设连贯后,会造成通道,音讯的投递获取依赖通道。

Exchanges:交换机,用来实现音讯的路由

Queues:队列,即音讯队列,音讯寄存在队列中,期待生产,生产后被移除队列。

(2)设置用户名和明码

下面的 Tags 选项,其实是指定用户的角色,可选的有以下几个:

超级管理员 (administrator) 可登陆治理控制台,可查看所有的信息,并且能够对用户,策略 (policy) 进行操作。

监控者 (monitoring) 可登陆治理控制台,同时能够查看 rabbitmq 节点的相干信息(过程数,内存应用状况,磁盘应用状况等)

策略制定者 (policymaker) 可登陆治理控制台, 同时能够对 policy 进行治理。但无奈查看节点的相干信息(上图红框标识的局部)。

一般管理者 (management) 仅可登陆治理控制台,无奈看到节点信息,也无奈对策略进行治理。

其余无奈登陆治理控制台,通常就是一般的生产者和消费者。

(3)新建虚拟主机
虚拟主机:为了让各个用户能够互不烦扰的工作,RabbitMQ 增加了虚拟主机(Virtual Hosts)的概念。其实就是一个独立的拜访门路,不同用户应用不同门路,各自有本人的队列、交换机,相互不会影响。

(4)绑定虚拟主机和用户
创立好虚拟主机,咱们还要给用户增加拜访权限:

点击增加好的虚拟主机:

进入虚拟机设置界面:

设置胜利后

关键词:java 培训

退出移动版