解决C3P0在Linux下Failed to get local InetAddress for VMID问题
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-20
昨天部署两台机器,同时连接的数据库是第三台机器,其中一台生产机运行是发生异常:
报错代码:
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记录的机器加入到此文件中, # 这样会方便网络应用 127.0.0.1 localhost localhost.localdomain 资料参考文章:http://www.hlmz.org/forum/redirect.php?tid=268&goto=lastpost 拥有帝国一切,皆有可能。欢迎访问phome.net 拥有帝国一切,皆有可能。欢迎访问phome.net |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 利用cacti监控memcache下一篇: cpu亲和性设置
关于解决C3P0在Linux下Failed to get local InetAddress for VMID问题的所有评论