阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

RabbitMQ集群部署简述

143次阅读
没有评论

共计 2855 个字符,预计需要花费 8 分钟才能阅读完成。

一、前言
线上的 RabbitMQ 用的是单节点,前段时间由于机器内存不足,发生了 OOM,业务受到了影响,故打算换成 RabbitMQ 集群。RabbitMQ 模式有三种,分别是:单一模式、普通模式、镜像模式,镜像模式才是 RabbitMQ 真正的 HA 方案,关于更详细的简绍,请移步到官网:http://www.rabbitmq.com/ha.html,下面是关于 RabbitMQ 集群的部署过程:

二、环境
erlang 版本:
erlang-19.0.4-1.el7.CentOS.x86_64

rabbitmq 版本:
rabbitmq-server-3.6.6

服务器主机名:
ip-172-31-13-114  磁盘节点
ip-172-31-15-124 内存节点
ip-172-31-11-216 内存节点

三、安装
1、erlang 安装
a、wget https://packages.erlang-solutions.com/erlang-solutions-1.0-1.noarch.rpm
rpm -Uvh erlang-solutions-1.0-1.noarch.rpm
b、rpm –import https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
c、Add the following lines to some file in /etc/yum.repos.d/:
[erlang-solutions]
name=Centos $releasever – $basearch – Erlang Solutions
baseurl=https://packages.erlang-solutions.com/rpm/centos/$releasever/$basearch
gpgcheck=1
gpgkey=https://packages.erlang-solutions.com/rpm/erlang_solutions.asc
enabled=1
d、yum install erlang esl-erlang

2、RabbitMQ 安装
a、wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.6/rabbitmq-server-generic-unix-3.6.6.tar.xz
b、tar -xvf rabbitmq-server-generic-unix-3.6.6.tar.xz
c、mv rabbitmq_server-3.6.6 /data/rabbitmq
d、cd /data/rabbitmq/;./sbin/rabbitmq-server -detached

四、配置
1、需要配置 host,不然集群没用办法创建,我这里用的 aws 的 ec2,用的默认主机名,这里就不修改了
2、拷贝.erlang.cookie,RabbitMQ 集群依赖 erlang 集群才能工作,所以需要先构建 erlang 集群,.erlang.cookie 文件在启动用户的家目录下,我这里是用 work 用户启动的 RabbitMQ,拷贝一台服务器的 /home/work/.erlang.cookie 到其他机器并设置权限
chown work:work  /home/work/.erlang.cookie
chmod 400 /home/work/.erlang.cookie

3、设置集群的模式:镜像
rabbitmqctl set_policy ha-all “^” ‘{“ha-mode”:”all”}’

PS:
在任意一个节点操作即可,这里在 ip-172-31-13-114 上操作
4、加入集群(ip-172-31-15-124、ip-172-31-11-216)
rabbitmqctl stop_app
rabbitmqctl join_cluster –ram rabbit@ip-172-31-13-114
rabbitmqctl start_app

PS:
–ram 指定内存节点类型,–disc 指定磁盘节点类型

5、查看集群
rabbitmqctl cluster_status

6、启用管理和监控模块
rabbitmq-plugins enable rabbitmq_management

7、设置集群的名字
rabbitmqctl set_cluster_name my_mq

8、添加用户:
rabbitmqctl add_user spider spider

9、设置用户权限策略
rabbitmqctl set_user_tags spider administrator

10、vhost 授权
rabbitmqctl set_permissions -p / spider ‘.*’ ‘.*’ ‘.*’

11、改变节点类型为磁盘节点
rabbitmqctl stop_app
rabbitmqctl change_cluster_node_type disc
rabbitmqctl start_app

12、将节点移出集群
将节点 ip-172-31-11-216 移出集群前,先要 stop_app,然后 reset 节点
[root@ip-172-31-11-216 ~]# rabbitmqctl stop_app
Stopping node rabbit@ip-172-31-11-216 …
[root@ip-172-31-11-216 ~]# rabbitmqctl reset
Resetting node rabbit@ip-172-31-11-216 …

CentOS7 下安装 RabbitMQ  http://www.linuxidc.com/Linux/2016-11/136812.htm

高可用 RabbitMQ 集群安装配置 http://www.linuxidc.com/Linux/2016-10/136492.htm

CentOS 7.2 下 RabbitMQ 集群搭建  http://www.linuxidc.com/Linux/2016-12/137812.htm

RabbitMQ 学习初入门  http://www.linuxidc.com/Linux/2016-11/136813.htm

CentOS7 环境安装使用专业的消息队列产品 RabbitMQ http://www.linuxidc.com/Linux/2016-11/13673.htm

配置与管理 RabbitMQ  http://www.linuxidc.com/Linux/2016-11/136815.htm

RabbitMQ 概念及环境搭建 http://www.linuxidc.com/Linux/2014-12/110449.htm

RabbitMQ 入门教程  http://www.linuxidc.com/Linux/2015-02/113983.htm

RabbitMQ 的详细介绍:请点这里
RabbitMQ 的下载地址:请点这里 

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-05/143687.htm

正文完
星哥说事-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计2855字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中