zoukankan      html  css  js  c++  java
  • rabbitmq常见运维命令和问题总结

    常见运维命令作用:

    yum安装erlang的环境配置:

    ERLANG_HOME=/usr/lib64/erlang
    export PATH=$PATH:$ERLANG_HOME/bin

    常见rabbitmq server命令:

    service rabbitmq-server   start
    service rabbitmq-server   stop
    service rabbitmq-server   status
    service rabbitmq-server   rotate-logs|
    service rabbitmq-server   restart
    service rabbitmq-server   condrestart
    service rabbitmq-server   try-restart
    service rabbitmq-server   reload
    service rabbitmq-server   force-reload
    
    ps -ef | grep rabbitmq  查看rabbitMq进程
    
    kill -9 pid
    
    netstat -anplt | grep LISTEN  rabbitmq默认监听端口15672/5672
    

    然后开启rabbitmq web管理页面插件:

    rabbitmq-plugins enable rabbitmq_management

    查看相应端口占用

    [yf482@bogon rabbitmq]$ sudo netstat -lnutp |grep 15672
    tcp 0 0 0.0.0.0:15672 0.0.0.0:* LISTEN 8794/erl

    管理员账号
    rabbitmqctl add_user rabbitadmin 123456

    [yf482@bogon rabbitmq]$ sudo rabbitmqctl add_user rabbitadmin 123456
    Creating user "rabbitadmin"

    分配用户标签-设置为管理用户

    rabbitmqctl set_user_tags rabbitadmin administrator

    [yf482@bogon rabbitmq]$ sudo rabbitmqctl set_user_tags rabbitadmin administrator 
    Setting tags for user "rabbitadmin" to [administrator] 

    创建和赋角色完成后查看并确认存在用户: guest是默认用户 密码为guest
    因为缺省的guest/guet 用户只能在本地豋录,所以先用命令行创建一个admin/admin123,并让他成为管理员
    rabbitmqctl list_users

    [yf482@bogon rabbitmq]$ sudo rabbitmqctl list_users 
    Listing users
    rabbitadmin [administrator]
    guest   [administrator]

    删除一个用户:

    sh-4.1# rabbitmqctl list_users
    Listing users ...
    admin    [administrator]
    guest    [administrator]
    sh-4.1# rabbitmqctl delete_user guest
    Deleting user "guest" ...
    sh-4.1# rabbitmqctl list_users
    Listing users ...
    admin    [administrator]

    修改用户的密码:

    sh-4.1# rabbitmqctl change_password admin admin@test
    Changing password for user "admin" ...

    查看所有队列消息:

    sh-4.1# rabbitmqctl list_queues
    Listing queues ...

    清除所有队列:

    sh-4.1# rabbitmqctl reset

    发现问题:刚装的rabbitmq无法用guest豋录

    [root@NB ok]# rabbitmqctl add_user admin admin@test
    Creating user “admin” …

    新增用户,但并没有设置角色的情况下,也不能用网页来管理,只有设置角色后才可以

    [root@NB ok]# rabbitmqctl set_user_tags admin administrator
    Setting tags for user "admin" to [administrator] ...

    登录rabbitmq管理界面

    浏览器输入地址:http://服务器IP地址:15672/ 端口 15672是默认配置,修改在配置文件改。

    用户名密码:rabbitadmin/123456

    如果主机配有防火墙,要把用到的端口都打开

    -A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 25672 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 4369 -j ACCEPT
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 5671 -j ACCEPT

    web管理

    Rabbitmq服务器的主要通过rabbitmqctl和rabbimq-plugins两个工具来管理,以下是一些常用功能。

    所有指令列表(很简单的英文):
    add_user        <UserName> <Password>
    delete_user     <UserName>
    change_password <UserName> <NewPassword>
    list_users
    add_vhost    <VHostPath>
    delete_vhost <VHostPath>
    list_vhosts
    set_permissions   [-p <VHostPath>] <UserName> <Regexp> <Regexp> <Regexp>
    clear_permissions [-p <VHostPath>] <UserName>
    list_permissions  [-p <VHostPath>]
    list_user_permissions <UserName>
    list_queues    [-p <VHostPath>] [<QueueInfoItem> ...]
    list_exchanges [-p <VHostPath>] [<ExchangeInfoItem> ...]
    list_bindings  [-p <VHostPath>] 
    list_connections [<ConnectionInfoItem> ...]

    1). 服务器启动与关闭

      启动: rabbitmq-server –detached
    
      关闭:rabbitmqctl stop
    
      若单机有多个实例,则在rabbitmqctlh后加–n 指定名称
    

    2). 插件管理

      开启某个插件:rabbitmq-pluginsenable xxx
    
      关闭某个插件:rabbitmq-pluginsdisablexxx
    
      注意:重启服务器后生效。
    

    3).virtual_host管理

      新建virtual_host: rabbitmqctladd_vhost  xxx
    
      撤销virtual_host:rabbitmqctl  delete_vhost xxx
    

    4). 用户管理

      新建用户:rabbitmqctl add_user xxxpwd
    
      删除用户:   rabbitmqctl delete_user xxx
    
      改密码: rabbimqctlchange_password {username} {newpassword}
    
      设置用户角色:rabbitmqctlset_user_tags {username} {tag ...}
    
              Tag可以为 administrator,monitoring, management
    

    5). 权限管理

      权限设置:set_permissions [-pvhostpath] {user} {conf} {write} {read}
    
               Vhostpath
    
               Vhost路径
    
               user
    
      用户名
    
              Conf
    
      一个正则表达式match哪些配置资源能够被该用户访问。
    
              Write
    
      一个正则表达式match哪些配置资源能够被该用户读。
    
               Read
    
      一个正则表达式match哪些配置资源能够被该用户访问。
    

    6). 获取服务器状态信息

       服务器状态:rabbitmqctl status
    
       队列信息:rabbitmqctl list_queues[-p vhostpath] [queueinfoitem ...]
    
                Queueinfoitem可以为:name,durable,auto_delete,arguments,messages_ready,
    
                messages_unacknowledged,messages,consumers,memory
    
       Exchange信息:rabbitmqctllist_exchanges[-p vhostpath] [exchangeinfoitem ...]
    
                 Exchangeinfoitem有:name,type,durable,auto_delete,internal,arguments.
    
       Binding信息:rabbitmqctllist_bindings[-p vhostpath] [bindinginfoitem ...]       
    
                 Bindinginfoitem有:source_name,source_kind,destination_name,destination_kind,routing_key,arguments
    
       Connection信息:rabbitmqctllist_connections [connectioninfoitem ...]
    
       Connectioninfoitem有:recv_oct,recv_cnt,send_oct,send_cnt,send_pend等。
    
       Channel信息:rabbitmqctl  list_channels[channelinfoitem ...]
    
      Channelinfoitem有consumer_count,messages_unacknowledged,messages_uncommitted,acks_uncommitted,messages_unconfirmed,prefetch_count,client_flow_blocked
    

    部分内容参考自:http://blog.csdn.net/mlks_2008/article/details/18988301

    rabbitmq配置

    一般情况下,RabbitMQ的默认配置就足够了。如果希望特殊设置的话,有两个途径:
    一个是环境变量的配置文件 rabbitmq-env.conf ;
    一个是配置信息的配置文件 rabbitmq.config;
    注意,这两个文件默认是没有的,如果需要必须自己创建。
    rabbitmq-env.conf
    这个文件的位置是确定和不能改变的,位于:/etc/rabbitmq目录下(这个目录需要自己创建)。
    文件的内容包括了RabbitMQ的一些环境变量,常用的有:

    #RABBITMQ_NODE_PORT=    //端口号
    #HOSTNAME=
    RABBITMQ_NODENAME=mq
    RABBITMQ_CONFIG_FILE=        //配置文件的路径
    RABBITMQ_MNESIA_BASE=/rabbitmq/data        //需要使用的MNESIA数据库的路径
    RABBITMQ_LOG_BASE=/rabbitmq/log        //log的路径
    RABBITMQ_PLUGINS_DIR=/rabbitmq/plugins    //插件的路径
    具体的列表见:http://www.rabbitmq.com/configure.html#define-environment-variables

    rabbitmq.config
    这是一个标准的erlang配置文件。它必须符合erlang配置文件的标准。
    它既有默认的目录,也可以在rabbitmq-env.conf文件中配置。
    文件的内容详见:http://www.rabbitmq.com/configure.html#config-items

  • 相关阅读:
    Serverless Kubernetes入门:对kubernetes做减法
    Quick BI的宝藏工具——交叉表
    Quick BI的SQL传参建模可以用在什么场景
    Quick BI支持哪些数据源(配置操作篇)
    注册 asp.net IIS
    js Date 生成某年某月的天数
    IOC AOP 设计模式
    stuff for xml path
    使用Sencha Cmd创建脚本框架
    Extjs Ext.TreePanel
  • 原文地址:https://www.cnblogs.com/jpfss/p/10313035.html
Copyright © 2011-2022 走看看