码迷,mamicode.com
首页 > 其他好文 > 详细

关于elasticsearch node 节点不可用的故障分析

时间:2018-03-13 15:33:22      阅读:298      评论:0      收藏:0      [点我收藏+]

标签:内核内核内核内核内核

开发那边在搭建集群的时候,无论如何测试,node 节点就是连不上,始终报错误

org.elasticsearch.client.transport.NoNodeAvailableException: No node available

后开看了下,本地环境,原因是回话时间太多,而他的本地环境并没有做内核优化,而线上都做了统一的内核优化,其中一条就是吧,检测tcp 连接探测间隔在5秒,对es 来说,太断了,

google 搜到一片文章,连接如下

https://blog.trifork.com/2015/04/08/dealing-with-nodenotavailableexceptions-in-elasticsearch/

大概内容是,这根本因为系统没有调优内核,导致无法连接,与我们相反,他是保持连接时间探测过长导致的

那么我们可以推测,tcp 内核连接,要保持在一定的数值范围内,而且必须与es 连接的工作原理相符,不然linux 系统的防火机制,和tcp 连接探测机制,会把还需要继续保持的连接给干掉,结果就会变成了,没有节点可用

具体操作如下

centos 系统

修改内核参数

net.ipv4.tcp_keepalive_time=7200(默认值)

改为

net.ipv4.tcp_keepalive_time=600(具体看情况)

关于elasticsearch node 节点不可用的故障分析

标签:内核内核内核内核内核

原文地址:http://blog.51cto.com/wks97/2086023

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!