欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。

欢迎跳转到本文的原文链接:https://honeypps.com/mq/rabbitmq-management-of-app-management/


本文主要阐述应用与集群相关的一些操作管理命令,包括关闭、重置、开启服务,还有建立集群的一些信息。有关集群搭建更多的信息可以参考RabbitMQ的安装及集群搭建方法。

rabbitmqctl stop [pid_file]
用于停止运行RabbitMQ的Erlang虚拟机和RabbitMQ服务应用。如果指定了pid_file,还需要等待指定进程的结束。其中pid_file是通过调用rabbitmq-server启动RabbitMQ服务时创建的,默认情况下存放于Mnesia目录中,可以通过RABBITMQ_PID_FILE这个环境变量来改变存放路径。注意,如果是rabbitmq-server –detach启动的RabbitMQ服务则不会生成pid_file这个文件。

示例如下:

[root@node1 ~]# rabbitmqctl stop
/opt/rabbitmq/var/lib/rabbitmq/mnesia/rabbit\@node1.pid
Stopping and halting node rabbit@node1
[root@node1 ~]# rabbitmqctl stop
Stopping and halting node rabbit@node1

rabbitmqctl shutdown
用于停止运行RabbitMQ的Erlang虚拟机和RabbitMQ服务应用。执行这个命令会阻塞直到Erlang虚拟机进程的退出。如果RabbitMQ没有成功关闭,则会返回一个非零值。这个命令和rabbitmqctl stop的不同的是,它不需要指定pid_file而可以阻塞等待指定进程的关闭。

示例如下:

[root@node1 ~]# rabbitmqctl shutdown
Shutting down RabbitMQ node rabbit@node1 running at PID 1706
Waiting for PID 1706 to terminate
RabbitMQ node rabbit@node1 running at PID 1706 successfully shut down

rabbitmqctl stop_app
停止RabbitMQ服务应用,但是Erlang虚拟机还是处于运行状态。此命令优先执行其他管理操作(这些管理操作需要先停止RabbitMQ应用),比如rabbitmqctl reset。

示例如下:

[root@node1 ~]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@node1

rabbitmqctl start_app
启动RabbitMQ应用。此命令典型的用途是在执行了其他管理操作之后,重新启动之前停止的RabbitMQ应用,譬如rabbitmqctl reset。

示例如下:

[root@node1 ~]# rabbitmqctl start_app
Starting node rabbit@node1

rabbitmqctl wait [pid_file]
等待RabbitMQ应用的启动。它会等到pid_file的创建,然后等待pid_file中的所代表的进程启动。当指定的进程没有启动RabbitMQ应用而关闭时将会返回失败。

示例如下:

[root@node1 ~]# rabbitmqctl wait /opt/rabbitmq/var/lib/rabbitmq/mnesia/rabbit\@node1.pid
Waiting for rabbit@node1
pid is 3468
[root@node1 ~]# rabbitmqctl wait /opt/rabbitmq/var/lib/rabbitmq/mnesia/rabbit\@node1.pid
Waiting for rabbit@node1
pid is 3468
Error: process_not_running

rabbitmqctl reset
将RabbitMQ节点重置还原到最初状态,包括从原所在的集群中删除此节点,从管理数据库中删除所有的配置数据,如已配置的用户、vhost等,以及删除所有的持久化消息。执行rabbitmqctl reset命令前必须停止RabbitMQ应用(比如先执行rabbitmqctl stop_app)。

示例如下:

[root@node1 ~]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@node1
[root@node1 ~]# rabbitmqctl reset
Resetting node rabbit@node1

rabbitmqctl force_reset
强制将RabbitMQ节点重置还原到最初状态。不同于rabbitmqctl reset,rabbitmqctl force_reset命令不论当前管理数据库的状态和集群配置是什么,会无条件地重置节点。它只能在数据库或集群配置已损坏的情况下才可使用。与rabbitmqctl reset命令一下,执行rabbitmqctl force_reset命令前必须先停止RabbitMQ应用。

示例如下:

[root@node1 ~]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@node1
[root@node1 ~]# rabbitmqctl force_reset
Forcefully resetting node rabbit@node1

