环境要求
1.jdk1.8+
1.下载
wget https://archive.apache.org/dist/rocketmq/4.7.1/rocketmq-all-4.7.1-bin-release.zip --no-check-certificate
2.解压
unzip/rocketmq-all-4.7.1-bin-release.zip
3.修改配置文件
cd bin
vim runserver.sh
# 定位到如下代码
JAVA_OPT="${JAVA_OPT} -server -Xms4g -Xmx4g -Xmn2g -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
# 修改 "-Xms -Xmx -Xmn" 参数
JAVA_OPT="${JAVA_OPT} -server -Xms512M -Xmx512M -Xmn256M -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
调整 JVM 参数 主要是用来测试,生产环境根据实际硬件内存调整
4.启动 NameServer
nohup sh mqnamesrv > nameser.log 2>&1 &
启动成功,也可以使用 jps
命令查看进程
5.修改 broker.conf 配置文件
vim conf/broker.conf
添加以下内容
storePathRootDir=/data/rocketmq/store
storePathCommitLog=/data/rocketmq/store/commitlog
namesrvAddr=127.0.0.1:9876
brokerIP1=192.168.10.120
brokerIP2=192.168.10.120
autoCreateTopicEnable=false
aclEnable=true
aclEnable=true
开启 ACL
创建对应文件目录
mkdir -p /data/rocketmq/store
mkdir -p /data/rocketmq/store/commitlog
6.配置 ACL
vim conf/plain_acl.yml
globalWhiteRemoteAddresses:
accounts:
- accessKey: RocketMQ
secretKey: 12345678
whiteRemoteAddress:
admin: false
defaultTopicPerm: DENY
defaultGroupPerm: SUB
topicPerms:
- TopicTest=PUB
groupPerms:
# the group should convert to retry topic
- oms_consumer_group=DENY
- accessKey: admin
secretKey: 12345678
whiteRemoteAddress:
# if it is admin, it could access all resources
admin: true
7.修改 Broker JVM 参数
vim bin/runbroker.sh
定位到
根据硬件内存调整,过大会导致 Broker 无法启动
8.启动 Broker
bin目录下执行
nohup sh mqbroker -c ../conf/broker.conf > mqbroker.log 2>&1 &
使用 jps
命令查看
使用以下命令查看集群状态
sh ./mqadmin clusterList -n 127.0.0.1:9876
安装 RocketMQ-Console
官方提供的运维管理界面
官方未提供 RocketMQ-Console 安装包,需要通过源码编译
1.下载源码
wget https://github.com/apache/rocketmq-externals/archive/rocketmq-console-1.0.0.tar.gz
tar -xf rocketmq-console-1.0.0.tar.gz
# 重命名,为了方便后续操作
mv rocketmq-externals-rocketmq-console-1.0.0/rocketmq-console rocketmq-console
2.修改配置文件
指定 nameserver ip
cd rocketmq-console
vi src/main/resources/applications.properties
3.使用 Maven 编译打包
mvn clean package -DskipTests
4.启动 RocketMQ-Console
nohup java -jar rocketmq-console-ng-1.0.0.jar > RocketMQ-Console.log 2>&1 &
http://ip:8080/#/consumer
排错
1.RocketMQ 控制台This date have’t data
需要时间同步 参考 https://blog.csdn.net/BoomLee/article/details/82767171