返回顶部
首页 > 资讯 > 数据库 >如何运行和管理RabbitMQ
  • 669
分享到

如何运行和管理RabbitMQ

2024-04-02 19:04:59 669人浏览 独家记忆
摘要

小编给大家分享一下如何运行和管理RabbitMQ,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!RabbitMQ服务管理启动Rab

小编给大家分享一下如何运行和管理RabbitMQ,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

RabbitMQ服务管理

启动RabbitMQ应用程序和Erlang节点

# /etc/init.d/rabbitMQ-server start

停止RabbitMQ应用程序和Erlang节点

# /etc/init.d/rabbitmq-server stop

或者

# rabbitmqctl stop

只启动/停止RabbitMQ应用

[root@localhost ~]# rabbitmqctl stop_app

[root@localhost ~]# rabbitmqctl start_app

启用管理插件

#rabbitmq-plugins enable rabbitmq_management

RabbitMQ configuration file

RabbitMQ的配置文件有两个

  • 一个是环境变量的配置文件 rabbitmq-env.conf ;

  • 一个是配置信息的配置文件 rabbitmq.config;

注意,这两个文件默认是没有的,如果需要必须自己创建。RabbitMQ如果是用RPM包安装的,那么它的配置文件目录为/etc/rabbitmq,我们需要在此目录下手动创建rabbitmq.config文件和rabbitmq-env.conf文件,并更改这两个文件的属主属组为rabbitmq

[root@localhost rabbitmq]# ll
total 12
-rw-r--r-- 1 root     root     23 Nov 10 18:37 enabled_plugins
-rw-r--r-- 1 rabbitmq rabbitmq 36 Nov 10 18:35 rabbitmq.config
-rw-r--r-- 1 rabbitmq rabbitmq 80 Nov 10 18:35 rabbitmq-env.conf

rabbitmq-env.conf

这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。
文件的内容包括了RabbitMQ的一些环境变量,常用的有:

RABBITMQ_nodeNAME=FZTEC-240088 节点名称
RABBITMQ_NODE_IP_ADDRESS=127.0.0.1 监听IP
RABBITMQ_NODE_PORT=5672 监听端口
RABBITMQ_LOG_BASE=/data/rabbitmq/log 日志目录
RABBITMQ_PLUGINS_DIR=/data/rabbitmq/plugins 插件目录
RABBITMQ_MNESIA_BASE=/data/rabbitmq/mnesia 后端存储目录

rabbitmq.config

这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
它既有默认的目录,也可以在rabbitmq-env.conf文件中配置,该文件结构为哈希数组格式

例如:

[
{mnesia, [{dump_log_write_threshold, 1000}]},
{rabbit, [{vm_memory_high_watermark, 0.4}]}
{rabbitmq_management,
[{listener, [{port, 55673},
{ip, "0.0.0.0"}
]}
]}
].

mnesia指的是Mnesia数据库配置选项,Mnesia是RabbitMQ用来存储交换器和队列元数据的

rabbit指的是RabbitMQ特定的配置选项,每个选项的表达式都为{[option_name],[option_value]}。

Mnesia配置选项:

dump_log_write_threshold:默认值为100,将仅限追加的日志内容刷出/转储至真实的数据库文件的频度,它明确指定了在转储操作发生前,必须有多少个条目存储在日志中。设置更高的数值将减少I/O负载并增加持久化消息的性能。

Rabbit配置选项:

tcp_listeners:            默认值[{"0.0.0.0",5672},],定义了RabbitMQ应该监听的非SSL加密通信的IP地址和端口
{“ip地址”,“端口号”}数组
ssl_listeners:             默认值为空,定义了RabbitMQ应该监听的SSL加密通信的IP地址和端口
{“ip地址”,“端口号”}数组
ssl_options:    默认值为空,指定SSL相关的选项,有cacertfile(CA证书文件),keyfile(密钥文件)和fail_if_no_peer_cert(客户端有效证书)
{“键”,“值”}数组
vm_memory_high_watermark: 默认值0.4  控制RabbitMQ允许消耗的的内存百分比,0.4=40%
十进制数值
msg_store_file_size_limit: 默认值16777216  RabbitMQ垃圾收集存储内容之前,消息存储数据库的最大大小
整型  单位字节B
queue_index_max_journal_entries: 默认值262144  在转储到消息存储数据库并提交之前,消息存储数据库的最大大小
整型

其他参数:

disk_free_limit 磁盘低水位线,若磁盘容量低于指定值则停止接收数据,默认值为{mem_relative, 1.0},即与内存相关联1:1,也可定制为多少byte.
hipe_compile 将部分rabbimq代码用High PerfORMance Erlang compiler编译,可提升性能,该参数是实验性,若出现erlang vm segfaults,应关掉。
force_fine_statistics, 该参数属于rabbimq_management,若为true则进行精细化的统计,但会影响性能。

