Hi all,
I am trying to setup async replication with a multi-dc setup. Here is
my scenario:
- I will have 3 nodes in each DC. For now, assume I have only 2 DCs.
- I would like to use async replication, such that it writes synchronously
to the primary shard, but writes to only one node asynchronously in the
remote DC. - I would like to have 2 replicas. So, 3 copies in all.
I have looked at the cluster awareness settings here
http://www.elasticsearch.org/guide/en/elasticsearch/reference/current/modules-cluster.html.
However, I am not sure how it will work in practice, because if I simply
set "async" replication on each indexing request, it may choose to
replicate all 3 copies locally (including the primary) or even worse, 1
copy locally and 2 copies in the remote DC.
If I use the dc as the cluster awareness attribute, it will create only 1
copy in the local dc and another one in the remote DC. That won't satisfy
by 3 copies requirement.
If I create an additional attribute which is zone like this:
cluster.routing.allocation.awareness.attributes: dc, zone
and divide my DC into zone 1 (1 node?) and zone 2 (2 nodes?) and vice-versa
in the remote DC, I might be able to distribute the load between zones in
a DC and between DCs for the 3rd copy. However, there is still the
possibility that 2 of it's replica shards might be allocated in the remote
DC, which will prevent me from obtaining local (DC) quorums.
Can someone shed light on how shard allocation works when you have more
cluster allocation attributes than 1?
Also, if there is some known best practice for doing Async Replication with
MultiDC such that local quorums are always possible for reads/writes, it
will be greatly appreciated. In summary, I am looking for 3 copies
including primary. 2 in the local DC and 1 in the remote DC and want to
write synchronously only to the primary shard.
Thanks in advance,
Parag
--
You received this message because you are subscribed to the Google Groups "elasticsearch" group.
To unsubscribe from this group and stop receiving emails from it, send an email to elasticsearch+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/elasticsearch/8f2a2c8c-4910-487c-9e5e-bfcfb96a235d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.