解决C3P0在Linux下Failed to get local InetAddress for VMID问题

5 篇文章 0 订阅

昨天部署两台机器,同时连接的数据库是第三台机器,其中一台生产机运行是发生异常:
报错代码:

Failed to get local InetAddress for VMID. This is unlikely to matter.
At all. We’ll add some extra randomness java.net.UnknownHostException:
p2p-8-41: p2p-8-41

源码大概是这段:

public final class C3P0ImplUtils {
try{
      dos.write( InetAddress.getLocalHost().getAddress() );
    }catch (Exception  e)
      {
       if (logger.isLoggable(MLevel.INFO))
             logger.log(MLevel.INFO, "Failed to get local InetAddress for VMID. This is unlikely to matter. At all. We'll add some extra randomness", e);
           dos.write( srand.nextInt() );
}

}

那么:p2p-8-41是怎么得来的呢?

[root@p2p-8-41 ~]#     cat /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=p2p-8-41

很明确了吧!

解决办法:
搜索谷歌和百度,整合一些资料:
主要是因为系统没有找到主机名p2p-8-41对应的IP,修改Linux的hosts文件即可。具体操作步骤如下:
vi /etc/hosts
在行127.0.0.1 localhost localhost.localdomain 后加上 p2p-8-41保存即可。
Linux查找域名时通常指先查找文件/etc/hosts,找不到时再向DNS服务器请求。

127.0.0.1 localhost.localdomain localhost p2p-8-41

原因分析:
Linux于host相关的几个文件如下:
/etc/host.conf
功能:指定主机名查找方法,通常指先查找文件/etc/hosts,找不到时再向DNS服务器请求。
对于大多数用户不用改动此文件内容。
Linux: /etc/host.conf文件内容
order hosts, bind
multi on
/etc/resolv.conf
文件功能:DNS客户机配置文件,设置DNS服务器的IP地址及DNS域名
相关文件:/etc/host.conf
文件格式:
domainname 域名
search 域名
nameserver Primary_DNS_Server_IP_address
nameserver Second_DNS_Server_IP_address
其中domainname和search可同时存在,也可只有一个;nameserver可指定多个
/etc/hosts
/etc/hosts
文件格式: IPaddress hostname aliases
文件功能: 提供主机名到IP地址的对应关系,建议将自己经常使用的主机
加入此文件中,也可将没有DNS记录的机器加入到此文件中,
这样会方便网络应用

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值