RabbitMQ两种集群模式配置管理(3)

root@live-mq-01:~# netstat -nplt
Active Internet connections(only servers)
Proto Recv-QSend-QLocal Address          Foreign Address        State      PID/Program name
tcp        0      00.0.0.0:4369            0.0.0.0:*              LISTEN      617/epmd       
tcp        0      00.0.0.0:22              0.0.0.0:*              LISTEN      484/sshd       
tcp        0      00.0.0.0:15672          0.0.0.0:*              LISTEN      2220/beam.smp 
tcp        0      00.0.0.0:10050          0.0.0.0:*              LISTEN      595/zabbix_agentd
tcp        0      00.0.0.0:25672          0.0.0.0:*              LISTEN      2220/beam.smp 
tcp6      0      0:::10050                :::*                    LISTEN      595/zabbix_agentd
tcp6      0      0:::5672                :::*                    LISTEN      2220/beam.smp

打开浏览器,直接访问IP:15672即可看到RabbitMQ的监控画面(输入mq用户和密码),如下:

RabbitMQ两种集群模式配置管理

从图中可以看出集群中的三个节点信息,其中两个内存节点,一个磁盘节点。另外,在memory字段显示了当前内存的使用情况和最高可以使用的内存量,同样在Disk space字段显示了磁盘空间和最低可用的磁盘空间。基于这两点,下面说一下RabbitMQ对内存和磁盘的控制。

一、内存控制

vm_memory_high_watermark该值为内存阈值,默认为0.4。意思为物理内存的40%。40%的内存并不是内存的最大的限制,它是一个发布的节制,当达到40%时Erlang会做GC。最坏的情况是使用内存80%。如果把该值配置为0,将关闭所有的publishing 。

root@live-mq-01:~# rabbitmqctl set_vm_memory_high_watermark 0

Paging内存阈值,该值为默认为0.5,该值为vm_memory_high_watermark的20%时,将把内存数据写到磁盘。

如机器内存16G,当RABBITMQ占用内存1.28G(16*0.4*0.2)时把内存数据放到磁盘。

二、硬盘控制

当RabbitMQ的磁盘空闲空间小于50M(默认),生产者将被BLOCK。

如果采用集群模式,磁盘节点空闲空间小于50M将导致其他节点的生产者都被block。可以通过disk_free_limit来对进行配置。

如果要从远程登录怎么做呢?处于安全考虑,guest这个默认的用户只能通过:15672来登录,其他的IP无法直接用这个guest帐号。这里我们可以通过配置文件来实现从远程登录管理界面,只要编辑/etc/rabbitmq/rabbitmq.config文件(没有就新增),添加以下配置就可以了。


{rabbit,[{tcp_listeners,[5672]},{loopback_users,["mq"]}]} 
].

这个操作在上面配置中都已经做过了。

6)注意事项

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/749f353998a0294ed5b148bae3e50ae6.html