rocketmq

下载地址

windows 安装和使用

  • 配置 环境变量 ROCKETMQ_HOME
  • 部署完成后进入bin目录,修改runserver.cmd的JAVA_OPT,大小可自己调整(初始值太大会导致分配内存不足而出错)
  • 进入到rocketMQ的bin目录下,然后执行下面的命令:
    #启动RocketMQ的注册中心
    start mqnamesrv.cmd
    #执行成功会弹出提示框,不要关闭
    #启动broker
    start mqbroker.cmd -n localhost:9876 -c ../conf/broker.conf autoCreateTopicEnable=true
    #执行成功会弹出提示框,不要关闭
    
当遇到在windows 下 出现无法启动broker的情况时,考虑是否为Rocketmq Broker异常关闭导致
解决方案:
尝试将C盘 C:\Users\用户 的store文件夹删除,再进行启动

windows启动命令:start_mq.bat

端口说明

我们在安装rocketmq后,要开放的端口一般有4个:9876,10911,10912,10909

1. 首先说9876

这个是nameserver中的端口,不做过多解释,链接nameserver就靠这个端口

2. 剩下的3个都是RocketMQ-Broker中的端口

listenPort

listenPort参数是broker的监听端口号,是remotingServer服务组件使用,作为对Producer和Consumer提供服务的端口号,默认为10911,可以通过配置文件修改。

打开broker-x.conf,修改或增加listenPort参数:

#Broker 对外服务的监听端口
listenPort=10911

fastListenPort

fastListenPort参数是fastRemotingServer服务组件使用,默认为listenPort - 2,可以通过配置文件修改。

打开broker-x.conf,修改或增加fastListenPort参数

#主要用于slave同步master
fastListenPort=10909

haListenPort

haListenPort参数是HAService服务组件使用,用于Broker的主从同步,默认为listenPort - 1,可以通过配置文件修改。

打开broker-x.conf,修改或增加haListenPort参数:

#haService中使用
haListenPort=10912
~

remotingServer和fastRemotingServer的区别:

Broker端:

remotingServer可以处理客户端所有请求,如:生产者发送消息的请求,消费者拉取消息的请求。</br> fastRemotingServer功能基本与remotingServer相同,唯一不同的是不可以处理消费者拉取消息的请求。</br> Broker在向NameServer注册时,只会上报remotingServer监听的listenPort端口。</br>

客户端:

默认情况下,生产者发送消息是请求fastRemotingServer,我们也可以通过配置让其请求remotingServer;消费者拉取消息只能请求remotingServer。

centos 安装

根据下载地址,下载后解压

配置环境变量

  • 修改bin/runserver.sh文件中的JAVA_HOME地址为自己的地址
  • 如果需要调整namesrv占用内存的可以调整JAVA_OPT参数中的-Xms-Xmx参数
  • 同样的修改bin/runbroker.sh文件
    除了修改jdk路径和内存大小外,如果用的jdk是1.8的, broker还需要垃圾回收器,否则会报错Error: VM option 'UseG1GC' is experimental and must be enabled via -XX:+UnlockExperimentalVMOptions.
    在-XX:+UseG1GC前添加-XX:+UnlockExperimentalVMOptions即可,或者换成其他垃圾回收器,比如namesrv的CMS
    
  • 修改conf/broker.conf配置文件
    # nameServer地址,如果有多个nameServer用分号分割
    namesrvAddr = 192.168.0.110:9876 # 填服务器ip, 如有公网ip填公网ip
    autoCreateTopicEnable = true # 开启topic自动创建
    brokerIP1 = 192.168.0.110
    

使用命令

启动mqnamesrv

nohup sh bin/mqnamesrv > mqnamesrv.log 2>&1 &

启动broker

nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf > mqbroker.log 2>&1 &1

关闭服务

./bin/mqshutdown namesrv
./bin/mqshutdown broker

端口说明

我们在安装rocketmq后,要开放的端口一般有4个:9876,10911,10912,10909

配置开机自启

配置rocketmq开机自启,具体启动用户和文件地址按照自己的目录调整

创建脚本

vim /etc/init.d/rocketmq

脚本内容

#!/bin/bash
#
# rocketmq - this script starts and stops the rocketmq daemon
#
# chkconfig: - 85 15

source /etc/profile
workdir="/home/h/soft/rocketmq-all-5.3.1-bin-release"

start() {
  nohup sh $workdir/bin/mqnamesrv >> $workdir/mqnamesrv.log 2>&1 &
  sleep 1
  nohup sh $workdir/bin/mqbroker -n localhost:9876 -c $workdir/conf/broker.conf >> $workdir/mqbroker.log 2>&1 &
}

stop() {
  sh $workdir/bin/mqshutdown broker
  sleep 1
  sh $workdir/bin/mqshutdown namesrv
}

restart() {
  stop
  sleep 5
  start
}

case $1 in
  start)
    start
    ;;
  stop)
    stop
    ;;
  restart)
    restart
    ;;
esac

添加执行权限

chmod +x /etc/init.d/rocketmq

启动命令

service rocketmq start        #启动
service rocketmq stop        #关闭
service rocketmq restart    #重启

results matching ""

    No results matching ""