浅析RabbitMQ 集群

简介:

浅析RabbitMQ 集群

1.1  基础安装

角色

IP地址

主机名

MQ版本

Master

192.168.103.83

rabbit-jxs-10383

3.5.2-1

slave

192.168.103.84

rabbit-jxs-10384

3.5.2-1

 

1)  配置yum 源 (Master/slave 同时配置)          

    yum -y install epel-release

 

1)    安装erlang (Master/slave 同时配置)

       Yum –y install erlang

           http://www.rabbitmq.com/releases/rabbitmq-server/v3.5.2/rabbitmq-server-3.5.2-1.noarch.rpm

 

2)    安装RabbitMQ (Master/slave 同时配置)

rpm –vih rababitmq-server-3.5.2-1.noarch.rpm

3)    修改主机名

a)      Hostname rabbit-jxs-10383 #slave

b)     Vim /etc/sysconfig/network

  •  Hostname= rabbit-jxs-10383

c)      Vim /etc/hosts (Master/slave 同时配置)

  •  192.168.103.83 rabbit-jxs-10383

  •  192.168.103.84 rabbit-jxs-10384

1.2 MQ Master配置

d)     MQ WEB 配置

  •  [rabbitmq_management,rabbitmq_management_agent].

e)     MQ 服务配置

[root@rabbit-jxs-10383 rabbitmq]# cat rabbitmq.conf

% This file managed by Puppet

% Template Path: rabbitmq/templates/rabbitmq.config

[

  {rabbit, [

    {default_user, <<"guest">>},

    {default_pass, <<"guest>>},

    {tcp_listeners,[5672]},

    {cluster_partition_handling, ignore}

  ]},

  {kernel, [

 

  ]}

].

% EOF

f)      MQ 环境变量配置

[root@rabbit-jxs-10383 rabbitmq]# cat rabbitmq-env.conf

RABBITMQ_NODE_PORT=5672

MNESIA_BASE=/data/rabbitmq/data

LOG_BASE=/data/rabbitmq/log

g)     MQ 创建目录

  •   Mkdir /data/rabitmq/data –p

  •   Mkdir /data/rabbitmq/log –p

  •   Chown rabbitmq:rabbitmq /data/rabbitmq –R

h)     MQ启动服务

  •   Service rabbitmq-serve restart

  •   Chkconfig rabbitmq-server on

i)       MQ 端口监听

[root@rabbit-jxs-10383 rabbitmq]# netstat -tnpl |grep 567

tcp        0      0 0.0.0.0:5672                0.0.0.0:*                   LISTEN      10020/beam.smp     

tcp        0      0 0.0.0.0:25672               0.0.0.0:*                   LISTEN      10020/beam.smp     

tcp        0      0 0.0.0.0:15672               0.0.0.0:*                   LISTEN      10020/beam.smp     

[root@rabbit-jxs-10383 rabbitmq]#

4)    MQ slave 服务配置

a)      同步Master RabbitMQ 文件配置

  •   Scp –p 30000 192.168.103.83:/etc/rabbitmq/* /etc/rabbitmq/

  •   Chown rabbitmq:rabbitmq –R /etc/rabbitmq/ 

b)     MQ 创建工作目录

  •   Mkdir /data/rabbitmq/data –p

  •   Mkdir /data/rabbitmq/log –p

  •   Chown rabbitmq:rabbitmq –R /data/rabbitmq

c)      同步Master Rabbitmq .erlang.cookie

  •   Scp –p 30000 192.168.103.83:/var/lib/rabbitmq/.erlang.cookie ./var/lib/rabbitmq/

  •  Chown rabbitmq:rabbitmq /var/lib/rabbitmq

d)     启动MQ slave  服务

  1. Service rabbitmq-server restart

  2. chkconfig rabbitmq on

1.3 MQ 群集配置 (Mater 操作)

e)     停止Master MQ

  • rabbitmqctl stop_app

f)      清空Master MQ信息

  •  rabbitmqctl reset

g)     加入10384 到MQ集群中

  •  rabbitmqctl  join_cluster rabbit@rabbit-jxs-10384

h)     启动MQmaster 服务

  • rabbitmqctl start_app

i)       查看状态

[root@rabbit-jxs-10383 ~]# rabbitmqctl cluster_status

Cluster status of node 'rabbit@rabbit-jxs-10383' ...

[{nodes,[{disc,['rabbit@rabbit-jxs-10383','rabbit@rabbit-jxs-10384']}]},

 {running_nodes,['rabbit@rabbit-jxs-10384','rabbit@rabbit-jxs-10383']},

 {cluster_name,<<"rabbit@rabbit-jxs-10383">>},

      {partitions,[]}]

1.4 MQ 后续工作

1) 创建Rabbit 管理用户

a)      rabbitmqctl add_user admin admin

2) 赋予用户权限

a)      rabbitmqctl set_user_tags admin administrator

3) MQ 镜像实现

a)      rabbitmqctl set_policy ha-all "^" '{"ha-mode":"all"}'

4) 完成MQ配置

a)      http://192.168.103.84:15672




本文转自 swq499809608 51CTO博客,原文链接:http://blog.51cto.com/swq499809608/1665970
相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
3月前
|
消息中间件 负载均衡 监控
【面试问题】RabbitMQ 的集群
【1月更文挑战第27天】【面试问题】RabbitMQ 的集群
|
6月前
|
消息中间件 存储 Kubernetes
k8s1.20版本部署RabbitMQ集群(持久化)——2023.05
k8s1.20版本部署RabbitMQ集群(持久化)——2023.05
249 1
|
6月前
|
消息中间件 存储 监控
消息中间件第八讲:消息队列 RocketMQ 版实战、集群及原理
消息中间件第八讲:消息队列 RocketMQ 版实战、集群及原理
|
2月前
|
消息中间件 运维 应用服务中间件
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
容器化运维:构建高可用RabbitMQ集群的Docker Compose指南
149 0
|
3月前
|
消息中间件 存储 缓存
RabbitMQ 集群和镜像队列
【1月更文挑战第11天】 一、clustering(集群) 1、使用集群的原因 2、搭建步骤 2.1、拉取镜像 2.2、创建三个RabbitMQ容器节点 2.3、集群搭建 二、镜像队列 1、使用镜像的原因 2、搭建步骤
241 5
|
5月前
|
消息中间件 测试技术
|
5月前
|
消息中间件 存储 容器
|
5月前
|
消息中间件 Java Spring
搭建高可用rabbitmq集群及spring boot实现集群配置
搭建高可用rabbitmq集群及spring boot实现集群配置
|
7月前
|
消息中间件 存储 监控
RocketMQ集群搭建
RocketMQ集群搭建
163 1
|
7月前
|
消息中间件 负载均衡 监控
RabbitMQ集群搭建
RabbitMQ集群搭建
100 0