RabbitMQ两个配置文件的更多详细信息请参考官网

Http://www.rabbitmq.com/configure.html#configuration-file

RabbitMQ用户管理

添加用户:

rabbitmqctl add_user [username]  [passWord]

例如:

rabbitmqctl add_user pms pms

将用户的tags设置为administrator,注意,这一步非常重要,否则无法使用创建的用户通过web浏览器登录并管理MQ服务

rabbitmqctl set_user_tags pms administrator

删除用户:

rabbitmqctl  delete_user [username]

注意:当删除用户时,任何引用该用户的访问控制条目都会从Rabbit权限数据库中删除中自动删除。同事rabbit不会警告你与用户相关的访问控制条目也会一并被删除。

修改用户密码:

rabbitmqctl  change_password  Username  Newpassword

列出用户

rabbitmqctl  list_users

更改密码

rabbitmqctl change_password  [username] [newpasswd]

RabbitMQ权限管理

RabbitMQ权限分类

  • 读:有关消费消息的任何操作,包括清除整个队列(需要绑定操作成功)

  • 写:发布消息(需要绑定操作成功)

  • 配置:队列和交换器的创建和删除

权限设置:

rabbitmqctl set_permissions -p [vhost_name] [user_name] [config] [write] [read]

例1:

rabbitmqctl set_permissions -p / guest ".*" ".*" ".*"

-p / :表示对/ 虚拟主机设置权限,如何省略vhost,默认为“/”虚拟主机

guest:对guest用户设置权限

后面的三个".*"分别对应配置、写、读的权限

“.*”为正则表达式,指代所有权限,".*"意味着匹配所有交换器和队列。这样就允许guest用户对/ 虚拟主机的所有队列和交换器执行配置、写、读命令。

例2:

# rabbitmqctl set_permissions -p / aaa "" "check-.*" ".*"
Setting permissions for user "aaa" in vhost "/" ...

对“/”虚拟主机赋予 aaa用户不能配置,限制只能对以“check-”开头的队列和交换器写操作,对所有队列和交换器可读的操作的权限。

查看权限

rabbitmqctl list_permissions -p [vhost_name]
rabbitmqctl list_permissions -p /
Listing permissions in vhost "/" ...
guest   .*      .*      .*
spms    .*      .*      .*
aaa             check-.*        .*

删除权限

rabbitmqctl clear_permissions -p [vhost_name] [user_name]

例如:

rabbitmqctl clear_permissions -p / aaa 
Clearing permissions for user "aaa" in vhost "/" ...
[root@localhost ~]# rabbitmqctl list_permissions -p /
Listing permissions in vhost "/" ...
guest   .*      .*      .*
spms    .*      .*      .*

MQ 用户角色
按照个人理解,用户角色可分为五类,超级管理员, 监控者, 策略制定者, 普通管理者以及其他。
(1) 超级管理员(administrator)
可登陆管理控制台(启用management plugin的情况下),可查看所有的信息,并且可以对用户,策略(policy)进行操作。
(2) 监控者(monitoring)
可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)
(3) 策略制定者(policymaker)
可登陆管理控制台(启用management plugin的情况下), 同时可以对policy进行管理。但无法查看节点的相关信息(上图红框标识的部分)。与administrator的对比,administrator能看到这些内容。
(4) 普通管理者(management)
仅可登陆管理控制台(启用management plugin的情况下),无法看到节点信息,也无法对策略进行管理。
(5) 其他
无法登陆管理控制台,通常就是普通的生产者和消费者。

以上是“如何运行和管理RabbitMQ”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: 如何运行和管理RabbitMQ

