RabbitMQ基础使用之集群构建
简介
RabbitMQ是基于Erlang开发的一种消息队列服务,本篇文章主要部署三台机器用来实现集群的普通模式与镜像模式!欢迎大家吐槽交流学习!
特点
集群节点包括内存节点和磁盘节点,有了磁盘节点就支持消息的持久化。
1.安装
1.1安装前的准备工作
1.首先查看系统版本,我这里三台阿里云CentOS!
[root@Ali-Zookeeper-MQ01 rabbit-rpm]# cat /etc/redhat-release
CentOS Linux release 7.4.1708 (Core)
2.规划修改所有节点的主机名。
[root@Ali-Zookeeper-MQ01 rabbit-rpm]# cat /etc/hostname
Ali-Zookeeper-MQ01
[root@Ali-Zookeeper-MQ01 rabbit-rpm]# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
10.5.0.203 Ali-Zookeeper-MQ01
10.5.0.228 Ali-Zookeeper-MQ02
10.5.0.229 Ali-Zookeeper-MQ03
另外俩台改成对应的配置!
3.关闭防火墙
# 停止firewall
systemctl stop firewalld.service
# 禁止firewall开机启动
systemctl disable firewalld.service
# 查看防火墙状态
[root@Ali-Zookeeper-MQ01 ~]# firewall-cmd --state
not running
4.安装Erlang
# yum安装epel-release
yum -y install epel-release
# 安装Erlang环境
yum -y install erlang
1.2使用rpm正式安装mq
# 创建目录用来存放rabbitmq的rpm
mkdir /usr/local/src/rabbit-rpm
# 切换到/usr/local/rabbit-rpm目录
cd /usr/local/src/rabbit-rpm
# 下载RabbitMQ-3.6.9安装包rpm
wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.9/rabbitmq-server-3.6.9-1.el7.noarch.rpm
# 开始安装,当看到Complete!提示时,安装完成!
yum -y install rabbitmq-server-3.6.9-1.el7.noarch.rpm
1.3配置mq集群-普通模式
首先要保证三台机器安装的软件版本一致,主机名配置文件一致!
集群-普通模式-配置操作
1.设置Erlang Cookie
Erlang Cookie 文件:/var/lib/rabbitmq/.erlang.cookie。三台主机分别创建,给予400权限修改属主属组。cookie文件的内容要一致!
vim /var/lib/rabbitmq/.erlang.cookie
chmod 777 /var/lib/rabbitmq/.erlang.cookie
scp -r /var/lib/rabbitmq/.erlang.cookie root@Ali-Zookeeper-MQ02:/var/lib/rabbitmq/.erlang.cookie
scp -r /var/lib/rabbitmq/.erlang.cookie root@Ali-Zookeeper-MQ03:/var/lib/rabbitmq/.erlang.cookie
chmod 400 /var/lib/rabbitmq/.erlang.cookie
chown rabbitmq /var/lib/rabbitmq/.erlang.cookie
chgrp rabbitmq /var/lib/rabbitmq/.erlang.cookie
2.启动各节点
service rabbitmq-server start
3.组成集群,在02,03节点上执行命令将02,03加入01.
rabbitmqctl stop_app
rabbitmqctl join_cluster rabbit@Ali-Zookeeper-MQ01 --ram
rabbitmqctl start_app
4.如果需要退出集群
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl start_app
5.查看集群状态
[root@Ali-Zookeeper-MQ01 ~]# rabbitmqctl cluster_status
Cluster status of node 'rabbit@Ali-Zookeeper-MQ01' ...
[{nodes,[{disc,['rabbit@Ali-Zookeeper-MQ01']},
{ram,['rabbit@Ali-Zookeeper-MQ03','rabbit@Ali-Zookeeper-MQ02']}]},
{running_nodes,['rabbit@Ali-Zookeeper-MQ03','rabbit@Ali-Zookeeper-MQ02',
'rabbit@Ali-Zookeeper-MQ01']},
{cluster_name,<<"rabbit@Ali-Zookeeper-MQ01">>},
{partitions,[]},
{alarms,[{'rabbit@Ali-Zookeeper-MQ03',[]},
{'rabbit@Ali-Zookeeper-MQ02',[]},
{'rabbit@Ali-Zookeeper-MQ01',[]}]}]
6.三台上都开启web管理功能
rabbitmq-plugins enable rabbitmq_management
1.4补充说明
启动 RabbitMQ 服务
systemctl start rabbitmq-server
查看 RabbitMQ 状态
systemctl status rabbitmq-server
停止 RabbitMQ 服务
systemctl stop rabbitmq-server
开启web管理
rabbitmq-plugins enable rabbitmq_management
查看当前所有用户
rabbitmqctl list_users
查看默认guest用户的权限
rabbitmqctl list_user_permissions guest
由于RabbitMQ默认的账号用户名和密码都是guest。为了安全起见, 删掉默认用户guest
rabbitmqctl delete_user guest
添加新用户
rabbitmqctl add_user username password
设置用户tag
rabbitmqctl set_user_tags username administrator
赋予用户默认vhost的全部操作权限
rabbitmqctl set_permissions -p / username “.” “.” “.*”
RabbitMQ基础使用之集群构建的更多相关文章
- RabbitMQ从零到集群高可用(.NetCore5.0) -高可用集群构建落地
系列文章: RabbitMQ从零到集群高可用(.NetCore5.0) - RabbitMQ简介和六种工作模式详解 RabbitMQ从零到集群高可用(.NetCore5.0) - 死信队列,延时队列 ...
- RabbitMQ的高可用集群部署
RabbitMQ的高可用集群部署 标签(空格分隔): 消息队列 部署 1. RabbitMQ部署的三种模式 1.1 单一模式 单机情况下不做集群, 仅仅运行一个RabbitMQ. # docker-c ...
- Orleans的集群构建
Orleans的集群构建 这是Orleans系列文章中的一篇.首篇文章在此 听闻一周前,微软公布了.net core2.0,以及各种各样的其他core2.0.大家都很兴奋.微妈的诚意真是满满的.这次开 ...
- 搭建 RabbitMQ Server 高可用集群
阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 ...
- Hadoop基础-Hadoop的集群管理之服役和退役
Hadoop基础-Hadoop的集群管理之服役和退役 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,如果是上千万规模的集群,难免一个一个月会有那么几台服务器出点故 ...
- 学习Hadoop+Spark大数据巨量分析与机器学习整合开发-windows利用虚拟机实现模拟多节点集群构建
记录学习<Hadoop+Spark大数据巨量分析与机器学习整合开发>这本书. 第五章 Hadoop Multi Node Cluster windows利用虚拟机实现模拟多节点集群构建 5 ...
- 搭建 RabbitMQ Server 高可用集群【转】
阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 ...
- 【原创 Hadoop&Spark 动手实践 5】Spark 基础入门,集群搭建以及Spark Shell
Spark 基础入门,集群搭建以及Spark Shell 主要借助Spark基础的PPT,再加上实际的动手操作来加强概念的理解和实践. Spark 安装部署 理论已经了解的差不多了,接下来是实际动手实 ...
- (转)CentOs7.3 搭建 RabbitMQ 3.6 Cluster 集群服务与使用
RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby..NET.Java.JMS.C.PHP.ActionScript.XMPP.STO ...
随机推荐
- 下拉控件jQuery插件
由于后端开发需要一个下拉控件,能输入,能选择,于是自己写了一个 ;(function($,window,document,undefined){ function Select(el,opt){ th ...
- VC++中出现stack overflow错误时修改VC++的默认堆栈大小
VC++中,在栈空间上申请存储的结构体或者类对象的数组空间时,如果数组长度过大,造成申请的栈空间超过或者逼近1MB时,程序可以编译通过,但是不能够执行起来.打到调试模式时会弹出如下图所示的栈空间越界错 ...
- jenkins -Djava.awt.headless=true Linux下java.awt.HeadlessException的解决办法
修改 linux apache-tomcat-7.0.56/bin \catalina.sh文件 在所有类似以下代码大约有七八处具体自己去看: "$_RUNJAVA" $J ...
- 【游记】NOIP2018 退役滚粗记
day0 早上6点半到机房 又复习了一下还没看的板子 刷了2道水题练手感 结果还是肛起了fgo 早上单抽出梅林 美滋滋 感觉把两天的RP都用光了 早上坐上了去福州的动车 一路上说说笑笑 自信满满 下午 ...
- 升级时针对Source oracle home 不存在解决办法
针对于oracle升级从11.2.0.4升级至12.1.0.1,遇到的问题解决. 运行/oracle/app/product/12.1.0.1/dbhome_1/bin/dbua 后 在选择数据库ho ...
- MySQL日期时间处理函数
-- MySQL日期时间处理函数SELECT NOW() FROM DUAL;-- 当前日期时间:2017-05-12 11:41:47-- 在MySQL里也存在和Oracle里类似的dual虚拟表: ...
- 求Read Depth
如何划窗统计测序数据的reads数(depth):https://blog.csdn.net/shenshenwu666/article/details/80936374 方法1,用samtools ...
- (收藏)mci 录音和播放
原文http://blog.csdn.net/lvbian/article/details/18226741 最近在做Android与C#录音并互相通信的小东西.但是卡在C#录音这儿了.找了好久,说的 ...
- 【转载】CString、BSTR和LPCTSTR之间的区别
原文:http://www.cnblogs.com/GT_Andy/archive/2011/01/18/1938605.html 一.定义 1.CString:动态的TCHAR数组.它是一个完全独立 ...
- [ATL/WTL]_[初级]_[关于graphics.DrawImage绘图时显示不正常的问题]
场景 1.使用win32绘图时, 最简单的api是使用 graphics.DrawImage(image,x,y)来绘制, 可是这个api有个坑,它的图片显示完整和设备分辨率(显卡)有关. 说明 1. ...