RocketMQ 安装、集群搭建及常见问题

文章目录

    • 1 单机安装
      • 1.1 安装步骤
      • 1.2 目录介绍
      • 1.3 启动RocketMQ
    • 2 双主双从集群搭建
      • 2.1 总体架构
      • 2.2 集群工作流程
      • 2.3 服务器环境
      • 2.4 Host添加信息
      • 2.5 防火墙配置
      • 2.6 环境变量配置
      • 2.7 创建消息存储路径
      • 2.8 broker配置文件
        • 1)master1
        • 2)slave2
        • 3)master2
        • 4)slave1
      • 2.9 修改启动脚本文件
        • 1)runbroker.sh
        • 2)runserver.sh
      • 2.10 服务启动
        • 1)启动NameServe集群
        • 2)启动Broker集群
      • 2.11 查看进程状态
      • 2.12 查看日志
    • 3 集群监控平台搭建
      • 3.1 概述
      • 3.2 下载并编译打包
    • 4 常见安装问题
    • References

1 单机安装

1.1 安装步骤

以二进制包方式安装

  1. 解压安装包

  2. 进入安装目录

1.2 目录介绍

  • bin:启动脚本,包括shell脚本和CMD脚本

  • conf:实例配置文件 ,包括broker配置文件、logback配置文件等

  • lib:依赖jar包,包括Netty、commons-lang、FastJSON等

1.3 启动RocketMQ

  1. 启动NameServer

      # 1.启动NameServer
      nohup sh bin/mqnamesrv &
      # 2.查看启动日志
      tail -f ~/logs/rocketmqlogs/namesrv.log
    
  2. 启动Broker

    # 1.启动Broker
    nohup sh bin/mqbroker -n localhost:9876 &
    # 2.查看启动日志
    tail -f ~/logs/rocketmqlogs/broker.log 
    

2 双主双从集群搭建

2.1 总体架构

消息高可用采用2m-2s(同步双写)方式

RocketMQ 安装、集群搭建及常见问题_第1张图片

2.2 集群工作流程

  1. 启动NameServer,NameServer起来后监听端口,等待Broker、Producer、Consumer连上来,相当于一个路由控制中心。

  2. Broker启动,跟所有的NameServer保持长连接,定时发送心跳包。心跳包中包含当前Broker信息(IP+端口等)以及存储所有Topic信息。注册成功后,NameServer集群中就有Topic跟Broker的映射关系。

  3. 收发消息前,先创建Topic,创建Topic时需要指定该Topic要存储在哪些Broker上,也可以在发送消息时自动创建Topic。

  4. Producer发送消息,启动时先跟NameServer集群中的其中一台建立长连接,并从NameServer中获取当前发送的Topic存在哪些Broker上,轮询从队列列表中选择一个队列,然后与队列所在的Broker建立长连接从而向Broker发消息。

  5. Consumer跟Producer类似,跟其中一台NameServer建立长连接,获取当前订阅Topic存在哪些Broker上,然后直接跟Broker建立连接通道,开始消费消息。

2.3 服务器环境

序号

你可能感兴趣的:(Java,java,分布式,RocketMQ)