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 ...
随机推荐
- Project Euler 66: Diophantine equation
题目链接 思路: 连分数求佩尔方程最小特解 参考博客 模板: LL a[]; bool min_pell(LL d, LL &x, LL &y) { LL m = floor(sqrt ...
- VNPY加密教程(Python生成pyd文件)
安装成功之后,再修改设置.让Cython可以找到vcarsall.bat.此处有两种方案.(我采用方案1,亲测可用.方案2未测试,看似可用.) 方案1:修改Python安装目录的文件设置 window ...
- legend2---项目总结(legend2的意义)
legend2---项目总结(legend2的意义) 一.总结 一句话总结:总体来说还是化腐朽为神奇的,之前投了很多精力在学习上面,学的内容非常多,但是都记不住,尤其是英语,感悟也是没办法继续深悟,这 ...
- [Web Service] Tutorial Basic Concepts
WSDL是网络服务描述语言,是一个包含关于web service信息(如方法名,方法参数)以及如何访问它. WSDL是UDDI的一部分. 作为web service 应用程序之间的接口,发音为wiz- ...
- 如何解锁亚马逊A9的新算法?
亚马逊每一次变动总能在跨境圈里掀起一场场风波,最近A9算法的更新更是牵动着不少卖家的心. A9算法是亚马逊运行的内核算法,只要消费者在亚马逊上面搜索了商品,那么他就已经开始使用了A9算法,通过分析每一 ...
- Apache ant
配置步骤:1,安装JDK,设定下面的环境变量: 添加JAVA_HOME:C:\Program Files\Java\jdk1.7.0_07 JDK版本不同目录名不同Path:追加“;%JAVA_HOM ...
- 将本地文件上传到GitHub
首先,可参见廖雪峰老师的官方网站进行Git安装:https://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c ...
- Python面向对象编程 -- 类和实例、访问限制
面向对象编程 Object Oriented Programming,简称OOP,是一种程序设计思想.OOP把对象作为程序的基本单元,一个对象包含了数据和操作数据的函数. 面向过程的程序设计把计算机程 ...
- redist命令操作(一)--键key,字符串String
1.Redis 字符串(String) 参考菜鸟教程:http://www.runoob.com/redis/redis-strings.html 设置指定key的值,如果原来有,覆盖 127.0.0 ...
- MATLAB常用函数(不定时更新)
1.pause 一般情况下pause(a)表示程序暂停a秒后继续执行,但有时候也存在这种情况,程序中只有pause:并没有参数a,这样的意思是程序暂停,按任意键程序继续执行.2.uiwait(h,ti ...