190620-RocketMQ部署

RocketMQ部署

部署架构图

RocketMQ部署

如图所示为RocketMQ基本的部署结构,主要分为NameServer集群、Broker集群、Producer集群和Consumer集群四个部分。

单Master部署

前置条件

  1. 64bit OS, Linux/Unix/Mac is recommended;
  2. 64bit JDK 1.8+;
  3. 4g+ free disk for Broker server

部署步骤

  1. JDK部署

  2. 上传文件到目标服务器并解压

    1
    unzip rocketmq-all-4.7.1-bin-release.zip -d  /usr/local/
  3. 配置文件修改

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    #集群名称
    brokerClusterName = DefaultCluster
    #broker名称
    brokerName = broker-44
    #0表示Master主节点,大于0表示从节点
    brokerId = 0
    #每天执行删除过期文件的时间,默认每天凌晨4点
    deleteWhen = 04
    #文件保留时间,默认72小时
    fileReservedTime = 72
    # 异步复制master角色
    brokerRole = ASYNC_MASTER
    # 异步刷盘
    flushDiskType = ASYNC_FLUSH
    # Broker 监听的端口号
    listenPort=10911
    #Broker 服务地址
    brokerIP1=10.18.23.44
    #是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
    autoCreateTopicEnable=false
    #是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
    autoCreateSubscriptionGroup=false
    #数据存放的根目录
    storePathRootDir=/usr/local/rocketmq-all-4.7.1-bin-release/data/store
    storePathCommitLog=/usr/local/rocketmq-all-4.7.1-bin-release/data/store/commitlog
    # 消费队列存储路径存储路径
    storePathConsumerQueue=/usr/local/rocketmq-all-4.7.1-bin-release/data/store/consumequeue
    #消息索引存储路径
    storePathIndex=/usr/local/rocketmq-all-4.7.1-bin-release/data/store/index
    #checkpoint 文件存储路径
    storeCheckpoint=/usr/local/rocketmq-all-4.7.1-bin-release/data/store/checkpoint
    #abort 文件存储路径
    abortFile=/usr/local/rocketmq-all-4.7.1-bin-release/data/store/abort

    配置文件中只需要brokerName、brokerIP1即可

  4. 调整JVM启动参数
    修改启动堆内存以及新生代大小

    • 修改bin/runserver.sh文件

      1
      JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"

      修改为

      1
      JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
    • 修改runbroker.sh文件

      1
      JAVA_OPT="${JAVA_OPT} -server -Xms8g -Xmx8g -Xmn4g"

      修改为

      1
      JAVA_OPT="${JAVA_OPT} -server -Xms2g -Xmx2g -Xmn1g"
  5. 启动name server服务

    1
    nohup sh bin/mqnamesrv &
  6. 启动broker server服务

    1
    nohup sh bin/mqbroker -c conf/broker.conf -n 10.18.23.44:9876 &

    -n:参数指定name server的地址

  7. 创建topic和订阅组

    1
    2
    sh bin/mqadmin updateTopic -n localhost:9876  -b localhost:10911 -t accessTopic
    sh bin/mqadmin updateSubGroup -n localhost:9876 -b localhost:10911 -g accessTopicGroup

关闭服务

  1. 关闭服务

    1
    sh bin/mqshutdown namesrv
  2. 关闭broker服务

    1
    sh bin/mqshutdown broker

控制台部署

  1. 上传文件到目标服务器

  2. 启动管理平台

    1
    nohup java -jar  -Drocketmq.namesrv.addr=10.18.23.44:9876 -Dcom.rocketmq.sendMessageWithVIPChannel=false rocketmq-console-ng-2.0.0.jar &
  3. 控制台访问
    默认用户名/密码 admin/admin ,登录后页面如下:
    console

常用命令

  1. 创建Topic

    1
    sh bin/mqadmin updateTopic -n xxx:9876 -c DefaultCluster -t TopicTest1
  2. 删除topic

    1
    sh bin/mqadmin deleteTopic -n xxx:9876 -c DefaultCluster -t TopicTest1
  3. 查看topic信息

    1
    sh bin/mqadmin topicStatus -n xxxx:9876
  4. 查看所有消费组group

    1
    sh bin/mqadmin consumerProgress -n xxx:9876
  5. 查看指定消费组下的所有topic数据堆积情况

    1
    sh bin/mqadmin consumerProgress -n xxx:9876 -g ConsumerGroupName
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×