rabbitmq 集群搭建 单机多实例版

rabbitmq 是一个开源的AMQP实现,用ERLANG编写,由于erlang天生支持分布式高并发的语言,这也是rabbitmq被许多开发者所喜爱。

AMQP概念,这里不做介绍,可以google一下,概念很重要,概念很重要,概念很重要,重要的事说三遍。

下面开始集群搭建,rabbitmq集群分为单机,伪集群(单机多实例),集群(多机多实例),很多开发者想自己搭建一个集群,来测试一些mq特性。

本文主要介绍伪集群方式,也就是在一台虚拟机上,搭建rabbitmq多实例,然后建立集群连接。而正规集群方式,其实都差不多。

单机多实例集群搭建开始

三个节点目录结构
备注:节点目录结构可自己创建,按照自己的习惯而已。

节点1:
path1 = /usr/local/software/rabbitmq/rabbitmq_server/

节点2:
path2 = /usr/local/software/rabbitmq/rabbitmq_server1/

节点3:
path3 = /usr/local/software/rabbitmq/rabbitmq_server2/

配置文件目录:
分别在三个节点下创建配置文件:

例如,节点2创建配置文件:
在这个路径下: /usr/local/software/rabbitmq/rabbitmq_server/etc/rabbitmq/
**创建配置文件:rabbitmq.conf、rabbitmq-env.conf**
创建后的文件应该显示如下
    [[email protected] rabbitmq]# pwd
    /usr/local/software/rabbitmq/rabbitmq_server1/etc/rabbitmq
    [[email protected] rabbitmq]# ll
    总用量 12
    -rw-r--r--. 1 root root 23 6月  11 21:55 enabled_plugins
    -rw-r--r--. 1 root root 58 6月  11 21:37 rabbitmq.conf
    -rw-r--r--. 1 root root 45 6月  11 21:37 rabbitmq-env.conf

默认paht/etc/rabbitmq这个目录下是没有这这两个配置文件的,需手动创建
** touch rabbitmq-env.conf**
rabbitmq-env.conf内容如下:
         NODE_PORT=5673
         NODENAME=rabbitmq-node1

** touch rabbitmq.config**
rabbitmq.config内容如下:
[ {rabbitmq_management, [{listener, [{port, 15673}]}]} ].

其它的节点目录下,可以都创建一下,或者cp过去也可以,但是要注意更改两个地方,一是NODE_PORT=5673更改端口,还有一个你也猜到了port, 15673需要更改。

检查一下,三个节点下是否都有这两个配置文件

**修改hosts文件:**
由于本机搭建是伪集群,所以不用配置 .erlang.cookie,只需配置本机的hosts文件
修改前需要知道本机的Hostname值:
[[email protected] rabbitmq]# hostname
bogon

修改host文件:
vim /etc/hosts
加入配置,ip则是本机ip,bogon是hostname,rabbtmq-node1则是节点名称:
10.1.1.1 [email protected]
10.1.1.1 [email protected]
10.1.1.1 [email protected]

**关键节点**
启动节点1
./rabbitmq_server1/sbin/rabbitmq-server -detached  (-detached 是后台启动方式)

启动节点2:
./rabbitmq_server2/sbin/rabbitmq-server -detached
停止节点服务,但不是节点down了。
cd root路径下:
./rabbitmq_server2/sbin/rabbitmqctl stop_app
./rabbitmq_server2/sbin/rabbitmqctl reset (重置节点,担心此节点加入过其他的集群)
./rabbitmq_server2/sbin/rabbitmqctl  join_cluster --ram [email protected]
./rabbitmq_server2/sbin/rabbitmqctl start_app (重启节点恢复应用)

