Kafka 连接到远程 Broker 出现的 java.net.unknownhostexception 问题

环境介绍: Kafka 3.0.0

在 Windows 10 上面使用 Kafka 连接阿里云的服务器主机时,出现 java.net.unknownhostexception 的异常,这个是由于缺少对应的域名解析而导致的,由于一般的远程主机都是没有注册对应的域名,因此就无法解析远程主机的主机名

为了解决这个问题,按照以下的步骤:

  1. 首先确保远程主机的端口是打开的,即使得别的主机能够访问这台主机的端口。在阿里云的服务器上除了一般的开放端口之外,还需要配置对应的安全组,否则阿里云将会拦截这些没有配置安全组的端口的请求,使得请求失效
  2. 由于我们的服务器主机 ip 没有注册域名,那么只能在本地的 hosts 文件上做文章了,通过手动将主机的 ip 地址映射到一个主机名,应用程序会首先加载本地的 hosts 文件,如果无法找到才会去请求 DNS,这样就从根本上解决了找不到主机的问题

以**管理员**的身份编辑 `hosts` 文件,`windows` 上的 `hosts` 文件在 `C:\Windows\System32\drivers\etc\hosts` ,如果是 Unix 类系统的话,在 `/etc/hosts` 加上对应的 `ip` 和主机名即可,如下所示:
# 这样就将 127.0.0.1 的 ip 映射到了名为 localhost 的主机
127.0.0.1       localhost

边界完成之后再重新启动应用程序,即可解决这个问题

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