首页
首页
文章目录
  1. 简介
  2. 系统准备
  3. Rabbitmq安装
    1. 相关包下载
    2. 系统基础配置
    3. 安装 erlang
    4. 安装RabbitMQ
    5. 启用web管理并创建账户
  4. rabbitmq 集群搭建
  5. 检查Rabbitmq集群状态
  6. 集群高可用配置
  7. 错误方法排查

记录一次Rabbitmq 集群部署,方便以后使用

简介

之前部署了几次Rabbitmq集群部署,都没有整理笔记,今儿比较有空所以就整理了一下基于Centos7.0+的Rabbitmq集群的部署文档

系统准备

主机名 IP地址
LRR01 10.10.0.41
LRR02 10.10.0.42
LRR03 10.10.0.43

Rabbitmq安装

相关包下载

RPM包 下载地址
Erlang http://www.rabbitmq.com/releases/erlang/erlang-18.3.4.4-1.el7.centos.x86_64.rpm
Rabbitmq-server http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el7.noarch.rpm

系统基础配置

三台记住的hosts文件配置

1
2
3
4
5
6
7
[root@LRR02 ~]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.10.0.42 LRR02
10.10.0.41 LRR01
10.10.0.43 LRR03
[root@LRR02 ~]#

修改系统参数sysctl.conf

1
2
3
[root@LRR02 ~]# echo 'fs.file-max=10240' >>/etc/sysctl.conf
[root@LRR02 ~]# sysctl -p
fs.file-max = 10240

修改系统参数limits.conf

vim /etc/security/limits.conf

1
2
3
4
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096

limits.conf配置

安装 erlang

由于RabbitMQ是由erlang写的,所以需要erlang的运行环境,前面rpm包已经下载好了直接执行

rpm -ivh erlang-18.3.4.4-1.el7.centos.x86_64.rpm

erlang安装

安装RabbitMQ

1
rpm -ivh rabbitmq-server-3.6.15-1.el7.noarch.rpm

rabbtimq安装

其它俩台也按照此方法安装。

启用web管理并创建账户

参考给ELK加上RabbitMQ,用来收集nginx日志文章的做法即可

注意:只需要在LRR01机器上执行即可。

启动服务

1
systemctl start rabbitmq-server.service

rabbitmq 集群搭建

配置每个节点的cookie

将LRR01主机上的/var/lib/rabbitmq/.erlang.cookie中的内容复制到LRR02和LRR03上

复制cookie

必须保证三台服务器必须具有相同的cookie,如果不相同的话,无法搭建集群

注意 必须保证.erlang.cookie权限为400,属主和属组为rabbitmq

分别在LRR02和LRR03执行下面的命令

1
2
chmod 400 /var/lib/rabbitmq/.erlang.cookie
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie

erlang.cookie权限

在LRR02和LRR03上启动rabbitmq-server 并加入到集群

1
2
3
4
5
6
7
[root@LRR03 rabbitmq]# systemctl start rabbitmq-server
[root@LRR03 rabbitmq]# rabbitmqctl stop_app
Stopping rabbit application on node rabbit@LRR03
[root@LRR03 rabbitmq]# rabbitmqctl join_cluster rabbit@LRR01
Clustering node rabbit@LRR03 with rabbit@LRR01
[root@LRR03 rabbitmq]# rabbitmqctl start_app
Starting node rabbit@LRR03

rabbitmq加入到集群

我这里只写了LRR03主机的。 LRR02同理

检查Rabbitmq集群状态

方法一、

1
rabbitmqctl cluster_status

检查集群状态

方法二、

打开浏览器 输入10.10.0.41:15672 账户Dzer0 密码123456
检查集群状态1

集群高可用配置

设计镜像队列策略

在任何一个节点配置即可

1
rabbitmqctl set_policy ha-all '^(?!amq\.).*' '{"ha-mode": "all"}'

配置高可用规则

错误方法排查

错误:在web管理工具中rabbitmq_management的Overview的Nodes部分看到Node statistics not available信息

表示该节点未启动web管理插件,执行

1
rabbitmq-plugins enable rabbitmq_management

启动web管理即可

支持一下
扫一扫,我会更有动力更新
  • 微信扫一扫
  • 支付宝扫一扫