RabbitMQ-rabbitmqctl集群搭建(五)

单机多节点

准备

  1.准备3台物理机 我这里通过本地机和2台虚拟模拟我是mac通过(Parallel Desktop 实现)

2.按照签名的liux安装步骤在3台机器都安装rabiitMq

3.将任意一节点的cookie复制到其他2台保证一致 cookie路径为$HOME/.erlang.cookie 可以通过echo $HOME 查看环境变量值

注:如果提示只读  1.ctrl+c退出 执行sudo!!  2.执行 vim 修改文件 3.保存加上!强制执行 :wq!

4.修改每台机器的host映射保证根据映射能相互ping通

5.守护进程启动三台mq

./rabbitmq-server -detached

6.检查启动状态

./rabbitmqctl cluster_status

7.如果启动成功如下图 我这里是已经加入集群了 所以看到三个节点 未加入集群就只能看到当前节点

8.分别在node2和node3自行加入集群节点(因为是同级的所以顺序没关系 可以是在node1 node3 执行加入node2)

rabbitmqctl stop_app

rabbitmqctl join_cluster rabbit@node1

rabbitmqctl start_app

9.然后通过任意节点执行./rabbitmqctl cluster_status就可以看到7那个图

10.需要注意 如果通过stop_app节点全部关闭 第一个启动节点需要是最后关闭的那个节点 其他节点启动都会等待它启动成功 超时会报错

如:我一次关闭节点1 节点2 节点3

然后我启动节点2

会处于等待状态 会一致等待node2

如果node2 由于某种情况无法启动 可以通过

./rabbitmqctl forget_cluster_node剔除当前集群

如果所有节点都是非正常关闭

则启动之前需要在一个节点执行

./rabbitmqctl force_boot

./rabbitmq_server -detached

集群节点类型

1.通过./rabbitmqctl cluster_status

disc表示磁盘类型  保证队列、交换器、绑定关系、用户、权限、和vhost都会保存到磁盘 重启不会丢失

2.加入集群时可以通过指定为内存类型(部分节点使用内存类型保证最佳性能)

rabbitmqctl stop_app

rabbitmqctl join_cluster rabbit@node1 --ram

rabbitmqctl start_app

3.如果集群已经搭建好了可以通过以下命令进行切换

./rabbitmqctl stop_app

./rabbitmqctl change_cluster_node_type ram

./rabbitmqctl start_app

注意点

rabbitMQ中 在集群中创建队列、交换器、或者绑定关系 需要所有集群中的节点都提交成功才会返回 这意味着都是磁盘节点写入磁盘操作是昂贵的

在内存节点提供高昂的性能磁盘节点提供可靠性 如何做抉择

rabbitMQ保证集群中至少一个集群节点 如果节点变更都会至少通知一个磁盘节点,如果磁盘节点挂了那么将不能添加元数据信息,所以我们再集群汇总至少保证2~3个磁盘节点其他都是内存节点

原文地址:https://www.cnblogs.com/LQBlog/p/11005385.html

时间: 2024-08-04 04:56:24

RabbitMQ-rabbitmqctl集群搭建(五)的相关文章

RabbitMQ入门教程(十四):RabbitMQ单机集群搭建

原文:RabbitMQ入门教程(十四):RabbitMQ单机集群搭建 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/vbirdbest/article/details/78723467 分享一个朋友的人工智能教程.比较通俗易懂,风趣幽默,感兴趣的朋友可以去看看. 集群简介 理解集群先理解一下元数据 队列元数据:队列的名称和声明队列时设置的属性(是否持久化.是否自动删除.队列所属的节点)

rabbitmq集群搭建(centos6.5)

一:rabbitmq的安装: 参考:http://www.blogjava.net/hellxoul/archive/2014/06/25/415135.html http://blog.haohtml.com/archives/15249 说明:修改机器名字后再安装(为后面集群做准备) vi /etc/sysconfig/network 修改名字 vi /etc/hosts 修改地址映射表,如192.168.1.112   rabbitmq-node1.com rabbitmq-node1 #

rabbitmq安装、集群搭建

rabbitmq的安装: CentOS上面部署: 首先修改hosts文件 修改hosts文件vi /etc/hosts1.1.1.1 hostname 2.2.2.2 hostname 3.3.3.3 hostname erlang的安装环境:rpm -i http://mirror.bjtu.edu.cn/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpmyum install erlang安装rabbitMQ(RPM链接可以从http://www

rabbitmq集群搭建方法简介(测试机linux centos)【转】

本文将介绍四台机器搭建rabbitmq集群: rabbitmq IP和主机名(每台机器已安装RabbitMQ 3.5.6, Erlang 18.1) 192.168.87.73 localhost73 192.168.87.74 localhost74 192.168.87.75 localhost75 192.168.87.76 localhost76 将上述IP和主机名添加到hosts文件( vim /etc/hosts) Rabbitmq的集群是依赖于erlang的集群来工作的,所以必须先

RabbitMq 集群搭建

? ? 实验环境: 操作系统为 Centos 7.2 IP hostName 192.168.190.132 node132 192.168.190.139 node139 192.168.190.140 node140 ? ? RabbitMQ相关端口 ? ? 4369 (epmd) 5672, 5671 (AMQP 0-9-1 and 1.0 without and with TLS) 25672. This port used by Erlang distribution for inte

rabbitMQ 安装,集群搭建, 编码

RabbitMQ 一.背景 命令行工具: http://www.rabbitmq.com/man/rabbitmqctl.1.man.html 介绍入门文章: http://blog.csdn.net/anzhsoft/article/details/19563091 内容比较清晰: http://www.diggerplus.org/archives/3110 Exchange.Queue producer把消息发送到Exchange(带上route key),consumer声明queue(

rabbitmq单点及集群搭建 与简单使用

单点搭建rabbitmq 安装epel源yum install -y epel-release.noarchyum clean all && yum makecache fast && yum repolist enabled安装依赖包yum install -y erlang xmlto wget 安装 wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.3/rabbitmq-server-3.5.3-1.

RabbitMQ的安装及集群搭建方法

RabbitMQ安装 1 安装erlang 下载地址:http://www.erlang.org/downloads 博主这里采用的是otp_src_19.1.tar.gz (200MB+) [[email protected] util]# tar zxvf otp_src_19.1.tar.gz [[email protected] util]# cd otp_src_19.1 [[email protected] otp_src_19.1]# ./configure --prefix=/o

rabbitmq 集群搭建 单机多实例版

rabbitmq 是一个开源的AMQP实现,用ERLANG编写,由于erlang天生支持分布式高并发的语言,这也是rabbitmq被许多开发者所喜爱. AMQP概念,这里不做介绍,可以google一下,概念很重要,概念很重要,概念很重要,重要的事说三遍. 下面开始集群搭建,rabbitmq集群分为单机,伪集群(单机多实例),集群(多机多实例),很多开发者想自己搭建一个集群,来测试一些mq特性. 本文主要介绍伪集群方式,也就是在一台虚拟机上,搭建rabbitmq多实例,然后建立集群连接.而正规集群