解决dubbo错误ip及ip乱入问题的方法
作者:双斜杠少年 时间:2023-08-06 17:18:02
问题
在本地启动dubbo时,服务注册在本地的zookeeper ,但是注册IP却不是本地的iP。产生问题,导致consumer 找不到provider ,访问不了服务。
例如 本地IP为 10.0.0.1 ,但是zookeeper上的注册ip 可能是 196.168.0.1
产生原因,随机产生,可能是你重启一下机器,或者电脑小智一段时间就会发生。
报错类似
com.alibaba.dubbo.remoting.RemotingException: client(url: dubbo://100.106.199.34:20880/con.xxxx.xxxx.xxxx.xxxx.NginxLogService?accesslog=./logs/xxxx-xxxx-provider-dubbo.log&anyhost=true&application=xxxx-xxxx&check=false&codec=dubbo&default.accesslog=true&default.check=false&default.delay=-1&default.loadbalance=roundrobin&default.retries=0&default.timeout=60000&delay=-1&dubbo=2.8.4&generic=false&heartbeat=60000&interface=cn.xxxx.xxxx.xxxx.xxxx.NginxLogService&logger=slf4j&methods=getModelPage&organization=xxxx&owner=xxxx&pid=38690&side=consumer×tamp=1545988767460) failed to connect to server /100.106.199.34:20880 client-side timeout 3000ms (elapsed: 3004ms) from netty client 100.106.199.34 using dubbo version 2.8.4
at com.alibaba.dubbo.remoting.transport.netty.NettyClient.doConnect(NettyClient.java:147)
at com.alibaba.dubbo.remoting.transport.AbstractClient.connect(AbstractClient.java:280)
at com.alibaba.dubbo.remoting.transport.AbstractClient$1.run(AbstractClient.java:145)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.remoting.RemoteConnectFailureException: Could not connect to remote service [rmi://192.168.72.235:20881/com.ztesoft.zsmartcity.ynzw.demo.service.DemoService]; nested exception is java.rmi.ConnectException: Connection refused to host: 127.0.0.1; nested exception is:
Caused by: java.lang.IllegalStateException: Failed to check the status of the service com.xxx.xxx.service.LoginService. No provider available for the service com.xxxx.xxxx.service.LoginService:3.0 from the url zookeeper://202.106.199.37:2181/com.alibaba.dubbo.registry.RegistryService?anyhost=true&application=xxx&application.version=3.0&check=false&default.timeout=5000&dubbo=2.5.3&interface=com.xxx.xxx.service.LoginService&methods=aLogin,bPassword,userLogin,modifyPasswordLogin,validate,fVersion,xLogout,userLogout,getTest,getCode,aLogin,aToken,aUser&pid=2200&revision=1.0&side=consumer×tamp=1462534379328&version=3.0 to the consumer 202.106.199.37 use dubbo version 2.5.3
解决方法
在程序配置文件中 配置dubbo 的注册中心“dubbo.registry.address
” 时要注意不要配置127.0.0.1 要配置为 localhost。
然后在配置本地的/etc/hosts 文件中
127.0.0.1 localhost
问题原因
怀疑原因:为本地配置127.0.0.1 时由于连着网络所以dns 解析解析到了你的网络上了。么有解析到本机造成的。但是并不确定是不是这个原因。
来源:https://blog.csdn.net/u012373815/article/details/85278347
标签:dubbo,zookeeper,错误ip
0
投稿
猜你喜欢
C#观察者模式(Observer Pattern)实例教程
2021-07-13 02:53:39
Android view绘制流程详解
2023-05-16 07:53:25
Android编程实现横竖屏切换时不销毁当前activity和锁定屏幕的方法
2022-03-08 17:38:23
spring boot使用thymeleaf为模板的基本步骤介绍
2023-12-13 15:07:23
idea切换分支的时候,忽略一些无用的修改设置
2022-01-10 04:13:37
10分钟带你理解Java中的弱引用
2023-02-09 10:35:55
Java.try catch finally 的执行顺序说明
2022-07-06 00:30:25
unity实现文字滚动效果
2021-08-02 17:29:15
Java Swing JTextArea文本区域的实现示例
2023-10-30 13:40:28
java实现三角形分形山脉
2023-05-23 23:47:40
Java 读写锁实现原理浅析
2023-02-02 06:28:53
Android 读取文件内容实现方法总结
2022-09-15 12:57:56
Android BottomSheet效果的两种实现方式
2022-10-14 02:26:23
Android实现截屏方式整理(总结)
2023-12-07 05:10:18
java selenium元素定位大全
2023-10-23 01:07:42
解决Jenkins集成SonarQube遇到的报错问题
2023-11-24 08:54:10
详解Java编程中线程同步以及定时启动线程的方法
2021-08-31 10:59:20
SpringBoot文件分片上传教程
2023-07-21 21:08:40
C# 实现dataGridView选中一行右键出现菜单的示例代码
2022-05-12 05:15:55
Android使用分类型RecyclerView仿各大商城首页
2021-06-29 12:08:23