Rabbit 集群部署
1、RabbitMQ是用erlang语言编写的,所以我们先安装erlang语言环境
配置erlang语言环境
# vim /etc/yum.repos.d/rabbitmq-erlang.repo
[rabbitmq-erlang]
name=rabbitmq-erlang
baseurl=https://dl.bintray.com/rabbitmq/rpm/erlang/20/el/7
gpgcheck=1
gpgkey=https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
enabled=1
# rpm --import https://dl.bintray.com/rabbitmq/Keys/rabbitmq-release-signing-key.asc
# yum install erlang socat -y #安装erlang
2、安装rabbitmq服务
下载rabbitmq地址:http://www.rabbitmq.com/download.html
#wget https://dl.bintray.com/rabbitmq/all/rabbitmq-server/3.7.13/rabbitmq-server-3.7.13-1.el7.noarch.rpm
# yum localinstall rabbitmq-server-3.7.13-1.el7.noarch.rpm
(或者 # yum install rabbitmq-server-3.7.7-1.el7.noarch.rpm)
3、启用RabbitMQ的web插件 ,方便后期管理界面:
# rabbitmq-plugins enable rabbitmq_management
4、设置开机启动
# systemctl enable rabbitmq-server.service #设置开机启动服务
# systemctl start rabbitmq-server #启动服务
# systemctl status rabbitmq-server.service #查看服务
# ll /var/lib/rabbitmq/.erlang.cookie
注:发现/var/lib/rabbitmq/.erlang.cookie的文件拥有者是root,而rabbitmq服务是以rabbitqm普通用户运行的, 这就无法往.erlang.cookie里写入数据,所以可能报错。
# chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie #修改文件拥有者
5、# netstat -antup | grep 5672 #查看端口号
6、为RabbitMQ创建用户并赋权。
# rabbitmqctl add_user cdnfresh cdnfresh #添加用户
# rabbitmqctl set_user_tags cdnfresh administrator #设置用户权限为administrator
# rabbitmqctl cluster_status #查看集群状态
# rabbitmqctl list_users #查看所有用户
在浏览器测试登录,发现可以登录(ip+port 15672)
7、配置rabbitmq集群
# 在第一个节点启动rabbitmq-server生成cookie文件
# rabbitmq-server -detached
# 设置所有节点同一认证Erlang Cookie,将第一个节点上的cookie文件拷贝到其他节点上,注意.erlang.cookie权限
# chmod 777 /var/lib/rabbitmq/.erlang.cookie
# scp -P38199 .erlang.cookie MQ02:/var/lib/rabbitmq/
# scp -P38199 .erlang.cookie MQ03:/var/lib/rabbitmq/
# chmod 400 /var/lib/rabbitmq/.erlang.cookie (每个节点都要执行)
# chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
# chown -R rabbitmq:rabbitmq /etc/rabbitmq
8、启动rabbitmq集群,将MQ02、MQ03加入MQ01
# rabbitmq-server -detached
# rabbitmqctl stop_app
# rabbitmqctl join_cluster rabbit@MQ01
# rabbitmqctl start_app
9、查看集群状态
# rabbitmqctl cluster_status
10、安装rabbitmq_delayed_message_exchange 插件
Rabbitmq官网下载即可
# rabbitmq-plugins list 查看插件
# unzip rabbitmq_delayed_message_exchange-20171201-3.7.x.zip
解压之后得到 rabbitmq_delayed_message_exchange-20171201-3.7.x.ez 文件
# mv rabbitmq_delayed_message_exchange-20171201-3.7.x.ez /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.13/plugins/
# rabbitmq-plugins enable rabbitmq_delayed_message_exchange 安装完毕查看即可
Rabbit 集群部署的更多相关文章
- Linux运维--12.手动部署Rabbit集群
1.安装rabbit组件 10.100.2.51 controller1 10.100.2.52 controller2 10.100.2.53 controller3 #每个节点 yum insta ...
- Linux运维---16. Kolla部署OpenStack外接rabbit集群
# 前提时rabbit集群已经搭建完成 vim /etc/kolla/globals.yml enable_rabbitmq: "no" rpc_transport_url: &q ...
- RabbitMQ学习之集群部署
我们先搭建一个普通集群模式,在这个模式基础上再配置镜像模式实现高可用,Rabbit集群前增加一个反向代理,生产者.消费者通过反向代理访问RabbitMQ集群. 架构图如下: 设计架构可以如下:在一个集 ...
- rabbitMQ集群部署以及集群之间同步
MQ集群部署 期待的部署架构 其中,一个机房有两台机器部署MQ,并组成集群,有一个机房的MQ集群作为中心集群,其他机房的MQ集群将消息同步到中心MQ集群中. 安装erlang,略.. 安装rabbit ...
- RabbitMQ消息队列(十)-高可用集群部署实战
前几章讲到RabbitMQ单主机模式的搭建和使用,我们在实际生产环境中出于对性能还有可用性的考虑会采用集群的模式来部署RabbitMQ. RabbitMQ集群基本概念 Rabbit模式大概分为以下三种 ...
- Centos6.9下RabbitMQ集群部署记录
之前简单介绍了CentOS下单机部署RabbltMQ环境的操作记录,下面详细说下RabbitMQ集群知识,RabbitMQ是用erlang开发的,集群非常方便,因为erlang天生就是一门分布式语言, ...
- k8s-rabbitmq-(一)集群部署
K8S版本:1.10.1 rabbitmq版本:3.6.14 从来没用过这个软件,所以对里面很多术语看不太懂.最后通过https://www.kubernetes.org.cn/2629.html 大 ...
- 160328、rabbitMQ集群部署示例
环境:Centos 6.5 x86_64MQ网址:http://www.rabbitmq.com/SERVER101\SERVER102 SERVER103 一.单节点安装 #yum install ...
- RabbitMQ(6) 集群部署
单节点部署 rabbitmq单节点部署比较简单,可以使用apt-get等工具快速安装部署. wget -O- https://www.rabbitmq.com/rabbitmq-release-sig ...
随机推荐
- 在阿里云开源镜像站中下载centOS7
镜像的选择 第一步.下载镜像 阿里云开源镜像站:http://mirrors.aliyun.com/ 选择centos进入 如下图: 如下图:选择centos7 再选择isos(镜像目录) 继续下一步 ...
- English trip EM2-MP4 Teacher:Taylor voiceless consonant 清辅音 & voiced consonant 浊辅音
课上内容(Lesson) # 区分 voiceless consonant 清辅音 & voiced consonant 浊辅音 清辅音 short # 轻快 浊辅音 long ...
- ibm产品系列架构师技术路线
- Spring的事务初见
一.事务的特性 原子性: 事务是最小的执行单位,不允许分割.事务的原子性确保动作要么全部完成,要么完全不起作用: 一致性: 执行事务前后,数据保持一致: 隔离性: 并发访问数据库时,一个用户的事物不被 ...
- Android中控件之间添加分割线
将以下view标签放置在需要分割的两个控件之间: <View android:layout_width=”match_parent” android:layout_height=”1dp” an ...
- 通过 txt 文件批量导入需要批量处理的数据的标识字段
前言 在一些工作中,可能需要对数据库中的一些数据(批量)进行处理(修改或者查询),而数据的来源是你的同事,换句话说就是这批数据不可能通过某些查询条件查出来, 而这批数据又比较多,比如几百.几千甚至几万 ...
- linux 常用指令
w 指令可以看到目前接入到服务器的用户(终端)history xx 可以查看本用户(本终端)最后执行的xx条指令last 指令可以查看登录的日志grep "str" filName ...
- (04) springboot 下的springMVC和jsp和mybatis
1. springboot 和springmvc下的注解完全一样(新增了一些有用的) 常用的注解如下: @Controller @RestController= @Controller + @Resp ...
- css的position属性
position: relative:保持未定位前的位置不变,若给了left,top的值,那么就会相对于原来的位置进行移动 absolute:元素原先在正常文档流中所占的空间会关闭,就好像元素原来不存 ...
- 微信小程序<swiper-item>标签中传入多个数组型数据的方法(小程序交流群:604788754)
在<swiper-item>中用for循环传入多个成对不同数据时的实现方法. 效果如下: 遍历实现方法:wxss省略: wxml中代码: <!--导航部分轮播图--> < ...