本文链接: https://lsjlt.com/news/67170.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 如何运行和管理RabbitMQ
    小编给大家分享一下如何运行和管理RabbitMQ,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!RabbitMQ服务管理启动Rab...
    99+
    2024-04-02
  • win11如何以管理员运行
    要以管理员身份运行Windows 11中的应用程序或命令,可以采取以下几种方法:1. 使用右键菜单:在应用程序图标或命令上右键单击,...
    99+
    2023-08-20
    win11
  • win7如何以管理员身份运行
    要以管理员身份运行Win7中的程序或命令,您可以按照以下步骤操作:1. 找到您要运行的程序或命令的快捷方式或可执行文件。2. 右键单...
    99+
    2023-09-02
    win7
  • 如何以管理员身份运行电脑
    这篇文章主要讲解了“如何以管理员身份运行电脑”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何以管理员身份运行电脑”吧!下面以win7为例:在左侧打开“开始”菜单,选择“运行”程序。打开运行...
    99+
    2023-06-27
  • 如何改善化工行业运费管理
    一.  化工行业运输管理的特点化工企业的成品、大宗原料在运输方式的选择上,由于环保和安全的考虑,大多是公路运输方式,运输方式的限制导致运输成本较高。有些原材料比如,海盐、煤炭、矿石大都通过火车、专用槽灌车、轮船运输,有时是火车、货...
    99+
    2023-06-05
  • win10如何以管理员身份运行cmd
    本文小编为大家详细介绍“win10如何以管理员身份运行cmd”,内容详细,步骤清晰,细节处理妥当,希望这篇“win10如何以管理员身份运行cmd”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。win10以管理员身份...
    99+
    2023-07-01
  • Docker运行时的用户与组如何管理
    这篇文章主要介绍了Docker运行时的用户与组如何管理的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Docker运行时的用户与组如何管理文章都会有所收获,下面我们一起来看看吧。...
    99+
    2024-04-02
  • 如何以管理员权限运行Linux命令
    这篇文章主要介绍“如何以管理员权限运行Linux命令”,在日常操作中,相信很多人在如何以管理员权限运行Linux命令问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何以管理员权限运行Linux命令”的疑惑有所...
    99+
    2023-06-16
  • 如何使bat批处理以管理员权限运行
    这篇文章给大家分享的是有关如何使bat批处理以管理员权限运行的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、第一种方法有的电脑是非管理员登录,运行程序时,需要提示是否运行运行。解决方法如下:@ ech...
    99+
    2023-06-08
  • 如何用管理员身份运行Win8开始屏幕?win8管理员身份运行Metro应用教程
    很多人都清楚如何用管理员身份运行Win7,但是如果你遇见了Win8好像就没那么轻松。触屏的设计的Win8系统很容易让人忘记了这是微软的编程。微软设计的Win8开始屏幕又称为Modern,并且分为单个运行和设置一管理员身份...
    99+
    2023-06-06
    Win8 管理员 开始屏幕 Metro 身份 ?win8 屏幕
  • 如何理解SpringBoot核心运行原理和运作原理源码
    如何理解SpringBoot核心运行原理和运作原理源码,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。SpringBoot核心运行原理Spr...
    99+
    2024-04-02
  • windows以管理员身份运行和普通运行有哪些区别
    本篇内容介绍了“windows以管理员身份运行和普通运行有哪些区别”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!以管理员身份运行和普通运行区...
    99+
    2023-07-01
  • 如何用管理员身份运行Win8开始屏幕运行所有Metro应用
    很多人都清楚如何用管理员身份运行Win7,但是如果你遇见了Win8好像就没那么轻松。触屏的设计的Win8系统很容易 情况一:单个Metro应用 在所有应用界面,对着程序单击鼠标右键,左侧底部会出现“以管理员身...
    99+
    2023-06-06
    管理员身份 Win8 开始屏幕 Metro 屏幕 身份 管理员
  • MySQL 8.0.11 innodb cluster运维管理中如何进行备份
    本篇文章为大家展示了MySQL 8.0.11 innodb cluster运维管理中如何进行备份,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。MySQL 8.0.1...
    99+
    2024-04-02
  • 如何利用运维面板进行数据库一键安装和管理?
    数据库的管理维护工具非常多,除了系统自带的命令行管理工具之外,还有许多其他的管理工具,MySQL是一个非常流行的小型关系型数据库管理系统,2008年1月16号被Sun公司收购。目前MySQL被广泛地应用在Internet上的中小型 网站中。...
    99+
    2020-09-09
    如何利用运维面板进行数据库一键安装和管理?
  • Win11管理员运行cmd位置在哪?Win11管理员运行cmd位置介绍
      Win11管理员运行cmd位置在哪?Win11电脑中新用户不知道管理员运行cmd位置是在哪里,这时候用户打开Win11电脑,点击开始菜单中的搜索框,然后输入cmd搜索,最后选择以管理员身份运行即可,以下就是小编给大家...
    99+
    2023-06-13
    Win11管理员 运行cmd位置
  • MySQL如何进行管理
    本篇内容主要讲解“MySQL如何进行管理”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL如何进行管理”吧! 对于内容驱动的...
    99+
    2024-04-02
  • mysql管理中的运行权限
    mysql管理中的运行权限,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 mysql 管理:mysql 运行权限...
    99+
    2024-04-02
  • 如何自动以管理员身份运行批处理bat文件
    这篇文章给大家分享的是有关如何自动以管理员身份运行批处理bat文件的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。但是,批处理脚本不会默认已管理员身份运行,一般情况下,我会将脚本命名为"XXXXXX(请右...
    99+
    2023-06-08
  • 如何以管理员身份运行cmd命令提示符
    小编给大家分享一下如何以管理员身份运行cmd命令提示符,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!以管理员身份运行cmd命令提示符的方法:1、点击开始菜单,打开所有应用;2、打开windows系统文件夹,右键点击命令提示...
    99+
    2023-06-13
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作