三人行必有我师

es可以做读写分离吗?

Elasticsearch | 作者 Leeeo | 发布于2019年07月22日 | 阅读数:5720

因为写都是往主分片中写嘛。。比如我有10台服务器,10个节点。可不可以规定所有的主分片都在1,2,3节点;而所有的副分片都在另外的7个节点。这样写都会用1,2,3节点的cpu,不影响其他7个节点的读服务。
已邀请:

l769829723

赞同来自:

不知道我理解的对不对,如果你有10台服务器,你可以将其中三台服务器设置role为ingest node和master node,剩余的7台服务器设置role为data node。
 
然后kibana的es 主机配置为后面7台服务器的es url,如果需要通过logstash写入数据的话,配置logstash的es url为前面三台服务器。

dotNetDR_ - elasticsearch 6.x

赞同来自:

文档在写的时候,主分片写完,请求会转发到副本分片的节点上的啊,也就是说副本分片也有一个写入过程。
而且你1,2,3节点其中一个挂掉的话,那么剩余的另外2个就难抗了,我的建议是使用 preference=_replica_first 来指明查询优先从副本分片里查。
 
你硬要在另外的7个节点上查询可以用 preference=_prefer_nodes:4,5,6,7,8,9,10

文档:https://www.elastic.co/guide/e ... .html
 
 

ridethewind

赞同来自:

可以参照冷热分离的实现,看看是否可以满足:
https://blog.csdn.net/jiao_fuy ... 11255

要回复问题请先登录注册