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 ...
随机推荐
- http协议详解及htt面试题目,常见的http状态码
http协议详解及htt面试题目,常见的http状态码 HTTP报文是面向文本的,报文中的每一个字段都是一些ASCII码串,各个字段的长度是不确定的.HTTP有两类报文:请求报文和响应报文. HTTP ...
- [名词解释 ] transparent
1.材质,效果透明. 2.思想透明,容易获取(思维简单,单纯) 3.后台静默(of a process or interface) functioning without the user being ...
- Oracle表空间的创建与删除
ORACLE中,表空间是数据管理的基本方法,所有用户的对象要存放在表空间中,也就是用户有空间的使用权,才能创建用户对象.否则是不充许创建对象,因为就是想创建对象,如表,索引等,也没有地方存放,Orac ...
- MYSQL mybatis
mysql 1 每个语句的结束记得加分号; 2where条件里再做if分支 SELECT *FROM `table` WHERE IF( `parentID` is null, `plan_id` ...
- this的四种用法
函数运行时,自动生成的一个内部对象,只能在函数内部使用 随着函数使用场合的不同,this的值也发生着改变,但是有一个总原则:this指的是调用函数的那个对象(核心) 1.纯粹的函数调用 this指的是 ...
- oracle性能优化之awr分析
oracle性能优化之awr分析 作者:bingjava 最近某证券公司系统在业务期间系统运行缓慢,初步排查怀疑是数据库存在性能问题,因此导出了oracle的awr报告进行分析,在此进行记录. 导致系 ...
- 有价值的IPFS博客
前一阵子研究IPFS,回头找资料有些找不到,再次汇总一下有价值的IPFS资料 戴嘉乐-IPFS的本质架构及应用:https://blog.csdn.net/u012357002/article/d ...
- Python3解析html高级操作
一.xpath相关 1.1 xpath获取节点下的所有内容 问题描述:xpath获取节点下的所有文本可通过“*//text()”实现,但如果想获取节点下的内容---包括文本和标签那就没有直接的办法. ...
- VNPY 文件目录结构
VNPY ├─examples 可以运行起来的实际程序│ ├─CoinapiDataService│ ├─CryptoTrader│ ├─CtaBacktesting│ ├─CtaTrading│ ├ ...
- 转: Qt信号槽实现原理 清晰明了
转: https://blog.csdn.net/perfectguyipeng/article/details/78082360 本文使用 ISO C++ 一步一步实现了一个极度简化的信号与槽的系统 ...