rabbitmqctl rotate_logs {suffix}
指示RabbitMQ节点轮换日志文件。RabbitMQ节点会将原来的日志文件中的内容追加到“原始名称+后缀”的日志文件中,然后再将新的日志内容记录到新创建的日志中(与原日志文件同名)。当目标文件不存在时,将会重新创建。如果不指定suffix,那么则日志文件只是重新打开而不会进行轮换。

示例如下所示,原日志文件为rabbit@node1.log和rabbit@node1-sasl.log,轮换日志之后,原日志文件中的内容就被追加到rabbit@node1.log.1和 rabbit@node1-sasl.log.1日志中,之后重新建立rabbit@node1.log和rabbit@node1-sasl.log文件用来接收新的日志。

[root@node1 rabbitmq]# pwd
/opt/rabbitmq/var/log/rabbitmq
[root@node1 rabbitmq]# ll
-rw-r--r-- 1 root root 1024127 Aug 18 11:56 rabbit@node1.log
-rw-r--r-- 1 root root  720553 Aug 17 19:16 rabbit@node1-sasl.log
[root@node1 rabbitmq]# rabbitmqctl rotate_logs .1
Rotating logs to files with suffix ".1"
[root@node1 rabbitmq]# ll
-rw-r--r-- 1 root root       0 Aug 18 12:05 rabbit@node1.log
-rw-r--r-- 1 root root 1024202 Aug 18 12:05 rabbit@node1.log.1
-rw-r--r-- 1 root root       0 Aug 18 12:05 rabbit@node1-sasl.log
-rw-r--r-- 1 root root  720553 Aug 18 12:05 rabbit@node1-sasl.log.1

rabbitmqctl hipe_compile {directory}
将部分RabbitMQ代码用HiPE(HiPE是指High Performance Erlang ,是Erlang版的JIT)编译,并且将编译后的.beam文件(beam文件是Erlang编译器生成的文件格式,可以直接加载到Erlang虚拟机中运行的文件格式)保存到指定的文件目录中。如果这个目录不存在则会自行创建。如果这个目录中原本有任何.beam文件,则会在执行编译前被删除。如果要使用预编译的这些文件,需要设置RABBITMQ_SERVER_CODE_PATH这个环境变量来指定hipe_compile调用的路径。

示例如下:

[root@node1 rabbitmq]# rabbitmqctl hipe_compile /opt/rabbitmq/tmp/rabbit-hipe/ebin
HiPE compiling:  |---------------------------------------------------------||#########################################################|
Compiled 57 modules in 55s
[root@node1 rabbitmq]# ls /opt/rabbitmq/tmp/rabbit-hipe/ebin
array.beam              proplists.beam                    rabbit_misc.beam
credit_flow.beam        qlc.beam                          rabbit_msg_file.beam
delegate.beam           queue.beam                        rabbit_msg_store.beam
dict.beam               rabbit_amqqueue.beam              rabbit_msg_store_ets_index.beam
file_handle_cache.beam  rabbit_amqqueue_process.beam      rabbit_net.beam
gb_sets.beam            rabbit_basic.beam                 rabbit_queue_index.beam
gb_trees.beam           rabbit_binary_generator.beam      rabbit_reader.beam
gen.beam                rabbit_binary_parser.beam         rabbit_router.beam
gen_fsm.beam            rabbit_channel.beam               rabbit_trace.beam
gen_server2.beam        rabbit_command_assembler.beam     rabbit_variable_queue.beam
lists.beam              rabbit_event.beam                 rabbit_writer.beam
lqueue.beam             rabbit_exchange.beam              rpc.beam
mnesia.beam             rabbit_exchange_decorator.beam    sets.beam
mnesia_lib.beam         rabbit_exchange_type_direct.beam  sofs.beam
mnesia_tm.beam          rabbit_exchange_type_fanout.beam  ssl.beam
orddict.beam            rabbit_exchange_type_topic.beam   ssl_connection.beam
ordsets.beam            rabbit_framing_amqp_0_9_1.beam    ssl_record.beam
pmon.beam               rabbit_guid.beam                  tls_connection.beam
priority_queue.beam     rabbit_limiter.beam               tls_record.beam

欢迎跳转到本文的原文链接:https://honeypps.com/mq/rabbitmq-management-of-app-management/


欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。


