zoukankan      html  css  js  c++  java
  • rabbitmq常用命令行汇总

    最近处理openstack问题时,碰到了rabbitmq相关的问题,使用相关命令行时,经常去现找相关的帖子,感觉很麻烦,记录下自己定位问题时,用到的一些常用命令行,方便以后问题的查找

    1)常用的一些查询和设置命令行

    rabbitmqctl list_queues:查看所有队列信息

    rabbitmqctl stop_app:关闭应用(关闭当前启动的节点)

    rabbitmqctl start_app:启动应用,和上述关闭命令配合使用,达到清空队列的目的

    rabbitmqctl reset:从管理数据库中移除所有数据,例如配置过的用户和虚拟宿主, 删除所有持久化的消息(这个命令要在rabbitmqctl stop_app之后使用),重置以后,用户,虚拟vhost,都会清除

    rabbitmqctl force_reset:作用和rabbitmqctl reset一样,区别是无条件重置节点,不管当前管理数据库状态以及集群的配置。如果数据库或者集群配置发生错误才使用这个最后的手段

    rabbitmqctl status:节点状态

    rabbitmqctl add_user username password:添加用户

    rabbitmqctl list_users:列出所有用户

    rabbitmqctl list_user_permissions username:列出用户权限

    rabbitmqctl change_password username newpassword:修改密码

    rabbitmqctl add_vhost vhostpath:创建虚拟主机

    rabbitmqctl list_vhosts:列出所有虚拟主机

    rabbitmqctl set_permissions -p vhostpath username ".*" ".*" ".*":设置用户权限

    rabbitmqctl list_permissions -p vhostpath:列出虚拟主机上的所有权限

    rabbitmqctl clear_permissions -p vhostpath username:清除用户权限

    rabbitmqctl -p vhostpath purge_queue blue:清除队列里的消息

    rabbitmqctl delete_user username:删除用户

    rabbitmqctl delete_vhost vhostpath:删除虚拟主机

    2)用户管理详解
    1、用户管理
    用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。
    相应的命令
    (1) 新增一个用户
    rabbitmqctl add_user Username Password
    (2) 删除一个用户
    rabbitmqctl delete_user Username
    (3) 修改用户的密码
    rabbitmqctl change_password Username Newpassword
    (4) 查看当前用户列表
    rabbitmqctl list_users

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

    设置用户角色的命令为:
    rabbitmqctl set_user_tags User Tag
    User为用户名, Tag为角色名(对应于上面的administrator,monitoring,policymaker,management,或其他自定义名称)。
    也可以给同一用户设置多个角色,例如
    rabbitmqctl set_user_tags hncscwc monitoring policymaker

    3. 用户权限
    用户权限指的是用户对exchange,queue的操作权限,包括配置权限,读写权限。配置权限会影响到exchange,queue的声明和删除。读写权限影响到从queue里取消息,向exchange发送消息以及queue和exchange的绑定(bind)操作。
    例如: 将queue绑定到某exchange上,需要具有queue的可写权限,以及exchange的可读权限;向exchange发送消息需要具有exchange的可写权限;从queue里取数据需要具有queue的可读权限。详细请参考官方文档中"How permissions work"部分。
    相关命令为:
    (1) 设置用户权限
    rabbitmqctl set_permissions -p VHostPath User ConfP WriteP ReadP
    (2) 查看(指定hostpath)所有用户的权限信息
    rabbitmqctl list_permissions [-p VHostPath]
    (3) 查看指定用户的权限信息
    rabbitmqctl list_user_permissions User
    (4) 清除用户的权限信息
    rabbitmqctl clear_permissions [-p VHostPath] User

    4、设置节点类型

    如果你想更换节点类型可以通过命令修改,如下:
    rabbitmqctl stop_app
    rabbitmqctl change_cluster_node_type dist
    rabbitmqctl change_cluster_node_type ram
    rabbitmqctl start_app


    参考网站:
    https://www.cnblogs.com/wuzhiyuan/p/6856985.html
    https://www.cnblogs.com/java-zhao/p/5670476.html

  • 相关阅读:
    54:代码审计-TP5框架审计写法分析及代码追踪
    53:代码审计-TP5框架及无框架变量覆盖反序列化
    52:代码审计-PHP项目类RCE及文件包含下载删除
    51:代码审计-PHP框架MVC类上传断点调试挖掘
    支配树学习笔记
    模拟费用流学习笔记
    python之元类、双下方法( 双下方法也叫魔术方法、 内置方法)
    java 注解
    java 反射
    java synchronized
  • 原文地址:https://www.cnblogs.com/potato-chip/p/9977386.html
Copyright © 2011-2022 走看看