本文根据:http://www.360doc.com/content/15/0312/17/20874412_454622619.shtml整理而来

  RabbitMQ具有很好的消息传递性能,同时又是开源软件,使用范围较广。
  因为自己使用的是Windows系统,因此简而言之入手点自然就是RabbitMQ提供的bat文件了。RabbitMQ提供了5个bat文件,分别是:rabbitmq-service.bat,rabbitmq-server.bat,rabbitmq-plugins.bat,rabbitmq-echopid.bat以及rabbitmqctl.bat。我们先从rabbitmq-server.bat和rabbitmqctl.bat入手。
  我们准备搭建的是拥有两个Node节点的Cluster,这里分别取名Cluster-Node1和ClusterNode2。每个Node当然要有自己的bat文件啦,因此以上两个bat就变成了4个:
rabbitmq-server-cluster-1.bat,rabbitmq-server-cluster-2.bat,rabbitmqctl-cluster-1.bat和rabbitmqctl-cluster-2.bat。这里就说一下如何修改吧。

1.配合Hosts文件  

  需要修改Windows中的hosts文件。既然要在一台机器上模拟两个Node,那么自然要配置一下两个Node的ip了,在hosts文件中添加如下两段:
    127.0.0.1 Cluster-Node1
    127.0.0.1 Cluster-Node2
  保存。

2.修改rabbitmq-server.bat

  在rabbitmq-server*中添加
    set RABBITMQ_CONFIG_FILE="C:\Program Files\RabbitMQ Server\rabbitmq_server-3.6.2\etc\cluster-1"   //其中路径为当前节点的config文件所在路径
  该参数主要用于配置RabbitMQ的Config文件,默认情况下*-server.bat中不包含该路径,所以需要手工创建。在Config文件中可以配置RabbitMQ的各种参数,对以后的学习研究很有帮助。这里第二个参数便是设置了Config文件的路径。
  然后再添加(或者直接修改也是ok的)
    set RABBITMQ_NODENAME=rabbit1@Cluster-Node1

  在单机环境下配置RabbitMQ集群时候要保证每一个节点都具有唯一的节点名称和端口号。该语句就是设置RabbitMQ节点的节点名称。

  注意:在RabbitMQ中@符号将节点标识符(rabbit1@Cluster-Node1)分为两个部分。左边是ERlang的应用程序名称,右边是服务器主机名或者IP地址。
  然后修改节点端口号:

    set RABBITMQ_NODE_PORT=9991
  最后

    set RABBITMQ_DIST_PORT=15672
  这样rabbitmq-server的两个文件就修改完了,点击保存。

3.修改Rabbitmqctl.bat 

  在rabbitmqctl-cluster-*中修改.这两个文件就很简单了: 
    set RABBITMQ_NODENAME=rabbit1@Cluster-Node1 

4. 创建集群  

  首先,先运行rabbitmqctl-cluster-*文件,将两个server启动起来。之后运行rabbitmqctl-cluster-2 stop_app,将Node2先挂起来。再运行
    rabbitmqctl-cluster-2 join_cluster rabbit1@Cluster-Node1

  这样就将Node2加入了Node1的集群。

  注意:在加入新节点时,首先要停止Erlang节点上运行的RabbitMQ程序,并重设(清空)它们的元数据。这样它们才能被加入并获取集群的元数据。

5.激活节点    

  rabbitmqctl-cluster-2 start_app

6. 查看集群状态

  其中DISC节点代表磁盘节点,RAM代表内存节点。

