启动Dubbo服务注册到Zookeeper上的IP与本机IP不一致

您所在的位置:网站首页 dubbo服务怎么启动 启动Dubbo服务注册到Zookeeper上的IP与本机IP不一致

启动Dubbo服务注册到Zookeeper上的IP与本机IP不一致

2023-09-09 22:15| 来源: 网络整理| 查看: 265

前言

启动Dubbo服务注册到Zookeeper上的IP与本机IP不一致 通过java获取IP地址与本机IP不一致 Dubbo服务启动失败

问题 问题前提

已排除非host文件中对本机域名转换成其他IP;已排除Dubbo启动配置文件中对本机IP写死或者其他的情况 (同样的操作和配置,自己的服务注册到zookeeper上的IP与本机IP不一致;其他同事注册的IP一致)

问题现象

项目启动成功,但是由于注册到zookeeper上的IP与本机IP不一致导致服务不可用

问题分析

启动Dubbo服务注册到Zookeeper上的IP与本机IP不一致,启动日志中current host非本机的IP地址 在这里插入图片描述

先检查host配置,检查是否对本机地址映射到其他的IP上;检查Dubbo启动的配置文件,是否把IP地址写死

在启动类中加入以下代码,查看启动时读取的IP是哪个IP

InetAddress addr = InetAddress.getLocalHost(); System.out.println("Local HostAddress:"+addr.getHostAddress()); String hostname = addr.getHostName(); System.out.println("Local host name: "+hostname);

启动后发现IP地址非本地IP,但是hostName是本机的hostName 在这里插入图片描述

猜想原因可能是网络中存在同名的hostName,且可能同名的HostName优先注册到网络中导致在通过域名获取IP时优先获取到其他人的IP地址

解决方法,修改本机的hostName,重启电脑 在这里插入图片描述

重新启动dubbo服务,发现服务启动成功,注册成功

此时显示的IP和hostName为自己的IP和对应的hostName.

保险起见可以在host中加入 hostName 和本机IP的映射关系 在这里插入图片描述



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3