启动异常-java.net.UnknownHostException

博客讲述了在Java项目中遇到的启动异常问题,由于使用了外部挂载的hosts文件导致容器内的hostname映射丢失,从而无法解析ibook5-64745dfd86-qr9z5。解决方案包括非容器化部署时在hosts文件中添加映射,以及容器化部署时在Tomcat的启动脚本中动态添加映射以解决Kerberos认证的Hive连接问题。

启动异常-java.net.UnknownHostException

异常描述:

Unable to set localhost. This prevents creation of a GUID. Cause was: iagtv5-64745dfd86-qr9z5: ibook5-64745dfd86-qr9z5: Temporary failure in name resolution
java.net.UnknownHostException: ibook5-64745dfd86-qr9z5: iagtv5-64745dfd86-qr9z5: Temporary failure in name resolution

Caused by: java.net.UnknownHostException: ibook5-64745dfd86-qr9z5: Temporary failure in name resolution

org.quartz.SchedulerException: Couldn't get host name!

报错暂时解析不了 ibook5-64745dfd86-qr9z5 这个名称。

报错原因分析:

这里是最开始采用项目打jar包+外部挂载hosts映射文件部署方式,当时是因为连接hive进行Kerberos认证需要映射,故把映射信息通过外部挂载方式加到/etc/hosts中,但是后来测试证明了这种挂载方式会把容器原自动生成的ibook5-64745dfd86-qr9z5(hostname) 映射关系给覆盖掉,因为项目中有使用监控模块,在项目启动时需要读取主机信息,而覆盖后的/etc/hosts文件中没有hostname的映射关系,所以报错找不到主机名。

解决办法:

①如果项目不是容器化部署,可以通过在/etc/host

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值