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 ...
随机推荐
- Python中为什么要使用self?
为什么使用self? class One: def prt(self): print(123) t = One() t.prt() t.prt()和t.prt(t)输出结果是一样的. 当我们调用t.p ...
- iOS蓝牙APP常驻后台
iOS蓝牙类APP常驻后台的实现方法,经过在苹果开发者论坛询问,以及查看苹果开发者文档,最后得出正确的方法为: 1.设置plist,蓝牙权限 2.到target-capabilities-backgr ...
- Linux简介及最常用命令(简单易学,但能解决95%以上的问题)
转载 longctw 版权声明:只为分享.欢迎转载^V^ https://blog.csdn.net/xulong_08/article/details/81463054 Linux是目前应用最广泛的 ...
- 基于 HTML5 Canvas 的智能安防 SCADA 巡逻模块
基于 HTML5 Canvas 的智能安防 SCADA 巡逻模块 前言 最近学习了 HT for Web flow 插件,除了正常的 flow 效果,其中还有两个十分好用的两个接口 getPercen ...
- Oracle Data Provider for .NET – Microsoft .NET Core and Entity Framework Core
http://www.oracle.com/technetwork/topics/dotnet/tech-info/odpnet-dotnet-ef-core-sod-4395108.pdf Orac ...
- mysql 导出表,导出数据 命令
mysql mysqldump 只导出表结构 不导出数据 复制代码代码如下: mysqldump --opt -d 数据库名 -u root -p > xxx.sql 备份数据库 复制代码代 ...
- Noip前的大抱佛脚----赛前任务
赛前任务 tags:任务清单 前言 现在xzy太弱了,而且他最近越来越弱了,天天被爆踩,天天被爆踩 题单不会在作业部落发布,所以可(yi)能(ding)会不及时更新 省选前的练习莫名其妙地成为了Noi ...
- Kubernetes学习之路(八)之Kubeadm部署集群
一.环境说明 节点名称 ip地址 部署说明 Pod 网段 Service网段 系统说明 k8s-master 192.168.56.11 docker.kubeadm.kubectl.kubelet ...
- 微信小程序:设置页面计时自动跳转
一.功能描述 当出发某一事件后,希望在规定的时间后自动执行另一事件,比如页面跳转功能. 二.代码实现 使用setTimeout函数,单位为毫秒ms setTimeout(function(){ wx. ...
- 【JUC源码解析】Phaser
简介 Phaser,阶段器,可作为一个可复用的同步屏障,与CyclicBarrier和CountDownLatch类似,但更强大. 全览图 如上图所示,phaser,支持phaser树(图中,简化为p ...