Redian新闻
>
记一次hosts配置内容过多引起的故障

记一次hosts配置内容过多引起的故障

公众号新闻




记一次hosts配置内容过多引起的故障

问题环境

  • 系统环境

    • CentOS release 6.9 (Final)

    • 2.6.32-696.16.1.el6.x86_64

  • Java 环境

    • 1.8.0_151

  • Apollo

    • 1.4.0

  • 代码框架

    • Spring Boot

问题内容

当我们启动 服务后,服务一直卡在去 Apollo 拉取配置的位置,也就是一直没有拉到配置。

2019-11-20 21:06:47.884 [main] INFO  c.c.f.f.i.p.DefaultApplicationProvider - App ID is set to xdm-test by app.id property from /META-INF/app.properties
2019-11-20 21:06:47.886 [main] INFO c.c.f.f.i.p.DefaultServerProvider - Loading /opt/settings/server.properties
2019-11-20 21:06:47.886 [main] INFO c.c.f.f.i.p.DefaultServerProvider - Environment is set to [PRO] by property 'env' in server.properties.

一直卡在这个位置。

排查方向:

  • Apollo 有问题

    • 手动去模拟请求,是可以拉取到配置的。(Apollo日志有报错)

  • 程序有问题

    • 代码发到 VPC 环境是没有问题的(当时有两套环境),拿上一个版本的代码进行启动也是不行的。

  • Spring Boot 的内置 Tomcat 启动慢(也就是没有启动起来)

    • 更改启动参数使用 /dev/urandom,无效果。

  • 网络问题

    • 手动去模拟请求,是可以拉取到配置的。

  • 其他排查

    • 使用 tcpdump 抓包,没有发现该应用向 Apollo发起拉取配置请求。

问题原因

我们查看在 /etc/hosts 中发现了最近加了一行 host 配置,是域名指向 Nginx 的,域名有 45个,也就是一行内 一个 IP 对应了 45个域名。形如:

192.168.108.108 a1.com a2.com a3.com a4.com a5.com a6.com a7.com a8.com a9.com a10.com a11.com a12.com a13.com a14.com a15.com a16.com a17.com a18.com a19.com a20.com a21.com a22.com a23.com a24.com a25.com a26.com a27.com a28.com a29.com a30.com a31.com a32.com a33.com a34.com a35.com a36.com

问题是 一行 hosts 内容太多了。导致整个 /etc/hosts配置文件没有生效,或者说是紊乱了。

问题解决办法

将上面的一行 hosts 内容放到两行里面。形如:

192.168.108.108 a1.com a2.com a3.com a4.com a5.com a6.com a7.com a8.com a9.com a10.com a11.com a12.com a13.com a14.com a15.com a16.com a17.com a18.com 
192.168.108.108 a19.com a20.com a21.com a22.com a23.com a24.com a25.com a26.com a27.com a28.com a29.com a30.com a31.com a32.com a33.com a34.com a35.com a36.com

然后重启服务。就可以拉取配置了。

思考

其实在之前就有提示这个相关的报错(部分服务会报),就是在启动的时候。报错部分内容如下。

这个问题的原因是 spring-redis 在初始化时会实例化LocalHost,没有在/etc/hosts中找到对应的 主机名和 内网IP相对应的配置,但是我们进行查看的时候,发现这个配置是有的,也就是有 内网IP 和 主机名的对应记录,但是为什么不生效(也不是不生效,是在程序加载的时候不生效,我们手动ping 主机名是解析成功了的),原因就是我们配置了一行超长的 IP 和域名解析记录,当我们把这个长的解析记录分成两行后,这个报错也就不存在了。

扩展

由于上面的系统是 Centos6.9 ,我在想是不是那个版本,或者说是 6版本的BUG,我将这个情况在 CentOS Linux release 7.6.1810 (Core) 内核版本为 3.10.0-957.5.1.el7.x86_64 进行重现,我让 /etc/hosts 的一行也有45个域名,我进行启动程序,发现程序是正常的,可以正常拉取配置的。我又增加了 30个域名,共75个域名在同一行,然后进行重启程序,程序是正常的,可以正常拉取配置的,应该是在 7版本解决了这个问题。

我后面又检测了下 CentOS release 6.10 (Final) 2.6.32-754.11.1.el6.x86_64 发现也还是出现这种问题,在配置了几十个域名在一行后,启动就还会出现这种情况。

链接:https://www.cnblogs.com/operationhome/p/11914245.html

(版权归原作者所有,侵删)


微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
睡眠与表型年龄呈“U形”关系,要睡在拐点处!最新研究:每天7小时睡眠是最佳“保养品”,过多/少的睡眠时间都会加速衰老【新加坡今日要闻】地铁环线出现故障,新中两国领导人见面,IG系统故障无法登入...​好消息!Costco因为通货膨胀稳定部分产品开始降价啦!除了Costco这些商家和产品也跟上了!冬樱 - 迟爱 三沙发用2年也能退 好市多引热议【高级公寓】Boston East|Boston|港口酒店式高端公寓联合股动脉阻滞和股神经阻滞可减少大腿止血带引起的高血压增肌减脂要多吃"蛋白质"?最新研究:摄取过多很伤动脉一次由于八股文引起的内存泄漏固定收益 | 【REITs深度观察】产权型REITs承压下跌,四季度运营边际走弱——(公募REITs2024年2月报)大量假钞已流入澳洲市场! 可通过多种测试! 官方警告: 用了或坐牢12年科学家警告!下一次大流行或由流感病毒引起!物价大对比!美国Costco VS 加拿大Costco:谢谢你,有被安慰到~西太后/Acne Studios 4折!Maison Kitsune小狐狸45折起!加州-Crossroads School For Arts and Sciences十字路口科学艺术学校银行员工的苦日子,还要过多久?Costco 会员优惠只要 $20(原价 $60)!买会员送 Costco Shop CardStarved of Affection at Home, Teens Seek Out ‘Digital Parents’复旦教师杀害学院书记一案判了!被告是限定刑事责任能力,被判死缓!Over 70% of Trip.com Staff Choose Working From HomeCostco买了2年多的旧沙发还能退?一文了解Costco退货政策~假期情人节,甜暖红茶胜过多少甜言蜜语Costco四月零食大赏!照着买,再也不用羡慕别人家的costco了!读鲁迅有感天堂流浪记(十二):第三条破船(4)热议!Costco买的沙发用了两年多后,还能全额退货,这就是为什么喜欢Costco的理由[电脑] 记一次装机|ROG半个全家桶笑喷!“多伦多数学”全网爆火什么梗!炸出一帮段子手,内容过分真实...“太过分了!”多数美国人对小费过多感到沮丧非会员不能去Costco美食广场点餐了!Costco再次严查非会员购物XM boosted by 175 overseas investment projects last year使用策略模式消除冗长的if-else|记一次smart-auto重构总结懒倔混什么都是两面性 .离开跟不离开,只是每个人的选择. 合适自己最好.“在Costco门口给人画笑脸,时薪30刀”,加拿大“铁饭碗”Costco招聘!天道有常(19)
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。