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

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

  • RocketMq(一)-下载安装

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

一、下载项目

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

(1) 访问rocketmq-externals项目

https://github.com/apache/rocketmq-externals
RocketMq(二)-访问面板搭建及问题修复_第1张图片
可以直接下载,建议先fork到自己账号
使用idea直接下载
RocketMq(二)-访问面板搭建及问题修复_第2张图片
但目前下载下来并无面板的代码,需要切换下分支
RocketMq(二)-访问面板搭建及问题修复_第3张图片
然后修改配置文件application.properties,将rocketmq.config.namesrvAddr设置为自己的RocketMq的nameserver访问地址即可启动,如localhost:9876

(2) 访问rocketmq-dashboard项目

https://github.com/user-system/rocketmq-dashboard
下载修改application.yml中namesrvAddr即可启动访问
在这里插入图片描述
注:namesrvAddr也可以不修改,可以在登录面板运维处修改
RocketMq(二)-访问面板搭建及问题修复_第4张图片

二、访问效果

RocketMq(二)-访问面板搭建及问题修复_第5张图片

三、踩的坑

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

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

RocketMq(二)-访问面板搭建及问题修复_第6张图片
重启broker

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

3、修改rocketmq版本

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

4.9.4

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

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

改为:

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

在这里插入图片描述
(2)添加参数
RocketMq(二)-访问面板搭建及问题修复_第7张图片
(3)添加抛异常,有多处,不一一举例了
RocketMq(二)-访问面板搭建及问题修复_第8张图片

四、参考链接:

  • RocketMQ连接报错RemotingConnectException: connect to <172.17.0.1:10:109011>解决

你可能感兴趣的:(学习,rocketmq,服务器,运维)