RocketMQ连接报错RemotingConnectException: connect to <192.168.57.129:9876>解决

文章目录

  • 前言
  • 一、RocketMQ 连接报错处理
    • 1.1 报错信息
    • 1.2 修改 broker.conf 文件
    • 1.3 Linux 开放端口
    • 1.4 项目启动成功


前言

上一篇文章:基于SpringBoot整合RocketMQ异步发送短信功能在项目启动的过程中报了 RocketMQ 连接错误。针对这个问题,本文给予记录。

一、RocketMQ 连接报错处理

1.1 报错信息

Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
2023-12-24 21:12:22.374 ERROR 26188 --- [  restartedMain] o.s.boot.SpringApplication               : Application run failedjava.lang.RuntimeException: java.lang.IllegalStateException: org.apache.rocketmq.remoting.exception.RemotingConnectException: connect to [192.168.57.129:9876] failedat org.apache.rocketmq.spring.autoconfigure.ListenerContainerConfiguration.registerContainer(ListenerContainerConfiguration.java:123) ~[rocketmq-spring-boot-2.2.2.jar:2.2.2]at java.util.HashMap.forEach(HashMap.java:1289) ~[na:1.8.0_181]at org.apache.rocketmq.spring.autoconfigure.ListenerContainerConfiguration.afterSingletonsInstantiated(ListenerContainerConfiguration.java:79) ~[rocketmq-spring-boot-2.2.2.jar:2.2.2]at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:963) ~[spring-beans-5.3.6.jar:5.3.6]at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.6.jar:5.3.6]at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.6.jar:5.3.6]at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:144) ~[spring-boot-2.4.5.jar:2.4.5]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:782) [spring-boot-2.4.5.jar:2.4.5]at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:774) [spring-boot-2.4.5.jar:2.4.5]at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:439) [spring-boot-2.4.5.jar:2.4.5]at org.springframework.boot.SpringApplication.run(SpringApplication.java:339) [spring-boot-2.4.5.jar:2.4.5]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1340) [spring-boot-2.4.5.jar:2.4.5]at org.springframework.boot.SpringApplication.run(SpringApplication.java:1329) [spring-boot-2.4.5.jar:2.4.5]at com.huang.quickstart.QuickStartApplication.main(QuickStartApplication.java:12) [classes/:na]at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_181]at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_181]at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_181]at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_181]at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:49) [spring-boot-devtools-2.4.5.jar:2.4.5]

简单的理解就是 RocketMQ 连接不上虚拟机地址 192.168.57.129:9876 信息。

1.2 修改 broker.conf 文件

进入 broker.conf 目录下

cd /mydata/rocketmq/rocketmq-4.9.1/conf
vim broker.conf

加入两行(建议直接复制,然后再修改为自己的IP),一定是大写IP。

namesrvAddr=192.168.57.129:9876
brokerIP1=192.168.57.129

然后重启 nameserver 和 broker (一定要先启动 namesrv,因为消息服务器是注册到命名服务器上的)。

nohup sh mqnamesrv

再启动消息服务器,同时指定刚刚修改过的 conf 文件,不然还是会读取原本默认的阿里外网IP,还是会报错。

nohup sh mqbroker -n 192.168.57.129:9876 -c ../conf/broker.conf

备注:
-n 指定的是注册到哪个消息服务器上
-c 指定的是刚刚修改的conf配置文件

查看日志信息 namesrv 和broker 启动成功

[root@localhost bin]# cat nohup.out 
Java HotSpot(TM) 64-Bit Server VM warning: Using the DefNew young collector with the CMS collector is deprecated and will likely be removed in a future release
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
The Name Server boot success. serializeType=JSON
The broker[broker-a, 192.168.57.129:10911] boot success. serializeType=JSON and name server is 192.168.57.129:9876

重新启动 SpringBoot 项目,发现还是报错 !!!

1.3 Linux 开放端口

排查了一下原因:发现可能是 Linux 中 RocketMQ 的 9876 端口没有开放的问题!!!

1、开启防火墙

systemctl start firewalld

2、开放指定端口

firewall-cmd --zone=public --add-port=9876/tcp --permanent

