RabbitMQ 集群

前提:根据上一篇MQ配置方式首先配置通一个MQ环境。(本文参考了https://blog.csdn.net/woogeyu/article/details/51119101 和https://blog.csdn.net/wochunyang/article/details/52449559 ,在这里表示感谢)

环境:192.168.1.105 rabbitmqCluster
           192.168.1.106 rabbitmqCluster01

           192.168.1.107 rabbitmqCluster02

1、hostnamectl set-hostname rabbitmqCluster01

     hostnamectl set-hostname rabbitmqCluster02

     hostnamectl set-hostname rabbitmqCluster

2、每台机器都执行nano /etc/hosts,添加下列值(目的是互通)

           192.168.1.105 rabbitmqCluster
           192.168.1.106 rabbitmqCluster01

           192.168.1.107 rabbitmqCluster02

3、将rabbitmqCluster 的/var/lib/rabbitmq/.erlang.cookie 文件内容copy到rabbitmqCluster01 和rabbitmqCluster02 的对应文件。

4、采用从主节点copy的方式保持Cookie的一致性

scp /var/lib/rabbitmq/.erlang.cookie 192.168.1.105:/var/lib/rabbitmq

scp /var/lib/rabbitmq/.erlang.cookie 192.168.1.106:/var/lib/rabbitmq

scp /var/lib/rabbitmq/.erlang.cookie 192.168.1.107:/var/lib/rabbitmq

5、后天启动各节点:

rabbitmq-server -detached (如果已经启动了,则使用rabbitmqctl stop进行关闭

6、集群关联:

在rabbitmqCluster01 和rabbitmqCluster02节点分别执行:

rabbitmqctl stop_app

rabbitmqctl join_cluster rabbit@rabbitmqCluster

rabbitmqctl start_app

7、在rabbitmqCluster节点上执行 rabbitmqctl cluster_status 查看状态

8、如果顺利 可以通过http://192.168.1.105:15672 进行访问

9、添加用户,添加角色,付权限(参考上篇关于RabbitMQ 的)

10、

遇到的问题:

1、Error: unable to connect to nodes [rabbit@rabbitmqCluster]: nodedown


解决方法:将rabbitmqctl join_cluster rabbit@rabbitmqCluster 改为 rabbitmqctl join_cluster rabbit@rabbitmqcluster(注意,操作系统会自动将大写的机器名转换成小写)

通过在网上漫游式的查找问题发现报这个错的还有2中情况会出现报这个错。

1> 没有做上面的第二步。

2> 给rabbitmqcluster 付权限:chmod 600 /var/lib/rabbitmq/.erlang.cookie (源自:https://blog.csdn.net/rznice/article/details/52416051)

3> 没执行第一步(有些环境需要,有些不需要)

2、如果资源消息队列导致内存不足会直接卡死(奔溃),如何治疗呢? 全部节点重启即可。

常用命令:

1>服务器启动与关闭

启动: rabbitmq-server –detached

关闭:rabbitmqctl stop 若单

机有多个实例,则在rabbitmqctlh后加–n 指定名称

2>插件管理(重启服务器后生效)

开启某个插件:rabbitmq-pluginsenable xxx

关闭某个插件:rabbitmq-pluginsdisablexxx

服务器状态:rabbitmqctl status

3>用户管理

新建用户:rabbitmqctl add_user xxxpwd

删除用户: rabbitmqctl delete_user xxx

改密码: rabbimqctlchange_password {username} {newpassword}

设置用户角色:rabbitmqctlset_user_tags {username} {tag ...}

Tag可以为 administrator,monitoring, management

4、 权限管理

权限设置:set_permissions [-pvhostpath] {user} {conf} {write} {read}

Vhostpath Vhost路径

user 用户名

Conf 一个正则表达式match哪些配置资源能够被该用户访问。

Write 一个正则表达式match哪些配置资源能够被该用户读。

查看所有队列信息

rabbitmqctl list_queues
  • 1

关闭应用

rabbitmqctl stop_app
  • 1

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

 rabbitmqctl start_app
  • 1

清除所有队列

rabbitmqctl reset
  • 1

更多用法及参数,可以执行如下命令查看

 rabbitmqctl
  • 1

rabbitmq常用命令

rabbitmq-server start  或者   service rabbitmq-server start     #启动rabbitmq

rabbitmqctl list_exchanges 

rabbitmqctl list_bindings
  • 1
  • 2
  • 3
  • 4
  • 5
rabbitmqctl list_queues #分别查看当前系统种存在的Exchange和Exchange上绑定的Queue信息。

rabbitmqctl status  #查看运行信息

rabbitmqctl stop     #停止运行rabbitmq

rabbitmq-plugins enable rabbitmq_management  


启动rabbitmq的图形管理界面,这个操作必须重启rabbitmq, 然后在web中 http://127.0.0.1:15672 用户名和密码都是g
Read 一个正则表达式match哪些配置资源能够被该用户访问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值