RocketMq(二)-访问面板搭建及问题修复

上一篇记录了RocketMq下载安装与启动:

本篇记录搭建RocketMq访问面板,是一个SringBoot项目,因此下载修改配置,启动即可。
因为RocketMq安装在阿里云上并非本地,因此也踩了不少坑,在此记录一下。

一、下载项目

建议先将项目fork到自己账号下,然后从自己账号通过git工具下载,这样修改了就可以提交。

(1) 访问rocketmq-externals项目

https://github.com/apache/rocketmq-externals
在这里插入图片描述
可以直接下载,建议先fork到自己账号
使用idea直接下载
在这里插入图片描述
但目前下载下来并无面板的代码,需要切换下分支
在这里插入图片描述
然后修改配置文件application.properties,将rocketmq.config.namesrvAddr设置为自己的RocketMq的nameserver访问地址即可启动,如localhost:9876
也可以直接访问console分支:https://github.com/apache/rocketmq-externals/tree/release-rocketmq-console-1.0.0

(2) 访问rocketmq-dashboard项目

https://github.com/user-system/rocketmq-dashboard
下载修改application.yml中namesrvAddr即可启动访问
在这里插入图片描述
注:namesrvAddr也可以不修改,可以在登录面板运维处修改
在这里插入图片描述

二、访问效果

在这里插入图片描述

三、踩的坑

启动访问并未能达到预期效果,会有各种报错,遇到后一一处理

1、连接不上服务器9876端口

则需要在阿里云安全规则中添加规则,配置端口9876,也需要确保防火墙放行9876端口(可以在宝塔管理页面设置)
配置后可以连接RocketMq,但是还会报其他连接异常,需要添加开放以下端口:9876、10909、10911、10912

2、连接报错RemotingConnectException: connect to 172.17.0.1:10:109011

启动后定时任务持续报错:

java.lang.RuntimeException: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to 172.16.0.155:10911 failed
	at com.google.common.base.Throwables.propagate(Throwables.java:160)
	at org.apache.rocketmq.console.service.impl.ClusterServiceImpl.list(ClusterServiceImpl.java:63)
	at org.apache.rocketmq.console.controller.ClusterController.list(ClusterController.java:38)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:220)
	at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:134)
	at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:116)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)
	at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)
	at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
	at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)
	at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)
	at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
	at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
	at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:230)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:165)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	...

解决方法:修改RocketMq安装目录下conf文件夹下的broker.conf文件,添加一行brokerIP1=<本机ip>,例如

brokerIP1=192.168.1.19

在这里插入图片描述
重启broker

# cd ../bin
# nohup sh mqbroker -n localhost:9876 -c ../conf/broker.conf &

3、修改rocketmq版本

如果需要或者避免兼容性问题,需要修改pom文件rocketmq版本号,以修改rocketmq-externals项目为例,本篇修改为

<rocketmq.version>4.9.4</rocketmq.version>

修改后编译会报错,报错一个个处理,基本上参数不对应、接口方法未实现、异常未抛出等,举例调整代码:
(1) 将

DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, null);

改为:

RPCHook rpcHook = null;
DefaultMQPullConsumer consumer = new DefaultMQPullConsumer(MixAll.TOOLS_CONSUMER_GROUP, rpcHook);

在这里插入图片描述
(2)添加参数
在这里插入图片描述
(3)添加抛异常,有多处,不一一举例了
在这里插入图片描述

四、参考链接:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值