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.2 export 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.sh
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m"
修改runserver.sh:
vim runserver.sh
JAVA_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 # 最后加上,当前机器公网IP brokerIP1=
# 进入目录 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.log3、关闭rocketmq
# 进入目录 cd /opt/rocketmq/rocketmq-4.9.2 # 1.关闭NameServer sh bin/mqshutdown namesrv # 2.关闭Broker sh bin/mqshutdown broker4、测试rocketmq
1、发送消息
# 进入目录 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 表示 Slave brokerId=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每个文件的大小默认1G mapedFileSizeCommitLog=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=60000s6、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-console mvn clean package -Dmaven.test.skip=true
5、运行
在服务器的/opt/rocketmq创建web目录及日志目录
mkdir /opt/rocketmq/web -p mkdir /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
效果:



