CentOS7 搭建RabbitMQ集群 后台管理 历史消费记录查看

心理学哲学批判性思维 2017-12-26

简介

通过 Erlang 的分布式特性(通过 magic cookie 认证节点)进行 RabbitMQ 集群,各 RabbitMQ 服务为对等节点,即每个节点都提供服务给客户端连接,进行消息发送与接收。这些节点通过RabbitMQ HA 队列(镜像队列)进行消息队列结构复制。本方案中搭建 3 个节点,并且都是磁盘节点(所有节点状态保持一致,节点完全对等),只要有任何一个节点能够工作,RabbitMQ 集群对外就能提供服务。

1. 安装erlang,参考:http://fedoraproject.org/wiki/EPEL/FAQ#howtouse

rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm
yum install erlang

2. 安装rabbitmq

# 下载rpm安装包<br />wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-3.6.6-1.el7.noarch.rpm
# 安装<br />yum install rabbitmq-server-3.6.6-1.el7.noarch.rpm
# 启动rabbitmq服务<br />service rabbitmq-server start
# 查看服务状态<br />service rabbitmq-server status
# 开放rabbitmq的使用,默认用户guest,密码guest<br />cd /etc/rabbitmq/
vi rabbitmq.config<br /><br /># 再打开的窗口中新增内容如下:<br />[{rabbit, [{loopback_users, []}]}].
# 重启服务<br />service rabbitmq-server stop
service rabbitmq-server start
# 开放5672端口访问<br />firewall-cmd --zone=public --add-port=5672/tcp --permanent
firewall-cmd --reload

3. 开启后台UI管理插件

rabbitmq-plugins enable rabbitmq_management
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --reload<br /><br /># 以上完成后即可访问:http://{host}:15672

4. 开启消费记录日志功能

# 启用记录插件

rabbitmq-plugins enable rabbitmq_tracing

# 启用跟踪记录

rabbitmqctl trace_on

# 以上配置完成后,即可在后台管理界面 --> Admin --> Tracing 添加跟踪配置:

CentOS7 搭建RabbitMQ集群 后台管理 历史消费记录查看

# 点击dev.log 即可查看日志文件

CentOS7 搭建RabbitMQ集群 后台管理 历史消费记录查看

5. 配置rabbitmq集群节点

 # 服务器:10.18.32.7(节点1) , 10.18.32.8(节点2)<br /><br />(1). 配置hostname<br /><br />  # 在各节点服务器上配置hostname:rabbitmq-1,rabbitmq-2<br />  vim /etc/hostname<br /><br />(2). 配置host<br /><br />  # 在各节点服务器上配置host<br />  vim /etc/hosts<br />  
CentOS7 搭建RabbitMQ集群 后台管理 历史消费记录查看

(3). 设置各节点Cookie保持一致

service rabbitmq-server stop

chmod 700 /var/lib/rabbitmq/.erlang.cookie

echo -n "AZVOCZYZZBVFLBPTBXU" > /var/lib/rabbitmq/.erlang.cookie

chmod 400 /var/lib/rabbitmq/.erlang.cookie

service rabbitmq-server start

(4). 开通防火墙集群通讯端口

  firewall-cmd --permanent --add-port={4369/tcp,25672/tcp}<br />  firewall-cmd --reload
(5). 将节点2、3...加入节点一中<br /><br />  rabbitmqctl stop_app<br />  rabbitmqctl join_cluster rabbit@server1<br /><em><em><em><em><em><em><em><em>  rabbitmqctl start_app<br /><br /></em></em></em></em></em></em></em></em>(6). 设置各节点镜像策略<br /><br />  rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'<br /><br /><strong><em>参考链接:</em></strong><br />  http://www.cnblogs.com/uptothesky/p/6094357.html<br />  http://www.cnblogs.com/edward2013/p/5061511.html<br />  https://www.jianshu.com/p/3a625aacd9aa<br />

相关推荐