consistency ,one (primary shard),all(all shard),quorum(default)
put /index/type/id?consistency=quorum
- one :要求这个写操作,只要有一个primary shard 是active活跃可用的,就可以执行
- all :要求这个写操作,必须所有的primary shard 和replica shard都是活跃的,才可以执行这个操作
- quorum:默认的值,要求所有的shard中,必须是大部分shard都是活跃的,可用的,才可以执行这个写操作
quorum机制
写之前,必须保证大多数shard都可用,int((primary + number_of_replicas) /2 +1) >1
quorum = int((primary + number_of_replicas) /2) +1
如果节点数少于quorum数量,可能导致quorum不齐全,进而导致无法执行任何写操作
3个primary shard,replica=1,要求至少3个shard是active,3个shard按照之前学习的shard&replica机制,必须在不同的节点上,如果说只有2台机器的话,是不是有可能出现说,3个shard都没法分配齐全,此时就可能会出现写操作无法执行的情况
es提供了一种特殊的处理场景,就是说当number_of_replicas>1时才生效,因为假如说,你就一个primary shard,replica=1,此时就2个shard
(1 &