RabbitMQ常用命令
以守护进程的方式在后台运行
rabbitmq-server -detached
查看状态
rabbitmqctl status
查看集群状态
rabbitmqctl cluster_status
查看插件列表
rabbitmq-plugins list
开启管理端口
rabbitmq-plugins enable rabbitmq_management
添加账号:
rabbitmqctl add_user <username> <password>
例
rabbitmqctl add_user "admin" "admin"
赋予admin在“/”下面的全部资源的配置和读写权限。
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
添加 权限tag(设置角色)
rabbitmqctl set_user_tags admin administrator
删除用户(删除guest用户)
rabbitmqctl delete_user guest
查看当前用户列表
rabbitmqctl list_users
修改用户的密码
rabbitmqctl change_password admin password
诊断信息
rabbitmq-diagnostics status
rabbitmq-diagnostics status -n rabbit@remote-host.local
erlang cookie文件
rabbitmq-diagnostics erlang_cookie_sources
集群变更操作
一、 将内存节点rabbitmq3改为磁盘节点
在rabbitmq3上操作
[root@rabbitmq3 ~]# rabbitmqctl stop_app
[root@rabbitmq3 ~]# rabbitmqctl change cluster node type disc
[root@rabbitmq3 ~]# rabbitmqctl start app
确认
[root@rabbitmq3 ~]# rabbitmqctl cluster_status
二、 剔除某个节点
以剔除rabbitmq3为例
方法1. 在rabbitmq3上操作
[root@rabbitmq3 ~]# rabbitmqctl stop app
[root@rabbitmq3 ~]# rabbitmqctl reset
该命令将清空节点的状态 并将其恢复到空白状态。
当reset的节点是集群中的一部分时,该命令也会和集群中的磁盘节点进行通信,告诉它们该节点正在离开集群。不然集群会认为该节点出了故障,并期望其最终能够恢复过来。
方法2. 在rabbitmq1或者rabbitmq2上操作
[root@rabbitmq1~]# rabbitmqctl forget cluster_node rabbit@rabbitmq3
三、 rabbitmq4 新实例加入集群
[root@rabbitmq4 ~]# rabbitmqctl join cluster rabbit@rabbitmq1
[root@rabbitmq4 ~]# rabbitmqctl start app