1. 程式人生 > >dubbo啟動報錯 java.net.UnknownHostException: bogon: bogon: Name or service not known

dubbo啟動報錯 java.net.UnknownHostException: bogon: bogon: Name or service not known

客戶端啟動報UnknownHostException異常:

Caused by: java.lang.RuntimeException: get localhost fail
        at com.alibaba.rocketmq.common.MixAll.localhost(MixAll.java:458)
        at com.alibaba.rocketmq.common.MixAll.<clinit>(MixAll.java:82)
        ... 11 more
Caused by: java.net.UnknownHostException: iZ231wxgt6mZ: iZ231wxgt6mZ: unknown error
        at java.net.InetAddress.getLocalHost(InetAddress.java:1484)
        at com.alibaba.rocketmq.common.MixAll.localhost(MixAll.java:454)
        ... 12 more




ONS客戶端啟動會首先獲取本地地址, 如果出現這類異常,可按照如下方式進行排查:

1. 在報錯機器上執行檢視主機名命令:
  1. [[email protected] ~]# hostname
    iZ231wxgt6mZ


如果執行命令報錯,請檢查是否給hostname定義了別名,比如在.bash_profile或者.bashrc中 alias xxx=‘hostname’; 或者命令路徑不在$PATH下面。


2. ping主機:

[[email protected] ~]# ping iZ231wxgt6mZ

如果無法正常ping通主機名,則需要將本機地址繫結到 /etc/hosts檔案中。 預設
ECS機器都會有一個本地地址和主機名的繫結關係,切勿手動的將其去除。

3. 檢查/etc/sysconfig/network 中的記錄的hostname是否和/etc/hosts中的主機名繫結一致,如果不一致請確保一致。 如果需要修改/etc/sysconfig/network中的內容,修改後需要重啟機器才能生效。 推薦不要隨意修改系統檔案裡的配置,可以會引發一些其他詭異問題

以上三部確認ok後,客戶端啟動就不在會報 UnknownHostException 的異常了。