Yes you can leverage a master to be a search node in that way.

We have a 15 node cluster with 3 masters, I'm thinking I'll add another 2
when we add a few more data nodes in the next few weeks. Essentially you
want an uneven number of masters to ensure a quorum is reached. But when
you start getting large clusters, ie tens of nodes, it doesn't make as much
sense to have n/2+1 masters.

Regards,
Mark Walkom

Infrastructure Engineer
Campaign Monitor
email: ma...@campaignmonitor.com
web: www.campaignmonitor.com


On 22 March 2014 09:36, Josh Harrison <hij...@gmail.com> wrote:

> Awesome, ok, thank you.
> Is the logic behind not allowing storage on master nodes to both:
> Take advantage of a system with limited storage resources
> and
> Have a dedicated results aggregator/search handler?
>
> I can imagine if I had a particularly badly written gnarly search, trying
> to deal with the results on a master and a querying the results at the same
> time could be bad.
>
> So in a 16 node cluster you'd want to have 9 nodes allowed to be masters,
> (n/2)+1?
>
> Thanks again!
> Josh
>
>
> On Friday, March 21, 2014 3:20:24 PM UTC-7, Mark Walkom wrote:
>>
>> A couple of things;
>>
>>    1. You should have n/2+1 masters in your cluster, where n = number of
>>    nodes. This helps prevent split brain situations and is best practise.
>>    2. Your master nodes can store data, this way you don't need to add
>>    more nodes to fulfil the above.
>>
>> Your indexing scenario is correct.
>> For searching, replica's and primaries can be queried.
>> For both - Adding more masters adds redundancy as per the first two
>> points. Adding more search nodes won't do much though other than reduce the
>> load on your masters (unless someone else can add anything I don't know :p).
>>
>> And for your final question, yes that is correct.
>>
>> To give you an idea of practical application, we don't use search nodes
>> but have 3 non-data masters that handle all queries, and a bunch of data
>> only nodes for storing everything.
>>
>> Regards,
>> Mark Walkom
>>
>> Infrastructure Engineer
>> Campaign Monitor
>> email: ma...@campaignmonitor.com
>> web: www.campaignmonitor.com
>>
>>
>> On 22 March 2014 08:25, Josh Harrison <hij...@gmail.com> wrote:
>>
>>> I'm trying to build a basic understanding of how indexing and searching
>>> works, hopefully someone can either point me to good resources or explain!
>>> I'm trying to figure out what having multiple "coordinator" nodes as
>>> defined in the elasticsearch.yml would do, and what having multiple "search
>>> load balancer" nodes would do. Both in the context of indexing and
>>> searching.
>>> Is there a functional difference between a "coordinator" node and a
>>> "search load balancer" node, beyond the fact that a "search load balancer"
>>> node can't be elected master?
>>>
>>>
>>> Say I have a 4 node cluster. There's a master only "coordinator" node,
>>> that doesn't store data, named "master".
>>> node.master: true
>>> node.data: false
>>>
>>> There are three data only nodes, "A", "B" and "C"
>>> node.master: false
>>> node.date: true
>>>
>>> I have an index "test" with two shards and one replica. Primary shard 0
>>> lives on A, primary shard 1 lives on C, replica shard 0 lives on B, replica
>>> shard 1 lives on A.
>>>
>>> I send the command
>>> curl -XPOST http://master:9200/test/test -d '{"foo":"bar"}'
>>>
>>> A connection is made to master, and the data is sent to master to be
>>> indexed. Master randomly decides to place this document in shard 1, so it
>>> gets sent to the primary shard 1 on C and replica shard 1 on B, right? This
>>> is where routing can come in, I can say that that document really should go
>>> to shard 0 because I said so.
>>>
>>> So this is a fairly simple scenario, assuming I'm correct.
>>>
>>> What benefit do I get to indexing when I add more "coordinator" nodes?
>>> node.master: true
>>> node.data: false
>>>
>>> What about if I add "search load balancer" nodes?
>>> node.master: false
>>> node.data: false
>>>
>>>
>>>
>>> How about on the searching side of things?
>>> I send a search to master,
>>> curl -XPOST http://master:9200/test/test/_search -d
>>> '{"query":{"match_all":{}}}'
>>>
>>> Master sends these queries off to A, B and C, who each generate their
>>> own results and return them to master. Each data node queries all the
>>> relevant shards that are present locally and then combines those results
>>> for delivery to master. Do only primary shards get queried, or are replica
>>> shards queried too?
>>> Master takes these combined results from all the relevant nodes and
>>> combines them into the final query response.
>>>
>>> Same questions:
>>> What benefit do I get to searching when I add more nodes that are like
>>> master?
>>> node.master: true
>>> node.data: false
>>>
>>> What about if I add "search load balancer" nodes?
>>> node.master: false
>>> node.data: false
>>>
>>>
>>> Is the only difference between a
>>> node.master: true
>>> node.data: false
>>> and a
>>> node.master: false
>>>  node.data: false
>>> that the node is a candidate to be a master, should it be elected?
>>>
>>> --
>>> 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 elasticsearc...@googlegroups.com.
>>> To view this discussion on the web visit https://groups.google.com/d/
>>> msgid/elasticsearch/eaff1d85-1e85-422d-bfba-9a0825ed5da9%
>>> 40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/eaff1d85-1e85-422d-bfba-9a0825ed5da9%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>> For more options, visit https://groups.google.com/d/optout.
>>>
>>
>>  --
> 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+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elasticsearch/5b45303b-b012-4c3c-9bd7-86cf02d7f937%40googlegroups.com<https://groups.google.com/d/msgid/elasticsearch/5b45303b-b012-4c3c-9bd7-86cf02d7f937%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elasticsearch/CAEM624YaRJPq_T8GKDuVyZjjmFHE0JZQ36Vo-8GrTk0JOTNpvg%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to