歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux環境小問題——Get HostName Error

Linux環境小問題——Get HostName Error

日期:2017/2/28 15:32:26   编辑:Linux教程

之前使用mysql的時候,在配置文件中,已經指明了ip訪問,但無論怎麼寫,得到的都是這個ip主機的別名,很無奈。直到把這台機器重裝後,才徹底解決這個問題。當時沒有多想,碰巧這台虛擬機的宿主機硬件故障需要重新配置,順道解決了這個問題。

如今,配置Kestrel的Worker都是時候,遇到了這樣的問題:

[2012-08-06 11:35:56,165][ERROR][net.rubyeye.xmemcached.monitor.XMemcachedMbeanServer:88] Get HostName Error
java.net.UnknownHostException: 49_114: 49_114
at java.net.InetAddress.getLocalHost(InetAddress.java:1354)
at net.rubyeye.xmemcached.monitor.XMemcachedMbeanServer.initialize(XMemcachedMbeanServer.java:84)
at net.rubyeye.xmemcached.monitor.XMemcachedMbeanServer.<init>(XMemcachedMbeanServer.java:73)
at net.rubyeye.xmemcached.monitor.XMemcachedMbeanServer.<clinit>(XMemcachedMbeanServer.java:66)

這裡的49_114是這台機器的hostname,而我要訪問的是另一個ip。並發我的代碼訪問了localhost,可能xmemcached默認初始化時,進行了本機信息獲取,才導致這一問題。

看看hostname是誰:

引用

$ hostname
49_114
$ hostname -i
hostname: 未知的主機

太悲劇了 ,難怪出現Get HostName Error!

再看看hosts

引用

cat /etc/hosts
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6

這就是悲劇的根源,在hosts中,沒有指明自身ip綁定。
這個問題其實很容易解決,將hostname與localhost綁定即可。

引用
# Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1 49_114 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6


就這麼簡單!

引用

$ hostname
49_114
$ hostname -i
127.0.0.1

這時候,就不會再出來Get HostName Error異常了!

Copyright © Linux教程網 All Rights Reserved