环境依赖
64bit OS, Linux/Unix/Mac is recommended;(Windows user see guide below)
64bit JDK 1.8+;
Maven 3.2.x;
Git;
4g+ free disk for Broker server
安装
cd /usr/local && mkdir rocketmq && cd rocketmq
yum install -y unzip zip wget && wget https://archive.apache.org/dist/rocketmq/4.9.0/rocketmq-all-4.9.0-bin-release.zip
unzip rocketmq-all-4.9.0-bin-release.zip # 解压
mv rocketmq-all-4.9.0-bin-release rocketmq-4.9.0 # 重命名文件夹
修改延时级别
vi /usr/local/rocketmq/rocketmq-4.9.0/conf/broker.conf # 编辑配置文件
# 自定义延迟等级的时间
messageDelayLevel = 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h 1d
修改内存配置
vi /usr/local/rocketmq/rocketmq-4.9.0/bin/runserver.sh # 编辑启动文件
-Xms1g 堆区内存初始大小
-Xmx1g 堆区内存最大上限
-Xmn512m 新生代内存大小
-XX:MetaspaceSize=128m 元空间初始大小
-XX:MaxMetaspaceSize=320m 元空间最大可分配大小
vi /usr/local/rocketmq/rocketmq-4.9.0/bin/runbroker.sh # 编辑启动文件
-Xms1g
-Xmx1g
-Xmn512m
修改日志位置
/usr/local/rocketmq/rocketmq-4.9.0/conf/logback_broker.xml
/usr/local/rocketmq/rocketmq-4.9.0/conf/logback_namesrv.xml
/usr/local/rocketmq/rocketmq-4.9.0/conf/logback_tools.xml
将${user.home}/logs/rocketmqlogs替换成/usr/local/rocketmq/logs(需要自行创建,且分配777权限)
自定义jdk安装路径(解决自启动失败问题)
/usr/local/rocketmq/rocketmq-4.9.0/bin/runserver.sh
/usr/local/rocketmq/rocketmq-4.9.0/bin/runbroker.sh
启动
# 服务和路由
nohup /usr/local/rocketmq/rocketmq-4.9.0/bin/mqnamesrv -n 192.168.214.128:9876 &
# 中间件
nohup /usr/local/rocketmq/rocketmq-4.9.0/bin/mqbroker \
-n 192.168.214.128:9876 \
-c /usr/local/rocketmq/rocketmq-4.9.0/conf/broker.conf \
autoCreateTopicEnable=true &
# 关闭
/usr/local/rocketmq/rocketmq-4.9.0/bin/mqshutdown broker
/usr/local/rocketmq/rocketmq-4.9.0/bin/mqshutdown namesrv
可视化控制台部署
项目下载地址:https://github.com/apache/rocketmq-dashboard
- 自定义配置参数(application.properties)
server.address=0.0.0.0
server.port=8080
### 配置HTTPS方式访问Dashboard
### SSL setting
#server.ssl.key-store=classpath:rmqcngkeystore.jks
#server.ssl.key-store-password=rocketmq
#server.ssl.keyStoreType=PKCS12
#server.ssl.keyAlias=rmqcngkey
#spring.application.index=true
spring.application.name=rocketmq-dashboard
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
logging.level.root=INFO
logging.config=classpath:logback.xml
#如果不指定RocketMQ地址,则默认使用localhost:9876
rocketmq.config.namesrvAddr=
#可以修改这个服务是否使用VIPChannel(如果你的mq server版本小于3.5.8,请设置不使用)
rocketmq.config.isVIPChannel=
#timeout for mqadminExt, default 5000ms
rocketmq.config.timeoutMillis=
#rocketmq-console's data path:dashboard/monitor
# Dashboard文件目录,登录用户配置文件所在目录
rocketmq.config.dataPath=/tmp/rocketmq-console/data
#set it false if you don't want use dashboard.default true
rocketmq.config.enableDashBoardCollect=true
#set the message track trace topic if you don't want use the default one
rocketmq.config.msgTrackTopicName=
rocketmq.config.ticketKey=ticket
# 开启登录功能
# 如果${rocketmq.config.dataPath}目录下不存在users.properties文件,则默认使用resources/users.properties文件
rocketmq.config.loginRequired=true
#set the accessKey and secretKey if you used acl
#rocketmq.config.accessKey=
#rocketmq.config.secretKey=
rocketmq.config.useTLS=false
- 自定义日志输出路径
- 部署
mvn clean package -Dmaven.test.skip=true # 编译
# 创建目录
cd /usr/local/rocketmq/ && mkdir rocketmq-dashboard && cd rocketmq-dashboard # 复制编译后的jar到当前目录
# 后台执行,没有日志
nohup java -jar /usr/local/rocketmq/rocketmq-dashboard/rocketmq-dashboard-1.0.1-SNAPSHOT.jar
--server.port=9877
--rocketmq.config.namesrvAddr=192.168.214.128:9876
>/dev/null 2>&1 &
注意:账号金和密码在users.properties文件中查看或配置