一、错误
程序启动时提示如下错误:
java.net.UnknownHostException: promote.cache-dns.local: unknown error
直译就是:
主机名promote.cache-dns.local未知,抛出。
二、原因
1.执行hostname
得到主机名promote.cache-dns.local。
2.执行more /etc/hosts
发现没有步骤1得到的主机名。抛出也就不难理解了。
三、解决
CentOS的hostname分为三种类型:
静态的(static),瞬态的(transient),和灵活的(pretty)
执行系统命令hostname得到的是瞬态的主机名,扫描文件中得到的是静态主机名。
将这两者统一起来就可以解决问题了。
1.自定义hostname,假设myname
2.执行hostnamectl set-hostname myname
这个命令能同时修改三种类型的主机名定义。
3.修改/etc/hosts中的定义为myname
四、测试
1.重启系统,执行hostname,发现主机名为myname
2.启动程序,不报错了。