• RabbitMQ环境搭建(一)


    一、什么是RabbitMQ      

            在主流的MQ消息队列中,主要具体是Kafka和RabbitMQ,RabbitMQ消息队列是基于AMQP的

    协议来实现,AMQP的协议主要是面向消息,队列,路由以及发布/订阅的模式,同时AMQP在可靠性

    和安全性方面是非常具备优势的。AMQP的协议主要应用于企业级的领域,对数据一致性,稳定性,

    可靠性要求很高的场景,这也是侧面说明了RabbitMQ消息队列中间件也是具备这方面的特性,不过

    比起Kafka消息的搞性能,和高吞吐量而言是比较损色的。RabbitMQ具体就是开源的消息队列服务

    器,主要是基于AMQP的协议来实现,使用Erlang语言编写(该语言主要应用于路由器开发编程领域)。

    二、RabbitMQ搭建

    2.1、Erlang安装

            到https://github.com/erlang/otp/releases/download/OTP-23.3.4.10/otp_src_23.3.4.10.tar.gz

    的地址下载安装包,下载成功后进行解压,具体操作如下:

    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,具体如下:

    #编译前需要安装第三方的库
    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环境的安装过程以及验证该环境是否已搭建好。

    2.2、安装RabbitMQ

             下载安装包后,下来就是解压以及启动具体的服务,这里需要特别的说明,RabbitMQ使用的

    端口是5672,控制台服务使用的端口是15672,所以这两个端口是不能被占用的。

    [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

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

    [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)

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

    2.3、创建账户

            首先RabbitMQ它有默认的用户,默认的用户是guest/guest,下来创建新的控制台的账户,但是创建的

    用户也得具备管理员的账户,具体操作如下:

    [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 "/" ...

    2.4、启用WEB控制台

           下来我们启用RabbitMQ的WEB控制台,一般我们都是使用的是控制台来进行运维管理维护,以及

    消息的查看,启动WEB控制台具体操作如下:

    [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消息队列服务器的环境已搭建好。下来查看RabbitMQ生产者消费者模型(二)

  • 相关阅读:
    SpringBoot配置默认日志logback
    SpringBoot静态资源映射、拦截器、过滤器使用
    windows系统安装两个Mysql服务
    SpringBoot使用Jsp开发Web项目
    SpringBoot使用Thymeleaf开发Web项目
    SpringBoot启动原理
    javascript Date
    UDP发送数据测试
    自动迁移
    EF 自测例子
  • 原文地址:https://www.cnblogs.com/weke/p/15835109.html
Copyright © 2020-2023  润新知