I am using Elasticsearch 1.5.2 and trying to setup a 2-node cluster. These 2 nodes are primarily for failover strategy (if any one node goes down, the other one is still there to handle requests), I don't need to divide primary shards or something like that, (total data is no more than 500mb on hard-disk).
Everything goes well, until Split Brains thing kicks in. Now, since I don't have much data, I don't feel any requirement of 3 nodes. And I want to have failover mechanism too. Which means, discovery.zen.minimum_master_nodes cannot be more than 1.
Now, I have two questions:
Is there any configuration possible, which could overcome 2 master nodes or Split Brains problem?
If not, what all other options do I have to make it work? Like, keeping both in different clusters (one online, other one offline) and updating offline with online, time to time, for the time when online cluster goes down. Or, do I have to go for 3-node cluster?
I am going on production environment. Please help.
Env Info: Two machines (VMWare driven), having 4 cores, 8gb RAM and CentOS. We are firing 7-8 queries (1 _search and other _count) per search. Indexing op won't be very frequent (until we sync existing indices from DB through _bulk API), but searching is going to be quite frequent.
Add another node (master only : data false) with minimal HEAP and set minimum master nodes to 2
or
set minimum master nodes to 2 but in that case your cluster will stop working in case of failure of any node or network failure
I am using Elasticsearch 1.5.2 and trying to setup a 2-node cluster. These
2 nodes are primarily for failover strategy (if any one node goes down, the
other one is still there to handle requests), I don't need to divide primary
shards or something like that, (total data is no more than 500mb on
hard-disk).
Everything goes well, until Split Brains thing kicks in. Now, since I
don't have much data, I don't feel any requirement of 3 nodes. And I want to
have failover mechanism too. Which means,
/discovery.zen.minimum_master_nodes/ cannot be more than /1/.
Now, I have two questions:
Is there any configuration possible, which could overcome 2 master
nodes or *Split Brains *problem?
If not, what all other options do I have to make it work? Like, keeping
both in different clusters (one online, other one offline) and updating
offline with online, time to time, for the time when online cluster goes
down. Or, do I have to go for 3-node cluster?
I am going on production environment. Please help.
Env Info: Two machines (VMWare driven), having 4 cores, 8gb RAM and CentOS.
We are firing 7-8 queries (1 /_search/ and other /_count/) per search.
Indexing op won't be very frequent (until we sync existing indices from DB
through /_bulk/ API), but searching is going to be quite frequent.
If I add one master only node on one of the two existing servers (2 nodes on the same physical server), with HEAP, lets say, 100mb; will that work? Or I have to add another machine for that?
If I add one master only node on one of the two existing servers (2 nodes
on the same physical server), with HEAP, lets say, /100mb/; will that
work? Or I have to add another machine for that?
If I add one master only node on one of the two existing servers (2
nodes on the same physical server), with HEAP, lets say, /100mb/;
will that work? Or I have to add another machine for that?
That should work, but it obviously means that if the machine with two
Elasticsearch nodes is taken out your cluster will be inoperable (but
it will survive if the one-node machine dies).
--
Magnus Bäck | Software Engineer, Development Tools magnus.back@sonymobile.com | Sony Mobile Communications
Sorry to bother you @Mark, but this term appropriate heap size always haunts me. Suppose, I have 2 virtual machines (4 core, 8 gb RAM each).
According to elasticsearch's documentation, half of RAM should be allocated to elasticsearch. So, this is what I came up with:
Do you think this is a sane strategy? Moreover, if I make Master-Only node (Node2) invisible to load balancer i.e. I simply won't include it at all, will it still require 1 gb HEAP?
Please forgive me if I am asking something too naive.
Master only nodes don't need to leverage FS caching as they hold no data.
So you can easily increase their heap to 75% of system.
However you really don't want to have less than 1GB of heap irrespective of
the role it plays.
Sorry to bother you @Mark, but this term appropriate heap size always
haunts me. Suppose, I have 2 virtual machines (4 core, 8 gb RAM each).
According to elasticsearch's documentation, half of RAM should be allocated
to elasticsearch. So, this is what I came up with:
Do you think this is a sane strategy? Moreover, if I make Master-Only
node
(Node2) invisible to load balancer i.e. I simply won't include it at all,
will it still require 1 gb HEAP?
Please forgive me if I am asking something too naive.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.