简介

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

web页面访问效果

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基础使用之集群构建的更多相关文章

  1. RabbitMQ从零到集群高可用(.NetCore5.0) -高可用集群构建落地

    系列文章: RabbitMQ从零到集群高可用(.NetCore5.0) - RabbitMQ简介和六种工作模式详解 RabbitMQ从零到集群高可用(.NetCore5.0) - 死信队列,延时队列 ...

  2. RabbitMQ的高可用集群部署

    RabbitMQ的高可用集群部署 标签(空格分隔): 消息队列 部署 1. RabbitMQ部署的三种模式 1.1 单一模式 单机情况下不做集群, 仅仅运行一个RabbitMQ. # docker-c ...

  3. Orleans的集群构建

    Orleans的集群构建 这是Orleans系列文章中的一篇.首篇文章在此 听闻一周前,微软公布了.net core2.0,以及各种各样的其他core2.0.大家都很兴奋.微妈的诚意真是满满的.这次开 ...

  4. 搭建 RabbitMQ Server 高可用集群

    阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 ...

  5. Hadoop基础-Hadoop的集群管理之服役和退役

    Hadoop基础-Hadoop的集群管理之服役和退役 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,如果是上千万规模的集群,难免一个一个月会有那么几台服务器出点故 ...

  6. 学习Hadoop+Spark大数据巨量分析与机器学习整合开发-windows利用虚拟机实现模拟多节点集群构建

    记录学习<Hadoop+Spark大数据巨量分析与机器学习整合开发>这本书. 第五章 Hadoop Multi Node Cluster windows利用虚拟机实现模拟多节点集群构建 5 ...

  7. 搭建 RabbitMQ Server 高可用集群【转】

    阅读目录: 准备工作 搭建 RabbitMQ Server 单机版 RabbitMQ Server 高可用集群相关概念 搭建 RabbitMQ Server 高可用集群 搭建 HAProxy 负载均衡 ...

  8. 【原创 Hadoop&Spark 动手实践 5】Spark 基础入门,集群搭建以及Spark Shell

    Spark 基础入门,集群搭建以及Spark Shell 主要借助Spark基础的PPT,再加上实际的动手操作来加强概念的理解和实践. Spark 安装部署 理论已经了解的差不多了,接下来是实际动手实 ...

  9. (转)CentOs7.3 搭建 RabbitMQ 3.6 Cluster 集群服务与使用

    RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python.Ruby..NET.Java.JMS.C.PHP.ActionScript.XMPP.STO ...

随机推荐

  1. beta冲刺后续讨论

    目录 组员:胡绪佩 组员:何家伟 组员:黄鸿杰 组员: 翟丹丹 组员:周政演 组员:胡青元 组员:庄卉 组员:刘恺琳 组员:何宇恒 组员:刘一好 组员:葛家灿 组员:胡绪佩 总结 通过这次的Beta版 ...

  2. SceneKit下关于修改SCNNode 的Shader展示自定义图形

    由于某些需求,需要在苹果OS x系统下展示一组点云,准备使用苹果官方的三维显示控件来完成这一功能.场景点云作为离散的点, 如果每个点以SCNnode的形式加入场景中,则回造成过大的内存消耗,笔者电脑下 ...

  3. # pc端个性化日历实现

    pc端个性化日历实现 技术:vue => v-for.slot-scop 插槽域 需求:需要实现日历上每一天动态显示不同的信息 思路:运用vue 中 slot-scop 插槽域的知识点,将个性化 ...

  4. php基础知识考察点:自定义函数及内部函数考察点

    1.变量的作用域和静态变量 函数的参数以及参数的引用传递 函数的返回值以及引用返回 外部文件的导入 系统内置函数的考察 变量的作用域也称为变量的范围,变量的范围即他定义上下文的背景(也是它生效的范围) ...

  5. mac 下安装php7.1 memcache扩展

    1.下载memcache源代码文件 https://github.com/websupport-sk/pecl-memcache/archive/php7.zip 文件夹名为:pecl-memcach ...

  6. JavaScript流程控制及函数

    1 流程控制 1.1 条件语句 分支结构 单向分支 if (条件表达式) { code...} 双向分支 if (条件表达式){    } else {    } <!DOCTYPE html& ...

  7. mysql mtr写入数据

    BEGIN; --disable_query_log --let $rows= 100 WHILE($rows) { --eval INSERT INTO t1 (a) VALUES ( $rows ...

  8. STM8S——Analog/digital converter (ADC)

    1.ADC1 and ADC2 are 10-bit successive approximation Anolog to Digital Converters. 所谓successive appro ...

  9. 我们一起来聊聊并发吧,one。

    引言 最近工作当中写了一个有关并发的程序,引起了LZ对并发的强烈兴趣.这一下一发不可收拾,LZ用了一个多星期,看完了这本共280+页的并发编程书.之所以能看这么快,其实这主要归功于,自己之前对并发就有 ...

  10. 并发系列(三)-----volatile

    一 简介 volatile关键字是轻量级的synchronized,volatile在并发编程中保证共享变量的可见性,当一个线程修改被volatile修饰的共享变量时,另外一个线程就能读到这个修改的值 ...