防止wsl 自动生成hosts,连接错误 java.net.UnknownHostException: No such host is known (TestServer.localdomain) 解决方法
在Window10 系统,hbase 运行在WSL子系统下,在IDEA里调试springboot 程序访问hbase的时候,出现连接错误:
这是一个全限定域名的地址,在wsl里执行 hostname -f 可以看到
在wsl里打开 /etc/hosts 文件,可以看到有一行地址 127.0.1.1 xxx.localdomain, 这是一个全限定域名FQDN(Fully Qualified Domain Name),FQDN不只需要主机名还需要主机域名,其表达形式为hostname.domainname,这个hosts 文件是WSL启动自动生成的,所以即使修改了这个文件,将127.0.1.1 修改为127.0.0.1 ,重启了WSL后,还是不生效,看到第一行有个提示,需要在/etc 下创建一个wsl.conf
于是添加/etc/wsl.conf 文件,内容为
[network] generateHosts = false
关闭wsl,执行 wsl --shutdown,然后重新在启动wsl,查看/etc/hosts 文件,发现已经修改成功,没有再变回去了,再次运行springboot 访问hbase,错误消失