居然是你

Es集群中节点断网和节点服务宕掉为什么现象不同?

Elasticsearch | 作者 zping | 发布于2021年01月14日 | 阅读数:1784

由3台服务器组成一个Es集群,3台既是master又是数据节点,创建一个5个分片,2个副本的索引a,往里面写入测试数据。假设node1和node2在一个网络,node3在另外一个网络,此时断开网络,那么查询集群上的索引a的数据,会出现有的查询能立即返回数据,有的查询却不能立即返回数据;另一种情况,将node1和node2的es进程杀掉,此时查询数据都是能查询到的,为什么会出现这种现象,哪位大神能帮忙解答下?
已邀请:

JiangJibo - 喊我雷锋

赞同来自:

进程杀掉,会有个回调,反馈master当前集群少了一个node,修改集群路由信息,后续发往此node的请求都取消。因为你的索引有replica,一个分片的primary和replica不会分配到同一个node上,后续请求已下线的node的数据可以从正常的机器上的副本上获取,所以能马上返回。
 
而断网不会立即更新集群的状态信息,路由还存在的,需要master定期的ping过之后才会下线node

要回复问题请先登录注册