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

本文主要是介绍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连接报错问题解决!!!

这篇关于RocketMQ连接报错RemotingConnectException: connect to <192.168.57.129:9876>解决的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/533476

相关文章

W外链微信推广短连接怎么做?

制作微信推广链接的难点分析 一、内容创作难度 制作微信推广链接时,首先需要创作有吸引力的内容。这不仅要求内容本身有趣、有价值,还要能够激起人们的分享欲望。对于许多企业和个人来说,尤其是那些缺乏创意和写作能力的人来说,这是制作微信推广链接的一大难点。 二、精准定位难度 微信用户群体庞大,不同用户的需求和兴趣各异。因此,制作推广链接时需要精准定位目标受众,以便更有效地吸引他们点击并分享链接

字节面试 | 如何测试RocketMQ、RocketMQ?

字节面试:RocketMQ是怎么测试的呢? 答: 首先保证消息的消费正确、设计逆向用例,在验证消息内容为空等情况时的消费正确性; 推送大批量MQ,通过Admin控制台查看MQ消费的情况,是否出现消费假死、TPS是否正常等等问题。(上述都是临场发挥,但是RocketMQ真正的测试点,还真的需要探讨) 01 先了解RocketMQ 作为测试也是要简单了解RocketMQ。简单来说,就是一个分

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

Java 连接Sql sever 2008

Java 连接Sql sever 2008 /Sql sever 2008 R2 import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; public class TestJDBC

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

【VUE】跨域问题的概念,以及解决方法。

目录 1.跨域概念 2.解决方法 2.1 配置网络请求代理 2.2 使用@CrossOrigin 注解 2.3 通过配置文件实现跨域 2.4 添加 CorsWebFilter 来解决跨域问题 1.跨域概念 跨域问题是由于浏览器实施了同源策略,该策略要求请求的域名、协议和端口必须与提供资源的服务相同。如果不相同,则需要服务器显式地允许这种跨域请求。一般在springbo

实例:如何统计当前主机的连接状态和连接数

统计当前主机的连接状态和连接数 在 Linux 中,可使用 ss 命令来查看主机的网络连接状态。以下是统计当前主机连接状态和连接主机数量的具体操作。 1. 统计当前主机的连接状态 使用 ss 命令结合 grep、cut、sort 和 uniq 命令来统计当前主机的 TCP 连接状态。 ss -nta | grep -v '^State' | cut -d " " -f 1 | sort |

速盾高防cdn是怎么解决网站攻击的?

速盾高防CDN是一种基于云计算技术的网络安全解决方案,可以有效地保护网站免受各种网络攻击的威胁。它通过在全球多个节点部署服务器,将网站内容缓存到这些服务器上,并通过智能路由技术将用户的请求引导到最近的服务器上,以提供更快的访问速度和更好的网络性能。 速盾高防CDN主要采用以下几种方式来解决网站攻击: 分布式拒绝服务攻击(DDoS)防护:DDoS攻击是一种常见的网络攻击手段,攻击者通过向目标网

【Go】go连接clickhouse使用TCP协议

离开你是傻是对是错 是看破是软弱 这结果是爱是恨或者是什么 如果是种解脱 怎么会还有眷恋在我心窝 那么爱你为什么                      🎵 黄品源/莫文蔚《那么爱你为什么》 package mainimport ("context""fmt""log""time""github.com/ClickHouse/clickhouse-go/v2")func main(

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文