本次实在centos7上面安装rabbitmq的操作流程。

image.png

1.安装rabbitmq-server

简单的一条命令就可以安装rabbitmq。

yum -y install rabbitmq-server

image.png

2.配置消息队列服务启动和开机启动

systemctl enable rabbitmq-server.service
systemctl start rabbitmq-server.service

3.添加并配置openstack 用户权限

配置命令:
新建用户:rabbitmqctl add_user [username] [password]
赋予角色:rabbitmqctl set_user_tags [username] [permission]


rabbitmqctl add_user openstack 123456
rabbitmqctl set_permissions openstack ".*" ".*" ".*"

image.png

说明:
是rabbitmq服务为openstack用户设置的密码, 本次该密码设置为123456(openstack的账户密码设置中,不支持特殊符号#;openstack对密码的复杂度没有要求,可以设置为不带特殊字符的密码;若在设置密码时,一定要包含特殊符号,openstack仅支持如下如下特殊字符:& = $ - _ . + ! * ( ) )。。

3.1 rabbitmq角色

RabbitMQ中主要有administrator,monitoring,policymaker,management,impersonator,none几种角色。

默认的用户guest是administrator角色,新建的用户没有设置角色,即为none。

  • none
    不能访问 management plugin

  • management
    用户可以通过AMQP做的任何事
    列出自己可以通过AMQP登入的virtual hosts
    查看自己的virtual hosts中的queues, exchanges 和 bindings
    查看和关闭自己的channels 和 connections
    查看有关自己的virtual hosts的“全局”的统计信息,包含其他用户在这些virtual hosts中的活动

  • policymaker
    management可以做的任何事
    查看、创建和删除自己的virtual hosts所属的policies和parameters

  • monitoring
    management可以做的任何事
    列出所有virtual hosts,包括他们不能登录的virtual hosts
    查看其他用户的connections和channels
    查看节点级别的数据如clustering和memory使用情况
    查看真正的关于所有virtual hosts的全局的统计信息

  • administrator
    policymaker和monitoring可以做的任何事
    创建和删除virtual hosts
    查看、创建和删除users
    查看创建和删除permissions
    关闭其他用户的connections

3.2 rabbitmq用户限权

赋予权限

rabbitmqctl set_permissions -p "/" [username] "[Configure regexp]" "[Write regexp]" "[Read regexp]"
  • Configure regexp(.*):可配置权限
  • Write regexp(.*):可写权限
  • Read regexp(.*):可读权限

4.启动rabbitmq-manager 插件

rabbitmq-plugins enable rabbitmq_management

image.png

说明:
启动了插件后,可以在浏览器访问rabbitmq服务。访问地址 http://<controller_IP>:15672;用户名guest, 密码guest。

image.png

image.png

5.优化rabbitmq

修改rabbitmq默认参数;编辑文件 /usr/lib/systemd/system/rabbitmq-server.service 在service模块下添加如下参数:

[service] 
LimitNOFILE=16384

image.png

6.重启服务。

systemctl daemon-reload
systemctl restart rabbitmq-server

7.常用命令

7.1 列出所有插件

rabbitmq-plugins list

image.png

7.2 列出所有用户

rabbitmqctl list_users

image.png

7.3 修改用户密码

rabbitmqctl change_password user sercert

7.4 查看所有队列信息

rabbitmqctl list_queues

7.5 关闭应用

rabbitmqctl stop_app

7.6 启动应用

和上述关闭命令配合使用,达到清空队列的目的

rabbitmqctl start_app

7.7 清除所有队列

rabbitmqctl reset

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

只有把抱怨环境的情绪,化为上进的力量,才是成功的保证!