此时查看节点状态:
[[email protected] rabbitmq]# ./rabbitmq_server/sbin/rabbitmqctl cluster_status
Cluster status of node ‘[email protected]‘ ...
[{nodes,[{disc,[‘[email protected]‘]},{ram,[‘[email protected]‘]}]},
 {running_nodes,[‘[email protected]‘,‘[email protected]‘]},
 {cluster_name,<<"[email protected]">>},
 {partitions,[]},
 {alarms,[{‘[email protected]‘,[]},{‘[email protected]‘,[]}]}]

 会发现节点两个节点已经是集群了,‘rabbitmq-node1‘节点是磁盘节点,‘rabbitmq-node2‘是内存节点

启动节点3:
重复节点2的启动步骤,成功加入到集群里。

这样集群就基本搭建完了。

问题:
1、第一次登陆rabbitmq_management图形化界面,登陆不进去?
如果你安装了图形化界面工具,rabbitmq_management,可以访问对应的节点。
第一次访问的时候,默认用户名和密码都是guest,guest,默认事localhost,那么我们用

授权,新建用户设置。
cd  /usr/local/software/rabbitmq/rabbitmq_server1/sbin这个目录
sh rabbitmqctl add_user admin admin
sh rabbitmqctl list_users
sh rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"
sh rabbitmqctl list_permissions -p /
sh rabbitmqctl set_user_tags  admin administrator
sh rabbitmqctl list_users

这样就可以进入到页面里,用户名admin,密码admin
,可以试试其它的节点下,创建用户。

查看rabbitmq_management页面;

原文地址:http://blog.51cto.com/shangdc/2128395

时间: 2024-07-29 18:15:38

rabbitmq 集群搭建 单机多实例版的相关文章

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集群搭建(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 #

02: rabbitmq - 集群搭建

RabbitMQ-集群 回到正题,为什么搭建rabbitmq集群?rabbitmq集群有那些模式?如何搭建Rabbitmq集群?rabbitmq镜像高可用策略有那些? 设计集群的目的 允许消费者和生产者在 RabbitMQ 节点崩溃的情况下继续运行. 通过增加更多的节点来扩展消息通信的吞吐量. rabbitmq有3种模式  ------   但集群模式是2种 详细如下: 单一模式:即单机情况不做集群,就单独运行一个rabbitmq而已.(上一遍就是单一模式) 普通模式:默认模式,以两个节点(ra

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集群搭建

rabbitmq集群是通过erlang的分布式特性进行rabbitmq集群,各个rabbitmq的服务为相应的节点,每个节点都提供给客户端连接,进行消息的发送与接收. 环境:CentOS 6.8 64位 服务器:192.168.179.128 wangwq01 192.168.179.129 wangwq02 192.168.179.130 wangwq03 1. 主机域名解析 rabbitmq各节点之间通信使用域名,所以集群成员中所有主机名都要可解析,这里使用修改hosts文件来实现解析. 2

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

【zookeeper】 zookeeper 集群搭建

集群搭建环境: 发行版:CentOS-6.6 64bit 内核:2.6.32-504.el6.x86_64 CPU:intel-i7 3.6G 内存:2G 集群搭建步骤: 1. 确保机器安装了jdk [[email protected] ~]# java -version openjdk version "1.8.0_51" OpenJDK Runtime Environment (build 1.8.0_51-b16) OpenJDK 64-Bit Server VM (build

RabbitMq 集群配置

1. RabbitMQ 所需的附属安装包 1.1  openGL安装 执行命令: [[email protected] local]# yum install mesa-libGL-devel mesa-libGLU-devel freeglut-devel gcc glibc-devel make ncurses-devel openssl-devel autoconf xmlto libtool automake -y  1.2  erlang 安装   下载 erlang  http://

大数据-HDFS 集群搭建的配置文件

1.HDFS简单版集群搭建相关配置文件 1.core-site.xml文件 1 <property> 2 <name>fs.defaultFS</name> 3 <value>hdfs://hadoop2:9000</value> 4 </property> 5 6 <property> 7 <name>hadoop.tmp.dir</name> 8 <value>/usr/hadoop