【发布时间】:2016-05-30 10:28:59
【问题描述】:
在我们的部署系统上,我们使用 Java 来获取我们正在使用的部署机器的完全限定域名。
我们使用以下方法: https://docs.oracle.com/javase/8/docs/api/java/net/InetAddress.html#getCanonicalHostName--
迁移到新服务器后,我们遇到了与 systemd 相关的问题,它无法解析域:
Caused by: java.net.UnknownHostException: *machineName*: Name or service not known
这是我们使用的旧实验室与我们的 IT 部门能想到的新实验室之间的唯一区别。
我在网上搜索了 2 天以寻求任何解决方案,但找不到最佳行动方案。
有什么想法吗?
编辑问题:
我尝试过的一些输出 -
root@myd-vm11924:~# hostname
myd-vm11924
root@myd-vm11924:~# hostname -a
hostname: Name or service not known
root@myd-vm11924:~# hostnamectl
Static hostname: myd-vm11924
Icon name: computer-vm
Chassis: vm
Boot ID: ef97951ccad04febb9856013e750e9ee
Virtualization: vmware
Operating System: Ubuntu 14.04.2 LTS
Kernel: Linux 3.13.0-24-generic
Architecture: x86_64
root@myd-vm11924:~#
TIA。
【问题讨论】:
-
在 Ubuntu 14.04 上运行 systemd 是不寻常的。直到后来的版本,它才成为默认的初始化系统。也许这有某种关系。您是否在 Ubuntu 16.04 上尝试过代码?
-
不幸的是,我正在使用 IT 批准的内容,他们提供了我们正在使用的模板和操作系统版本(由于安全要求等)我无法提供 16.04,因为它们不是还支持它。试图获得与 AWS 合作的预算,但在这方面没有运气:)
标签: java hostname systemd fqdn