Skip to content

Latest commit

 

History

History
238 lines (156 loc) · 5.46 KB

12.1.linux.rocketmq.md

File metadata and controls

238 lines (156 loc) · 5.46 KB

RocketMQ 安装使用教程

1 下载

官网: https://rocketmq.apache.org

2 安装

下载编译好的版本

wget https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.9.2/rocketmq-all-4.9.2-bin-release.zip

解压

tar -zxvf rocketmq-all-4.9.2-bin-release.zip

进入解压后的目录

cd rocketmq-4.9.2

修改配置文件

vim ./bin/runserver.sh
vim ./bin/runbroker.sh

修改 JVM 相关参数

推荐配置

-Xms256m -Xmx256m -Xmn128m -XX:MetaspaceSize=128m  -XX:MaxMetaspaceSize=320m

修改 broker 配置

vim ./conf/broker.conf

添加以下配置,以实现远程连接

nameserAddr=your_public_ip:9876
brokerIP1=your_public_ip

填写公网 ip/内网 IP

开放 RocketMQ 端口(centOS 7)

firewall-cmd --add-port={9876/tcp,10909/tcp,10911/tcp,10912/tcp} --zone=public --permanent

启动 nameServer 服务

nohup bin/mqnamesrv >/dev/null 2>&1 &

nameServer 服务日志

~/logs/rocketmqlogs/namesrv.log

nameServer 启动脚本

start_namesrv.sh

# !/bin/sh
# nameserver 启动脚本

ROCKET_MQ_PATH=/usr/rocketmq-4.9.2

nohup ${ROCKET_MQ_PATH}/bin/mqnamesrv -n localhost:9876 > /dev/null 2>&1 &

启动 broker 服务

nohup bin/mqbroker -n localhost:9876 >/dev/null 2>&1 &

broker 服务日志

~/logs/rocketmqlogs/broker.log 

broker 启动脚本

start_broker.sh

# !/bin/sh
# broker 启动脚本

ROCKET_MQ_PATH=/usr/rocketmq-4.9.2

nohup ${ROCKET_MQ_PATH}/bin/mqbroker -n localhost:9876 -c ${ROCKET_MQ_PATH}/conf/broker.conf > /dev/null 2>&1 &

停止 nameServer 服务

./bin/mqshutdown namesrv

停止 broker 服务

./bin/mqshutdown broker

3 使用

官方文档 Quick Start

Apache RocketMQ with Spring Boot-Baeldung

RocketMQ-Spring 官方示例

RocketMQ踩坑记

RocketMQ-单机版安装及远程连接测试

注意事项:

RocketMQ 消息不消费的场景:  
有两个 Consumer 类,使用相同的 groupName,不同的 topic  
解决办法:  
使用不同的 group,不同的 topic  

设置访问密码

修改 broker 配置文件

vim ./conf/broker.conf

添加配置

aclEnable=true

修改权限配置文件

vim ./conf/plain_acl.yml

配置说明

配置参数 说明 示例
globalWhiteRemoteAddresses 全局白名单,支持多个 IP,如果为空,则表明不限制,即所有 ip 都可访问 192.168.2.*
accessKey 公钥,用户名 10.0.1-100.*
secretKey 私钥,密码
whiteRemoteAddress 白名单 IP
admin 是否为管理员 true,false
defaultTopicPerm 默认主题权限,DENY: 拒绝;SUB: 订阅;PUB: 发布;PUB|SUB: 发布和订阅 PUB|SUB
defaultGroupPerm 默认组权限,参数同 defaultTopicPerm SUB
topicPerms 指定主题的权限,参数同 defaultTopicPerm SUB
groupPerms 注定组权限,参数同 defaultTopicPerm SUB

推荐参数配置:

如果部署的应用都在同一局域网内,则设置全局白名单为局域网的所有网段;如果需要外网访问,且 ip 不固定,则将白名单设置为空,即允许所有远程连接;

如果没有复杂业务和多用户操作,则只需要设置一个管理员用户就可以

globalWhiteRemoteAddresses:

accounts:
- accessKey: admin
  secretKey: 12345abcde
  whiteRemoteAddress:
  admin: true

RocketMQ 控制台

Apache RocketMQ Dashboard

下载源码,修改application.yml配置,与安装的RocketMQ 信息保持一致

rocketmq:
  config:
    # if this value is empty,use env value rocketmq.config.namesrvAddr  NAMESRV_ADDR | now, default localhost:9876
    # configure multiple namesrv addresses to manage multiple different clusters
    namesrvAddrs:
      - 127.0.0.1:9876
      - 127.0.0.2:9876

修改users.properties 配置,设置连接密码

# Define Admin
admin=admin,1

# Define Users
user1=user1
user2=user2

4 问题记录

Windows 系统安装RocketMQ错误: 找不到或无法加载主类 Files\Java\jdk1.8.0_231\lib;D:\Program

将环境变量中的CLASSPATH修改为"CLASSPATH"即可