1、搭建RocketMQ2、启动RocketMQ3、关闭rocketmq4、测试rocketmq5、Broker更多配置及启动6、WEB监控平台搭建 1、搭建RocketMQ
注意:云服务器需要开启10911、10909、9876、9875(web管理页面)端口
1、下载RocketMQ
地址:https://archive.apache.org/dist/rocketmq/ ,选择:rocketmq-all-xxx-bin-release.zip 版本进行下载
2、安装
文档搭建版本为 4.9.2
操作目录:cd /opt/rocketmq
将下载好的rocketmq包,上传到/opt/rocketmq目录下
2、启动RocketMQ直接解压压缩包:
unzip rocketmq-all-4.9.2-bin-release.zip
目录结构:
bin:启动脚本,包括shell脚本和CMD脚本conf:实例配置文件 ,包括broker配置文件、logback配置文件等lib:依赖jar包,包括Netty、commons-lang、FastJSON等
建立日志目录:
mkdir /opt/rocketmq/rocketmq-4.9.2/logs -p
配置环境变量:
vim /etc/profile# 追加以下配置export rocketmq=/opt/rocketmq/rocketmq-4.9.2export PATH=$PATH:$rocketmq/bin# 刷新配置source /etc/profile
1、修改内存大小
RocketMQ启动时可能会存在内存占过大,编辑runbroker.sh和runserver.sh修改默认JVM大小;
cd /opt/rocketmq/rocketmq-4.9.2/bin
修改runbroker.sh:
vim runbroker.shJAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
修改runserver.sh:
vim runserver.shJAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:metaspaceSize=128m -XX:MaxmetaspaceSize=320m"
2、启动NameServer
# 进入目录cd /opt/rocketmq/rocketmq-4.9.2# 启动命令nohup sh bin/mqnamesrv &>/opt/rocketmq/rocketmq-4.9.2/logs/mqnamesrv.log 2>&1 &
查看启动日志:
tailf logs/mqnamesrv.log
3、启动Broker
修改配置:
vim /opt/rocketmq/rocketmq-4.9.2/conf/broker.conf# 最后加上,当前机器公网IPbrokerIP1=
# 进入目录cd /opt/rocketmq/rocketmq-4.9.2# 启动Broker,-n 指向NameServer地址,多个由`;`分开,也可以在配置文件中设置nohup sh bin/mqbroker -n 162.14.119.135:9876 -c /opt/rocketmq/rocketmq-4.9.2/conf/broker.conf autoCreateTopicEnable=true &>/opt/rocketmq/rocketmq-4.9.2/logs/broker.log 2>&1 &
查看启动日志:
tailf logs/broker.log
3、关闭rocketmq# 进入目录cd /opt/rocketmq/rocketmq-4.9.2# 1.关闭NameServersh bin/mqshutdown namesrv# 2.关闭Brokersh bin/mqshutdown broker
4、测试rocketmq1、发送消息
# 进入目录cd /opt/rocketmq/rocketmq-4.9.2# 1.设置临时环境变量export NAMESRV_ADDR=162.14.119.135:9876# 2.使用安装包的Demo发送消息sh bin/tools.sh org.apache.rocketmq.example.quickstart.Producer
2、接收消息
# 1.设置环境变量export NAMESRV_ADDR=162.14.119.135:9876# 2.接收消息sh bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer
如果控制台不报错,并且打印打量日志信息则表示成功
5、Broker更多配置及启动默认的broker.conf中,配置项较少,可以自己通过建立properties文件配置更多属性,启动时配置文件执行properties即可:
# 指定配置文件启动nohup sh bin/mqbroker -c /opt/rocketmq/rocketmq-4.9.2/conf/broker.properties &>/opt/rocketmq/cluster/logs/broker.log 2>&1 &
properties文件配置内容:
#所属集群名字brokerClusterName=rocketmq-cluster#broker名字,注意此处不同的配置文件填写的不一样brokerName=broker-a#0 表示 Master,>0 表示 SlavebrokerId=0#nameServer地址,分号分割namesrvAddr=rocketmq-nameserver1:9876;rocketmq-nameserver2:9876#在发送消息时,自动创建服务器不存在的topic,默认创建的队列数defaultTopicQueueNums=4#是否允许 Broker 自动创建Topic,建议线下开启,线上关闭autoCreateTopicEnable=true#是否允许 Broker 自动创建订阅组,建议线下开启,线上关闭autoCreateSubscriptionGroup=true#Broker 对外服务的监听端口listenPort=10911#删除文件时间点,默认凌晨 4点deleteWhen=04#文件保留时间,默认 48 小时fileReservedTime=120#commitLog每个文件的大小默认1GmapedFileSizeCommitLog=1073741824#ConsumeQueue每个文件默认存30W条,根据业务情况调整mapedFileSizeConsumeQueue=300000#destroyMapedFileIntervalForcibly=120000#redeleteHangedFileInterval=120000#检测物理文件磁盘空间diskMaxUsedSpaceRatio=88#存储路径storePathRootDir=/usr/local/rocketmq/store#commitLog 存储路径storePathCommitLog=/usr/local/rocketmq/store/commitlog#消费队列存储路径存储路径storePathConsumeQueue=/usr/local/rocketmq/store/consumequeue#消息索引存储路径storePathIndex=/usr/local/rocketmq/store/index#checkpoint 文件存储路径storeCheckpoint=/usr/local/rocketmq/store/checkpoint#abort 文件存储路径abortFile=/usr/local/rocketmq/store/abort#限制的消息大小maxMessageSize=65536#flushCommitLogLeastPages=4#flushConsumeQueueLeastPages=2#flushCommitLogThoroughInterval=10000#flushConsumeQueueThoroughInterval=60000s
6、WEB监控平台搭建1、下载安装包
注意:因为是下载源码并且需要进行maven打包,所以在本地下载,比如:下载到D盘
下载rocketmq-externals-rocketmq-console-1.0.0.zip包
地址:https://github.com/apache/rocketmq-externals/tags
2、修改配置文件
# 在进行解压以后,进入文件目录,比如:D:rocketmq-externals-rocketmq-console-1.0.0/rocketmq-console/src/main/resources#编辑文本application.properties#配置启动端口,任意不冲突端口,需要开启防火墙和安全组server.port=9875#rocket服务地址,多个由逗号分开rocketmq.config.namesrvAddr=111.229.160.175:9876#数据路径,自己配置rocketmq.config.dataPath=/tmp/rocketmq-console/data
3、maven打包
# 在进行解压以后,进入文件目录,比如:D:rocketmq-externals-rocketmq-console-1.0.0/rocketmq-consolemvn clean package -Dmaven.test.skip=true
5、运行
在服务器的/opt/rocketmq创建web目录及日志目录
mkdir /opt/rocketmq/web -pmkdir /opt/rocketmq/web/logs -p
打包完成后在rocketmq-console/target目录下将rocketmq-console-ng-1.0.0.jar拷贝到服务器中的/opt/rocketmq/web
创建启动脚本
vim /opt/rocketmq/web/start.sh
内容如下:
nohup java -jar rocketmq-console-ng-1.0.0.jar &>/opt/rocketmq/web/logs/console.log 2>&1 &
创建停止脚本
vim /opt/rocketmq/web/stop.sh
内容如下:
ps -ef |grep rocketmq-console-ng-1.0.0.jar |awk '{print $2}'|xargs kill -9
6、测试访问
运行start.sh启动控制台
cd /opt/rocketmq/web#启动脚本sh start.sh
地址:http://xxx.xxx.xxx:9875
效果: