topic主题 - 里边存在多个队列(队列是真实存在的)
rocketMQ安装及配置
一、官网下载
windows和linux系统版本都一样。Binary 下载
下载 | RocketMQ (apache.org)
二、修改运行内存及broker.conf、配置环境变量
1、修改根目录->bin目录下runserver.sh
2、修改根目录->bin目录下runbroker.sh
3、修改根目录下conf目录下的 broker.conf文件,添加如下配置:
// nameserver服务(如果线上需要ip换成公网ip)
namesrvAddr=localhost:9876
// 是否自动创建主题,线上环境需要关闭
autoCreateTopicEnable=true
// broker的ip(如果线上需要ip换成公网ip)
brokerIP1=192.168.31.143
4、配置nameServer环境变量,即:NameServer地址
rocketMQ在启动的时候,也会去环境变量里边读取 NAMESRV_ADDR的值。
// 编辑系统变量配置文件
vim /etc/profile// 如果是生产环境需要把localhost改成公网ip
// 因为我是在虚拟机上搭建的,所以写成localhost了
export NAMESRV_ADDR=localhost:9816// 编辑完保存之后,记得刷新
source /etc/profile
注意:
如果生产环境,需要把端口放开:
9876 :nameServer端口
10100到11000:broker的端口。
三、运行启动 NameServer 和 Broker
注:
(1)是在linux中运行的,因为生产环境使用rocketmq一般是在linux环境下,整个虚拟机就可以了。
(2)需要安装java,因为rocketmq是用java编写的。
1、启动:mqnamesrv ,且后台运行
// > 日志输出在哪一个目录
// 输出在当前文件夹的上一级目录下的namesrv.log 文件
// 注意:需要在rocketmq根目录下的bin目录下执行下边命令
nohup sh mqnamesrv > ../namesrv.log &
2、启动mqbroker,启动的时候,需要给mqbroker指定一个配置文件,这个配置文件是在 rocketmq根目录下的conf目录下的 broker.conf 文件。
// 运行下边命令的时候,是在bin目录下
// -c 指向配置文件
// 日志输出到上一级目录下的 broker.log 文件中
nohup sh mqbroker -c ../conf/broker.conf > ../broker.log &
注意启动顺序,先启动mqnamesrv,在启动mqbroker。
3、查看2个服务是否启动成功
jps 是java自带的命令
四、补充:运行rocketMQ 可视化界面
后台运行此服务,rocketmq-dashboard-1.0.0.jar 包是rocketmq自带的可视化界面服务。
// --server.port=38888 动态修改配置文件中的端口号
// rocketmq.config.namesrvAddr=127.0.0.1:9876 配置mq的nameserver地址
// > mqdashboard.log 日志文件输出
nohup java -jar rocketmq-dashboard-1.0.0.jar --server.port=38888 --rocketmq.config.namesrvAddr=127.0.0.1:9876 > mqdashboard.log &
坑:
服务启动成功,但是页面访问不了,查看日志服务一切都正常,很大原因是:cenos7 默认使用firewall作为防火墙,执行下边命令关掉防火墙即可:
// 关掉cenos7 firewall 防火墙
sudo systemctl stop firewalld
此时页面访问正常了: