RabbitMQ

  • 1、安装依赖环境
  •  1.1、安装编译环境
  •  1.2、安装语言环境
  •  1.3、踩坑注意点
  •  2、RabbitMQ 使用
  •  2.1、安装 RabbitMQ
  •  2.2、修改默认的配置信息
  •  2.3、开启管理界面
  •  2.4、拷贝对应的配置文件
  • 3、管理界面的使用
  •  3.1、用户角色
  •  3.2、添加虚拟空间
  •  3.3、 用户标签说明

1、安装依赖环境

 在虚拟机上完成消息队列的安装和使用,虚拟机使用的是 WMware ,系统镜像使用的是 CentOS7 ,使用其他的环境也可以,之间的步骤类似。

 通过 yum 指令在线安装 g++ 编译环境。

yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make
gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz

 因为 RabbitMQ 使用 Erlang 语言进行开发,因此必须安装语言环境。

  • 下载或上传对应的数据文件准备安装工作。
erlang-18.3-1.el7.centos.x86_64.rpm
socat-1.7.3.2-5.el7.lux.x86_64.rpm
rabbitmq-server-3.6.5-1.noarch.rpm
  • 切换目录安装环境
# 安装
rpm -ivh erlang-18.3-1.el7.centos.x86_64.rpm

  如果出现如下错误:

  • 依赖环境出错: 说明当前的 gblic 版本太低,需要更新到最新的版本。
  • 首先查看当前的版本号:没啥用,知识单纯的看一下是不是版本较低
strings /lib64/libc.so.6 | grep GLIBC
  • 然后对版本进行更新:至少是 2.15 的版本
  • 使用 yum 安装更新依赖
sudo yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlitedevel readline-devel tk-devel gcc make -y
  • 下载 rpm
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-utils-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-static-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-common-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-devel-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/glibc-headers-2.17-55.el6.x86_64.rpm &
wget http://copr-be.cloud.fedoraproject.org/results/mosquito/myrepoel6/epel-6-x86_64/glibc-2.17-55.fc20/nscd-2.17-55.el6.x86_64.rpm
  • 安装 rpm 包:对刚才下载的 2.17 的版本进行安装更新
sudo rpm -Uvh socat-1.7.3.2-1.1.el7.x86_64.rpm --force --nodeps
  • 再次使用指令进行版本查看即可发现版本已经更新到了 2.17 版本了,在去进行语言环境的安装。

java 订阅队列消息 导致cpu_java 订阅队列消息 导致cpu

# 安装
rpm -ivh rabbitmq-server-3.6.5-1.noarch.rpm
  • 打开 rabbit.app 文件,这是配置文件,可在其中修改密码配置等等。现在只需要将 loopbask_users 中的<<'guest'>> 改成 guest 即可。
vim /usr/lib/rabbitmq/lib/rabbitmq_server-3.6.5/ebin/rabbit.app

java 订阅队列消息 导致cpu_java_02

RabbitMQ 可以通过 web 进行管理,因此需要打开管理界面。

rabbitmq-plugins enable rabbitmq_managerment

 需要将 RabbitMQ 的配置文件放置在 /etc 来使配置生效,不然直接打开控制界面将会显示没有在 /etc/rabbitmq 目录下加载到配置文件 rabbitmq.config

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

3、管理界面的使用

  • 在所有的配置工作都完了之后开启服务
systemctl restart rabbitmq_server
  • 进入管理界面
    访问 http://ip地址:15672,进入管理控制台,默认提供一个用户来登陆,登陆后即可进入控制面板。
username: guest
password: guest

java 订阅队列消息 导致cpu_java_03

  • 进入 admin 界面
    都是些直观的窗口操作,这里就不在做叙述,不过需要注意用户身份标签 tag 的选择,在 3.3 会讲到。

java 订阅队列消息 导致cpu_java 订阅队列消息 导致cpu_04

  像 mysql 拥有数据库的概念并且可以指定⽤户对库和表等操作的权限一样,RabbitMQ 也有类似的权限管理; 在 RabbitMQ 中可以虚拟消息服务器 Virtual Host,每个 Virtual Hosts 相当于⼀个相对独⽴的 RabbitMQ 服务器,每个 Virtual Host 之间是相互隔离的。交换机、队列、消息不能互通,一般以 /name 进行定义。

  • 进入 Virtual Host 管理界面

java 订阅队列消息 导致cpu_centos_05

  • 进行用户绑定

java 订阅队列消息 导致cpu_rabbitmq_06

  • 超级管理员(administrator)
    可登陆管理控制台,可查看所有的信息,并且可以对⽤户,策略(policy)进⾏操作。
  • 监控者(monitoring)
    可登陆管理控制台,同时可以查看rabbitmq节点的相关信息(进程数,内存使⽤情况,磁盘使⽤情况等)
  • 策略制定者(policymaker)
    可登陆管理控制台, 同时可以对policy进⾏管理。但⽆法查看节点的相关信息。
  • 普通管理者(management)
    仅可登陆管理控制台,⽆法看到节点信息,也⽆法对策略进⾏管理。
  • 其他
    ⽆法登陆管理控制台,通常就是普通的⽣产者和消费者。