依赖环境
下载RocketMQ
官网地址:[http://rocketmq.apache.org/release_notes/release-notes-4.2.0/]
- 下载源码方式
下载源码:wget https://archive.apache.org/dist/rocketmq/4.2.0/rocketmq-all-4.2.0-source-release.zip
解压文件:unzip rocketmq-all-4.2.0-source-release.zip
cd rocketmq-all-4.2.0/
将源码编译为二进制文件:mvn -Prelease-all -DskipTests clean install -U
cd distribution/target/apache-rocketmq
- 下载二进制文件方式:
下载二进制压缩包:wget https://archive.apache.org/dist/rocketmq/4.2.0/rocketmq-all-4.2.0-bin-release.zip
解压:unzip rocketmq-all-4.2.0-bin-release.zip -d /usr/local/rocketmq-4.2.0
- 直接本地从官网下载后通过ftp的方式上传到服务器
修改启动内存配置(根据服务器配置情况修改)
1.进入你的rocketmq文件夹 cd /usr/local/rocketmq-4.2.0
2.修改 bin/runserver.sh文件内容 vim bin/runserver.s
3.修改 bin/runserver.sh文件内容 vim bin/runserver.sh
修改代理服务配置文件vim conf/broker.conf
# 监听客户端端口
listenPort = 10911
# 服务器地址
namesrvAddr = 公网IP/内网IP:9876
# 如果有多个地址,则应配置
# brokerIP1 =
# broker名字,注意此处不同的配置文件填写的不一样 例如:在a.properties 文件中写 broker-a 在b.properties 文件中写 broker-b
brokerName = broker-test-topic
# 所属集群名字
brokerClusterName = rocketmq-cluster-test
# 0 表示 Master,>0 表示 Slave
brokerId = 0
# 提交日志的文件路径,默认
# storePathCommitLog =
# 消费队列的文件路径,默认
# storePathConsumerQueue =
# 提交日志的映射文件大小, 默认1G
# mapedFileSizeCommitLog =
#何时删除超出保留时间的提交日志
deleteWhen = 04
# 删除提交日志之前保留提交日志的小时数
fileReservedTime = 48
# Broker 的角色: ASYNC_MASTER 异步复制Master ; SYNC_MASTER 同步双写Master; SLAVE
brokerRole = SYNC_MASTER
# 刷盘方式 ASYNC_FLUSH 异步刷盘; SYNC_FLUSH 同步刷盘
flushDiskType = ASYNC_FLUSH
# 是否允许 Broker 自动创建Topic,建议线下开启,线上关闭
autoCreateTopicEnable = false
# 是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭
autoCreateSubscriptionGroup = false
服务的开启与关闭
- 启动nameserver
nohup sh bin/mqnamesrv & tail -f ~/logs/rocketmqlogs/namesrv.log
- 启动broker
nohup sh bin/mqbroker -c conf/broker.conf & tail -f ~/logs/rocketmqlogs/broker.log
-
查看进程是否启动成功
jps
停止broker
bin/mqshutdown broker
- 停止nameserver
sh bin/mqshutdown namesrv
安装RocketMQ可视化管理界面(rocketmq-console)
本文只演示下载到本地打包并上传,服务器直接克隆然后打包的方式请看这
1.安装依赖
安装JDK:https://blog.csdn.net/github_38336924/article/details/84558584
安装打包工具Maven:https://blog.csdn.net/pan_junbiao/article/details/104264644
2.下载源码:https://github.com/apache/rocketmq-externals git克隆太慢了,故这里选择直接下载代码文件的方式
3.将源码中的rocketmq-console文件夹解压到随便一个目录(不能解压到有中文字符的目录)
4修改配置文件(可跳过这步在启动时配置参数)
5.执行打包命令
-
打开cmd进入你解压的rocketmq-console文件目录
执行打包命令
mvn clean package -Dmaven.test.skip=true
6.上传已生成的jar包
7.启动rocketmq-console服务程序
nohup java -jar /usr/local/rocketmq/rocketmq-console-ng-2.0.0.jar &
启动前需保证RocketMQ服务程序与代理程序是启动状态
启动rocketmq-console服务可加参数,语法如下,如果需要修改其他的则继续跟参数即可:
nohup java -jar /usr/local/rocketmq-4.2.0/rocketmq-console/rocketmq-console-ng-2.0.0.jar --rocketmq.config.namesrvAddr='localhost:9876' --server.port=88 &
笔者在运行时指定了ocketmq的运行地址并修改可视化管理中心的运行端口
启动时rocketmq-console服务可加入的参数如下:
server.address=0.0.0.0
server.port=8080
### 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-console
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
#if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876
rocketmq.config.namesrvAddr=
#if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
rocketmq.config.isVIPChannel=
#rocketmq-console's data path:dashboard/monitor
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
#Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required
rocketmq.config.loginRequired=false
#set the accessKey and secretKey if you used acl
#rocketmq.config.accessKey=
#rocketmq.config.secretKey=
笔者英语不好就不给各位翻译了
8.查看rocketmq-console服务是否启动成功
9.停止rocketmq-console服务(使用jps
命令查看进程然后用kill 进程ID
杀掉进程即可)
最终运行效果
打开RocketMQ监控中心网站:http://{ip}:{port}
Console登录账号管理
1.在Spring配置文件resources/application.properties
中修改 开启登录功能
2.确保${rocketmq.config.dataPath}定义的目录存在,并且该目录下创建登录配置文件"users.properties", 如果该目录下不存在此文件,则默认使用resources/users.properties文件。 users.properties文件格式为:
# 该文件支持热修改,即添加和修改用户时,不需要重新启动console
# 格式, 每行定义一个用户, username=password[,N] #N是可选项,可以为0 (普通用户); 1 (管理员)
#定义管理员
admin=admin,1
#定义普通用户
user1=user1
user2=user2
题外话:
笔者只是一个Lunix系统的小白,本文也只为记录自己安装RocketMQ的全过程,文档中如有错误操作的地方请指正。如遇到报错也请各位自行查阅相关文档解决一下