前端时间做新项目的时候遇到一个dubbo的一个问题,在我们项目搭建好后使用了其他同事的支付服务,支付服务架构的方式使用了dubbo服务的方式,使用zookeeper作为注册中心,我们新项目使用dubbo注解的方式引用dubbo服务,然后项目启动的时候发生了我们最不愿意看到的一件事,项目跑不起来了。查看了一下服务,确认服务没有挂,并且在dubbo的管理工具上也找到了这个服务,回到程序报错去看(测试服务器还在使用,就没还原报错信息),发现了一个没见过的IP,很明显是一个内网IP。支付服务跟注册中心都是在一台服务器,而服务的消费者是我的本机,所以内网IP是不能找到支付服务的。也就是说Zookeeper将Dubbo服务生产者的内网地址给了消费者,如果想使用支付服务将消费者放到同一台服务器上就可以找到了,但是这不是解决问题的根本方法,为什么会出现上面的情况,查看了hosts文件发现,是由于在服务器hosts配置的文件将主机名指向了内网IP地址

  

  如此zookeeper才会将内网IP提供给消费者,我们只需要加一个公网IP即可解决问题

  

  hosts文件修改后就能生效,然后重启zookeeper,重启dubbo服务,然后发现可以找到服务了(这里我马赛克了一下,大家也都能看懂,前面就是公网IP然后空格主机名称然后空格主及名称)

  遇到dubbo找不到的问题的时候应该先确认所有提供者与注册中心是否正常,所有配置是不是正确,注册中心地址是不是一样的,检查防火墙是不是关闭,如果在还是没有找到提供者就可以看一下是不是内网IP的原因,这个其实也很好找,只要看控制台的打印就能知道消费者是去那个IP地址找消费者了。文章最后再提一下,有时候hosts修改可能不生效,可以重启一下。

  如何查看自己是否修改成功 uname -a

  

  我打码的名字跟你配置的名字一样的时候就成功了,如果不成功重启一下网络就可以了

  service network restart 当看到ok就重启成功了

  

  

解决dubbo注册zookeeper默认内网ip注册的更多相关文章

  1. Nacos-服务注册地址为内网IP的解决办法

    最近在使用Spring Cloud Alibaba这一套微服务解决方案,但是在服务注册的时候,网关死活找不到微服务地址,自己的微服务通过网关怎么也访问不到. 查找原因 仔细一查才发现,网关去访问了一个 ...

  2. Linux 公网IP和内网IP,Dubbo提供者注册到了内网IP上怎么处理!

    1.将Linux的localhost 改为公网IP: 改完以后重启网卡,并刷新Hosts: 2.将提供者和消息者的Dubbo 都改为公网IP: 3.开放端口:

  3. dubbo调用外网接口 注册外网ip到zookeeper 暴露外网ip

    dubbo注册时会通过主机名寻找ip,会将内网ip注册到zookeeper 如果我们调用外网服务器server的话是找不到的 会报如下错误 [DUBBO] client reconnect to 12 ...

  4. Dubbo_异常_Service启动时默认将方法注册到内网IP

    一.背景 一般Dubbo服务都是通过内网调用,Dubbo服务启动时默认会将服务注册到内网IP,消费端就无法从外网访问. 二.解决过程 1.Linux的hosts中设置外网IP a) 通过hostnam ...

  5. kali&BT安装好之后无法上网(包括Wifi)或者无法获得内网IP解决方法

    大家都知道,要想进行内网渗透攻击,你必须要在那个内网里.但是大家在Vmware里安装kali的时候,大多数用户为了方便,未选择桥接模式,而是选择了使用与本机共享的IP网络当然,这样能上网,但是你的虚拟 ...

  6. 配置NAT回流导致外网解析到了内网IP

    单位有3个域名,用量很大,2014年开始本人研究部署了Bind+DLZ +Mysql的三机智能多链路DNS,非常好用,优点是: 1.使用Mysql管理记录,配置.管理.查询方便. 2.自动判断运营商, ...

  7. 内网ip/公网ip

    ip地址初识: 现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0.地址格式为:IP地址=网络地址+主机地址 或 IP地址=网络地址+子网地址+主机地址. IP地址类型 最初设计互 ...

  8. centos 内网ip访问mysql数据库

    参考博文: CentOS 配置mysql允许远程登录 Centos6.5 双网卡配置一个上外网一个接局域网  这个博文仅作参考 公司租用景安的服务器,给景安沟通配置内网. [root@bogon ng ...

  9. Backbox Linux简介与配置内网IP

    总体说起来,Backbox内置的工具什么的,并不是很多,但是它集成了一些用起来很棒的工具. 比如:Beef.Sqlmap.wpscan.zenmap.msf.w3af.dns嗅探等一系列工具,传说中的 ...

随机推荐

  1. SpringBoot使用thymeleaf案例

    1 编写application.properties文件 spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix=. ...

  2. learning svn diff --summarize

    # svn diff --summarizeA armbian-custom-dc/test/4g-power.shA armbian-custom-dc/test/4g-reset.shM armb ...

  3. Python爬虫 | 多线程、多进程、协程

    对于操作系统来说,一个任务就是一个进程(Process),比如打开一个浏览器就是启动一个浏览器进程,打开一个记事本就启动了一个记事本进程,打开两个记事本就启动了两个记事本进程,打开一个Word就启动了 ...

  4. 使用WinDbg调试入门(用户模式)

    windbg是一个内核模式和用户模式调试器,包含在Windows调试工具中.在这里,提供个实践练习,帮助我们开始使用windbg作为用户模式调试器. 用WinDbg调试记事本 1.导航到安装目录,然后 ...

  5. 微信小程序搜索框代码组件

    search.wxml <view class="header"> <view class="search"> <icon typ ...

  6. GitHub 远程仓库 de 第一次配置

    GitHub远程仓库, Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.首先找一台电脑充当服务器的角色, 每天24小时开机,其他每个人都从这个“服务器”仓库克隆一份到自己的电脑上 ...

  7. Tcl数学运算

    expr 数学表达式 Tcl支持的数学操作符(优先级按照从高到低): -一元负号 +一元正号 ~按位取反 !逻辑非 *乘 /除 %取余 +加号 -减号 <<左移位 >>右移位 ...

  8. 数据库sql优化总结之3--SQL优化总结

    SQL是每个Java程序员必回的一项技能,  对于项目中的各种复杂业务, 你是否能写出高效率, 简洁的SQL对于项目的运行效率和稳定性是有非常大的作用的. 通过个人的理解和网上的资料总结了一下常见的S ...

  9. 自己搭建gitlab服务,组员不能上传代码

    原因是因为  没有拉分支  直接在master 上开撸代码 ,master 分支 默认是受保护的,具体操作如下

  10. java 465端口发送邮件

    package com.fr.function; import java.io.IOException; import java.security.Security; import java.util ...