RabbitMQ环境搭建(一)

2022-03-29 15:59:23 浏览数 (1)

什么是RabbitMQ

在主流的MQ消息队列中,主要具体是Kafka和RabbitMQ,RabbitMQ消息队列是基于AMQP的协议来实现,AMQP的协议主要是面向消息,队列,路由以及发布/订阅的模式,同时AMQP在可靠性和安全性方面是非常具备优势的。AMQP的协议主要应用于企业级的领域,对数据一致性,稳定性,可靠性要求很高的场景,这也是侧面说明了RabbitMQ消息队列中间件也是具备这方面的特性,不过比起Kafka消息的高性能,和高吞吐量而言是比较逊色的。RabbitMQ具体就是开源的消息队列服务器,主要是基于AMQP的协议来实现,使用Erlang语言编写(该语言主要应用于路由器开发编程领域)。

Erlang安装

https://github.com/erlang/otp/releases/download/OTP-23.3.4.10/otp_src_23.3.4.10.tar.gz的地址下载安装包,下载成功后进行解压,具体操作如下:

代码语言:javascript复制
tar zxvf otp_src_23.0.tar.gz  -C /usr/local/src/
#解压后,显示如下
[root@centos-master ~]# cd /usr/local/src/
[root@centos-master src]# ls
otp_src_23.0

解压成功后,下来进行编译以及具体的安装,安装使用到的命令是make & make install,具体如下:

代码语言:javascript复制
#编译前需要安装第三方的库
yum -y install ncurses-devel
#进入到otp_src_23.0的目录下,下来开始编译安装,具体如下
./configure --prefix=/usr/local/erlang
make && make install 

#配置erlang环境
export ERLANG_HOME=/usr/local/erlang
export PATH=$PATH:$ERLANG_HOME/bin:

#验证erl的环境
[root@centos-master ~]# erl 
Erlang/OTP 23 [erts-11.0] [source] [64-bit] [smp:2:2] [ds:2:2:10] [async-threads:1]

Eshell V11.0  (abort with ^G)
1> io:format("Hello World")

备注:如上主要显示了Erlang环境的安装过程以及验证该环境是否已搭建好。

安装RabbitMQ

下载安装包后,下来就是解压以及启动具体的服务,这里需要特别的说明,RabbitMQ使用的端口是5672,控制台服务使用的端口是15672,所以这两个端口是不能被占用的。

代码语言:javascript复制
[root@centos-master mq]# xz -d rabbitmq-server-generic-unix-3.8.6.tar.xz 
[root@centos-master mq]# ls
otp_src_23.0.tar.gz  rabbitmq-server-generic-unix-3.8.6.tar
[root@centos-master mq] tar xvf rabbitmq-server-generic-unix-3.8.6.tar  -C /usr/local/
#修改名称
mv rabbitmq_server-3.8.6/ rabbitmq

下来演示服务启动的服务以及验证服务是否启动,具体如下:

代码语言:javascript复制
[root@centos-master sbin]# ./rabbitmq-server  start 
Configuring logger redirection

  ##  ##      RabbitMQ 3.8.6
  ##  ##
  ##########  Copyright (c) 2007-2020 VMware, Inc. or its affiliates.
  ######  ##
  ##########  Licensed under the MPL 2.0. Website: https://rabbitmq.com

  Doc guides: https://rabbitmq.com/documentation.html
  Support:    https://rabbitmq.com/contact.html
  Tutorials:  https://rabbitmq.com/getstarted.html
  Monitoring: https://rabbitmq.com/monitoring.html

  Logs: /usr/local/rabbitmq/var/log/rabbitmq/rabbit@centos-master.log
        /usr/local/rabbitmq/var/log/rabbitmq/rabbit@centos-master_upgrade.log

  Config file(s): (none)

  Starting broker... completed with 0 plugins.

#后台启动方式
sbin/rabbitmq-server start  -detached
#查看监听的端口信息
[root@centos-master ~]# lsof -i:5672
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
beam.smp 11970 root   96u  IPv6  66897      0t0  TCP *:amqp (LISTEN)

备注:如上可以看到我们的服务已经被启动成功。

创建账户

首先RabbitMQ它有默认的用户,默认的用户是guest/guest,下来创建新的控制台的账户,但是创建的用户也得具备管理员的账户,具体操作如下:

代码语言:javascript复制
[root@centos-master sbin]# rabbitmqctl add_user wuya java
Adding user "wuya" ...
[root@centos-master sbin]# rabbitmqctl set_user_tags wuya  administrator
Setting tags for user "wuya" to [administrator] ...

#创建用户成功后,需要给具体的操作权限
[root@centos-master sbin]# rabbitmqctl set_permissions -p / wuya  ".*" ".*" ".*" 
Setting permissions for user "wuya" in vhost "/" ...

启用WEB控制台

下来我们启用RabbitMQ的WEB控制台,一般我们都是使用的是控制台来进行运维管理维护,以及消息的查看,启动WEB控制台具体操作如下:

代码语言:javascript复制
[root@centos-master sbin]# rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@centos-master:
rabbitmq_management
The following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
Applying plugin configuration to rabbit@centos-master...
The following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch

started 3 plugins.

下来访问http://101.**.***84:15672/ 访问WEB控制台,显示如下:

下来使用刚才创建的用户登录进去,登录进去后,显示主界面具体如下:

如上所示,我们的RabbitMQ消息队列服务器的环境已搭建好。

0 人点赞