RocketMQ消息队列部署与可视化界面安装
MQ安装部署
最新版本下载:http://rocketmq.apache.org/release_notes
修改配置
vi conf/broker.conf
添加brokerIP1
brokerIP1=192.168.0.1
brokerIP1:配置broker所在服务器的ip地址,以便Name Server连接
修改 runserver.sh 和 runbroker.sh
- runserver.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
- runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms256m -Xmx256m -Xmn125m -XX:MetaspaceSize=128m -XX:MaxMetaspaceSize=320m"
运行Name Server
nohup sh bin/mqnamesrv &
查看运行日志:tail -f ~/logs/rocketmqlogs/namesrv.log
运行Broker
nohup sh bin/mqbroker -n localhost:9876 -c conf/broker.conf &
通过-c参数指定配置文件
查看运行日志:tail -f ~/logs/rocketmqlogs/broker.log
停止服务的方式
sh bin/mqshutdown broker
sh bin/mqshutdown namesrv
安装可视化管理界面
- 下载
https://github.com/apache/rocketmq-externals
- 编译
cd rocketmq-console
mvn clean package -Dmaven.test.skip=true
- 运行
cd target
nohup java -jar \
-Drocketmq.config.namesrvAddr=localhost:9876 \
-Drocketmq.config.isVIPChannel=false \
rocketmq-console-ng-1.0.1.jar &
- 访问
http://localhost:8080/
常见异常处理
MQClientException: No route info of this topic, TopicTest1
异常说明
在客户端的Producer运行起来准备发送消息时抛异常为 “ No route info of this topic ” 异常产生的原因可能是:
Broker 禁止自动创建 Topic,且用户没有通过手工方式创建 Topic
Broker 没有正确连接到 Name Server
Producer 没有正确连接到 Name Server
解决办法
排查1:Broker禁止自动创建Topic,且用户没有通过手工方式创建 Topic
可以在rocketmq所在目录下执行 " sh bin/mqbroker -m " 来查看 broker 的配置参数
排查2:Broker 没有正确连接到 Name Server
通过查看broker的日志 tail -f ~/logs/rocketmqlogs/broker.log 看看有没有错误信息
排查3:Producer 没有正确连接到 Name Server
检查程序连接Name Server的地址有没有错
如果在云服务器上,检查安全组的配置9876端口有没有开发
看看有没有打开防火墙,有的话设置防火墙开放9876端口
RemotingTooMuchRequestException: sendDefaultImpl call timeout
异常说明
在客户端的 Producer 运行起来准备发送消息时抛异常如下
通常因为Name Server连接不上Broker
解决办法
排查1:Broker禁止自动创建Topic,且用户没有通过手工方式创建 Topic
可以在rocketmq所在目录下执行 " sh bin/mqbroker -m " 来查看 broker 的配置参数
autoCreateTopicEnable=true 证明是没有问题的
排查2:Broker 没有正确连接到 Name Server
通过查看broker的日志 tail -f ~/logs/rocketmqlogs/broker.log 看看有没有错误信息
排查3:Producer 没有正确连接到 Name Server
检查程序连接Name Server的地址有没有错
如果在云服务器上,检查安全组的配置9876端口有没有开发
看看有没有打开防火墙,有的话设置防火墙开放9876端口
RemotingTooMuchRequestException: sendDefaultImpl call timeout
异常说明
在客户端的 Producer 运行起来准备发送消息时抛异常如下
通常因为Name Server连接不上Broker
解决办法
检查 rocketmq-console 的集群页签,broker 的地址是否正确
broker地址的配置方式请参考 安装部署 中提到的步骤:
修改broker.conf的配置,添加 brokerIP1 参数
启动broker时加上 -c 参数指定配置文件
消费/查看不了死信队列topic的消息
异常说明
死信队列默认的perm值为2没有查看权限
解决办法
在控制台把队列的perm改为6就可以了
perm为2会导致代码无法消费dlq队列的
最新文章
- 【leetcode】Largest Number ★
- get请求乱码
- 【读书笔记】iOS-自动释放池
- struts2-json-plugin插件实现异步通信
- 【Convert Sorted List to Binary Search Tree】cpp
- Oracle 基础——索引
- C# 如何获取错误所在行数
- Histats安装Counter网站计数器 - Blog透视镜
- Android比较字符串是空的(isEmpty)
- js图片大小限制,设置
- Unity支持的跨平台
- ajax方法如何给全局变量赋值
- 《Mysql 分区分表》
- java数据结构和算法编程作业系列篇-数组
- oracle数据库查询日期sql语句(范例)、向已经建好的表格中添加一列属性并向该列添加数值、删除某一列的数据(一整列)
- Android逆向进阶——让你自由自在脱壳的热身运动(dex篇)
- IntelliJ IDEA 2018.2.2及以下版本破解方法
- e1086. if/else语句
- SQL中減少日志文件大小
- arcgis 线段合并