备注:
–zone 作用域
–add-port=9876/tcp 添加端口,格式为:端口/通讯协议
–permanent 永久生效,没有此参数重启后失效

3、重启防火墙

firewall-cmd --reload

4、查看端口号
netstat -ntlp #查看当前所有tcp端口

netstat -ntulp |grep 9876 #查看所有9876端口使用情况

1.4 项目启动成功

1、开放端口以及重启防火墙

[root@localhost bin]# firewall-cmd --zone=public --add-port=9876/tcp --permanent
success
[root@localhost bin]# firewall-cmd --reload
success

2、重启启动 SpringBoot 项目

2023-12-24 21:38:39.978  INFO 24612 --- [  restartedMain] a.r.s.s.DefaultRocketMQListenerContainer : running container: DefaultRocketMQListenerContainer{consumerGroup='screening-record-consumer_status-change', namespace='', nameServer='192.168.57.129:9876', topic='screening-record-topic', consumeMode=CONCURRENTLY, selectorType=TAG, selectorExpression='status-change', messageModel=CLUSTERING', tlsEnable=false}
2023-12-24 21:38:39.978  INFO 24612 --- [  restartedMain] o.a.r.s.a.ListenerContainerConfiguration : Register the listener to container, listenerBeanName:screeningRecordStatusChangeConsumer, containerBeanName:org.apache.rocketmq.spring.support.DefaultRocketMQListenerContainer_2
2023-12-24 21:38:40.039  INFO 24612 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 9090 (http) with context path ''
2023-12-24 21:38:40.053  INFO 24612 --- [  restartedMain] c.h.quickstart.QuickStartApplication     : Started QuickStartApplication in 8.829 seconds (JVM running for 10.857)

3、项目启动成功,RocketMQ连接报错问题解决!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/584418.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HBase 创建不分裂的表 ( 禁止 Table Split )

注意:由于 HBase 版本众多,配置表的语法在不同版本上会有差异,本文介绍的配置方法是在 1.4.9 版本上测试的,使用 HBase 2.0 的版本需要核实并修改相关配置方法! 有时候,出于特殊需要,我们希望对…

Vuex介绍2

续上一个的Vuex今天继续介绍 4 核心概念-getters 除了state之外,优势还需要从state中派生一些状态,这些状态时依赖state的,此时会用到getters 例如:state中定义了list,为1-10的数组,组件中,需…

PIE-Engine简介

PIE-Engine,是航天宏图基于云计算、物联网、大数据和人工智能技术自主研发的一站式地球科学大数据实时计算平台,平台构建了基于云原生的并行高效底层架构,助力地球科学应用的产业化发展。(摘自官网) 前天,我…

web前端开发网页制作html/css结课作业

效果图展示: 注意事项: 引用JQuery文件地址和图片地址要更换一下。 百度网盘链接: http://链接:https://pan.baidu.com/s/1wYkmLr7csjBwQY6GmlYm4Q?pwd4332 提取码:4332 html界面展示: main.css代码部…

写给工作6年的程序员的一封信

准大牛 ;兄, 希望你不会反感我给你的这个特别的称号,我们程序员中的大部分工作到5~6年这个节骨眼上,不出意外的话…准大牛…了,此时的你技术能力正在成熟或者已然成熟;架构设计力初现峥嵘;创新能…

当技术相遇:DevOps之道解析

目录 前言 持续集成/持续交付(CI/CD) 容器化和编排工具 监控和日志管理 云服务 前言 DevOps是一种软件开发和运维(Development Operations)的方法论,旨在通过促进开发团队和运维团队之间的合作与沟通&#xff0c…

C++ 结构体(面向对象编程)

面向对象编程的优势 相比于分而治之的结构化程序设计,强调大处着眼的面向对象程序设计的思想,更适合于开发大型软件。得益于数据抽象、代码复用等面象对象的固有特征,软件开发的效率获得极大的提升,成本却大幅降低。 面向对象三…

Linux中磁盘管理与文件系统

目录 一.磁盘基础: 1.磁盘的结构: 2.硬盘的数据结构: 3.硬盘存储容量 : 4.硬盘接口类型: 二.MBR与磁盘分区: 1.MBR的概念: 2.硬盘的分区: 为什么分区: 2.表示&am…

10-让Java性能提升的JIT深度剖析

文章目录 JVM的语言无关性解释执行与JITC1、C2与Graal编译器C1编译器C2编译器 分层编译(了解即可)热点代码热点探测方法调用计数器回边计数器 编译优化技术方法内联锁消除标量替换逃逸分析技术逃逸分析的原理逃逸分析 JVM的语言无关性 跨语言(语言无关性&#xff0…

浅谈技术架构的演进过程

前言 最近在学习Redis、Doctor相关技术知识,它们与分布式系统有着很大的关系。 而对于分布式系统,它本身就是随着业务的不断推进,技术架构不断演进而得到发展和实现的。而所谓的分布式系统,实际上就是想办法引入更多的硬件资源&am…

python 异步Web框架sanic

我们继续学习Python异步编程,这里将介绍异步Web框架sanic,为什么不是tornado?从框架的易用性来说,Flask要远远比tornado简单,可惜flask不支持异步,而sanic就是类似Flask语法的异步框架。 github&#xff1…

系统学习Python——装饰器:函数装饰器-[装饰器状态保持方案:外层作用域和全局变量]

分类目录:《系统学习Python》总目录 闭包函数(带有外围def作用域引用和嵌套的def)常常可以实现相同的效果,特别是用于像被装饰的最初咱数这样的静态数据时。然而在下面这个例子中,我们也需要外层作用域中的一个计数器&…

{MySQL} 数据库约束 表的关系 新增删除 修改 查询

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、数据库约束1.1约束类型:1.2 NULL约束1.3unique 唯一约束1.4 DEFAULT:默认值约束1.5 PRIMARY KEY:主键约束1.6 FOREIGN K…

Kaggle:数据科学竞赛的殿堂与个人成长的舞台

一、产品简介: 它是一个举办数据科学竞赛、托管数据库、编写和分享代码的在线平台。这个数据集就像一个超级大的信息库,包含了我们日常生活中的各种事情,比如电子游戏的销量啊,还有空气质量如何受到污染等等。这些信息都是现实中…

java面试题20

Java中的类加载机制可继续通过自定义类加载器来实现热部署、插件化和动态加载等功能,使得应用程序能够在运行时加载未知的类和资源。 什么是Java中的多线程(Multithreading)?它有什么作用? 答案:多线程是一…

排查格式化符与待格式化参数不一致导致的程序崩溃问题

目录 1、问题说明 2、初步分析 3、进一步分析 3.1、查看崩溃时的函数调用堆栈

车载毫米波雷达及芯片新趋势研究1--毫米波雷达与其它车载传感器互补,研发及量产门槛较高

1.1 毫米波雷达是利用毫米波电磁波波束工作的雷达,车载是首要应用场景  毫米波雷达是一种以波长位于1-10mm、频率在30-300GHz的电磁波作为放射波的雷达传感器。  毫米波雷达利用毫米波波束进行工作。①检测障碍物时: 直接通过有无回波确认&#xff…

[递归] 指数型枚举

题目描述 ​ 从 1−n 这 n 个整数中随机选取任意多个,每种方案里的数从小到大排列,按字典序输出所有可能的选择方案。 输入 ​ 输入一个整数 n。(1≤n≤10) 输出 ​ 每行一组方案,每组方案中两个数之间用空格分隔。…

06-C++ 类和对象-多态

类与对象 多态 1. 简介 一个事物的多种形态,简称多态。 物的多态 同一个人在不同人面前,角色不同 如: 在父母面前在对象面前在朋友面前在同事面前 事的多态 同一种事情,在不同情况下展现不同 如: 吃饭 中国人 筷子 …

8天狂收6100颗星,可商用!东京工业、麻省理工等开源Stream Diffusion

加州大学伯克利分校、东洋大学、东京工业大学、麻省理工学院和筑波大学等研究人员,联合开源了一款创新性实时交互图像生成框架——Stream Diffusion。 Stream Diffusion的技术创新点在于,将传统的顺序去噪变成流批处理去噪,消除了漫长的等待…