启动异常-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

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

被折叠的 条评论
为什么被折叠?