RabbitMQ管理(4)——应用管理相关推荐

  1. RabbitMQ学习(七)——权限管理

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/Anumbrella/article/d ...

  2. 03系统多界面_【part two】操作说明——系统管理、公司管理、客户管理

    3.1 系统管理 此模块是系统中的系统管理功能,主要管理系统中的用户.角色等功能. 1.系统用户 2.角色管理 3.操作日志 01 系统用户界面 可根据用户名称进行搜索,点击列表中的禁用.编辑.删除. ...

  3. 风险管理、收尾管理、知识产权管理

    风险管理.收尾管理.知识产权管理 转载于:https://blog.51cto.com/11274708/1762664

  4. 【Linux 内核 内存管理】内存管理架构 ④ ( 内存分配系统调用过程 | 用户层 malloc free | 系统调用层 brk mmap | 内核层 kmalloc | 内存管理流程 )

    文章目录 一.内存分配系统调用过程 ( 用户层 | 系统调用 | 内核层 ) 二.内存管理流程 一.内存分配系统调用过程 ( 用户层 | 系统调用 | 内核层 ) " 堆内存 " ...

  5. 缺乏管理思想的管理软件是没有灵魂的

    上个世纪90年代中期,为了推进我国企业管理信息化,寻求更大的企业发展空间,一批具有一定规模的财务软件公司纷纷转向企业管理软件,大量冠名为某某管理的软件产品迅速涌现,同时国际管理软件巨头纷纷抢滩国内市场 ...

  6. Oracle本地管理对照数据字典管理表空间

    Locally vs. Dictionary Managed Tablespaces 整理自:http://www.orafaq.com/node/3. When Oracleallocates sp ...

  7. 【Linux】15_软件管理RPM包管理

    目录 RPM包 YUM工具的RPM包管理 RPM工具管理RPM包 RPM包 RPM(原Red Hat Package Manager,现在是一个递归缩写),由 Red Hat 公司提出,被众多 Lin ...

  8. Linux学习之用户管理和组管理

    一.Linux系统上用户和用户组类别 用户类别 1.管理员 uid=0 2.普通用户 id:1~65535 2.1.系统用户 id:1~499,一般不允许登陆系统 2.2.一般用户 id:500~60 ...

  9. 信息系统项目管理师:第4章:项目整体管理与变更管理(2)

    三.指导与管理项目工作(Direct and Manage Project Work) 1.内容(了解) 开展活动实现项目目标-有限的成本.工期要求下,完成满足要求的质量 实施已列入计划的方法和标准 ...

  10. 笔记-项目范围管理-需求工程-需求管理

    1. 需求管理(Requirements Management,REQM) Requirements management is the process of documenting,analyzin ...

最新文章

  1. 山东计算机类好的民办大学,山东四大坑人学校-山东坑人的民办大学(野鸡大学)...
  2. dask想说爱你不容易
  3. 解决Excel打开UTF-8编码的CSV文件乱码的问题 实测好用
  4. java知识积累——单元测试和JUnit(二)
  5. Windows 命令终端(CMD)的快捷键
  6. 英伟达宣布与GSK AI实验室达成合作,研发药物和疫苗
  7. QQ5.0左侧滑动显示效果
  8. 力扣-179 最大数
  9. 大华监控摄像机接入到小程序、公众号、网站视频直播配置流程
  10. github 仓库中文名_github仓库的使用
  11. iwconfig使用
  12. [RPA之家]UiPath程序设计文档
  13. js 移动端的表情包
  14. 阿里面试官没想到一个ArrayList,我都能跟他扯半小时
  15. 腾讯视频qlv格式转换成mp4格式的的简单方法!
  16. python——【1】gzip压缩文件
  17. Mac访达显示隐藏文件
  18. [转]netstat -tnl 列出监听中的连接,查看端口是否开启
  19. 成为会带团队的技术人 跨团队:没有汇报线的人和事就是推不动?
  20. centos 7 安装时忘记打开网络导致开机网络无法自启动解决办法

热门文章

  1. 搜索专题:bfs和dfs
  2. 覆盖网络 Flannel 0.7
  3. 公用技术——设计模式5——创建型模式——建造者模式——待补充
  4. python 导入numpy 导致多进程绑定同一个CPU问题解决方法
  5. ngnix的upstream模块配置详解
  6. 『教程』Batch Normalization 层介绍
  7. VS2010+WinXP+MFC程序 无法定位程序输入点于动态链接库
  8. hdu 2196(树的最长链)
  9. 结构体之位域全面分析
  10. Linux的命令组成