一、錯誤
程序啟動時提示如下錯誤:
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.啟動程序,不報錯了。