在Windows中单机环境下创建RabbitMQ集群的更多相关文章

  1. windows单机环境下配置tomcat集群

    场景:我们在平常联系中,需要涉及到tomcat中,但是电脑不够怎么办,肯定是在自己的电脑上模拟集群,就是装多个tomcat,这时候需要稍微配置下.如果是多个服务器,那不用配置,直接怼!!! 这里介绍的 ...

  2. RabbitMQ:Docker环境下搭建rabbitmq集群

    RabbitMQ作为专业级消息队列:如何在微服务框架下搭建 使用组件 文档: https://github.com/bijukunjummen/docker-rabbitmq-cluster 下载镜像 ...

  3. docker环境下solrcloud+zookeeper集群部署教程

    前言:两个月前的16年11月份完成的配置,使用的solr6.1和zookeeper3.4,刚刚写成blog,目前版本可能有小版本的变化. 本例完成结果为:在docker环境下部署solrcloud集群 ...

  4. windows环境下搭建Redis集群

    转载请注明出处,原文章地址: https://www.cnblogs.com/tommy-huang/p/6240083.html Redis集群: 如果部署到多台电脑,就跟普通的集群一样:因为Red ...

  5. Windows环境下搭建Redis集群(Redis-x64-3.2.100)

    一 .前期准备Redis.Ruby语言运行环境.Redis的Ruby驱动redis-xxxx.gem.创建Redis集群的工具redis-trib.rb 二.安装配置redisredis下载地址 ht ...

  6. ubuntu环境下搭建Hadoop集群中必须需要注意的问题

    博主安装的hadoop是3.1.3这里是按照厦门大学那个博客安装的,在安装与启动过程中,费了不少事,特此记录一下问题. 安装的连接: 安装环境:http://dblab.xmu.edu.cn/blog ...

  7. 【Data Cluster】真机环境下MySQL数据库集群搭建

    真机环境下MySQL-Cluster搭建文档  摘要:本年伊始阶段,由于实验室对不同数据库性能测试需求,才出现MySQL集群搭建.购置主机,交换机,双绞线等一系列准备工作就绪,也就开始集群搭建.起初笔 ...

  8. 在CentOS7环境下部署weblogic集群

    一)环境准备 服务器操作版本系统 CentOS7 weblogic版本包 weblogic1036_generic.jar(weblogic11g) JDK jdk-8u191-linux-x64.t ...

  9. 生产环境一键创建kafka集群

    前段时间公司的一个kafka集群出现了故障,由于之前准备不足,当时处理的比较慌乱.如:由于kafka的集群里topic数量较多,并且每个topic的分区数量和副本数量都不是一样的,如果按部就班的一个一 ...

随机推荐

  1. 一个关于Linux升级Python后yum的小问题

    前几天在自己的阿里云服务器安装好Python3.5.2之后,顺便删除了原有的/usr/bin/python(因为我知道系统自带的是Python2,而且也会有/usr/bin/python2这个文件,所 ...

  2. Oeacle创建表空间

    /*第1步:创建临时表空间 */ create temporary tablespace user_temp tempfile 'D:\oracle\oradata\Oracle9i\user_tem ...

  3. XJOI1424解压字符串

    解压字符串 给你一个字符串S,S是已经被加密过的字符串.现在要求你把字符串S还原.字符串S可能会出现这样的格式:k(q),它表示字符串q重复了k次,其中q是0个或多个字符,而k是一个数字,范围是0至9 ...

  4. 老李分享:webservice是什么?2

    web service 组件 基本的 web service 平台是 XML + HTTP.所有标准的 web service 使用以下组件: SOAP(简单对象访问协议) UDDI(通用描述.发现与 ...

  5. 【Android 系统开发】CyanogenMod 13.0 源码下载 编译 ROM 制作 ( 手机平台 : 小米4 | 编译平台 : Ubuntu 14.04 LTS 虚拟机)

                 分类: Android 系统开发(5)                                              作者同类文章X 版权声明:本文为博主原创文章 ...

  6. JAVA加密算法系列-DESCoder

    package ***; import java.security.Key; import java.security.SecureRandom; import javax.crypto.Cipher ...

  7. 博客搬到CSDN了

    新博客地址: http://blog.csdn.net/enlangs

  8. WPF 中使slide控件拖动完成后改变变量值

    这个问题一开始觉得还是挺简单的,网上也看到不少解决方案. 首先一个最简单最直接的方案就是自定义一个名为FinalValue的依赖属性.随后重载OnThumbDragCompleted函数,在Thumb ...

  9. ecshop3.6商品如何按照销量排序

    ecshop订单状态对应值:order_status有5中状态,并且当客户确认收货后,order_status的数值不一定是1也有可能是5.order_status = 0表示订单未确认order_s ...

  10. 一个只有99行代码的JS流程框架

    张镇圳,腾讯Web前端高级工程师,对内部系统前端建设有多年经验,喜欢钻研捣鼓各种前端组件和框架. 最近一直在想一个问题,如何能让js代码写起来更语义化和更具有可读性. 上周末的时候突发奇想,当代码在运 ...