Few questions before setting up 3 node cluster?

hi,

currently i have single node cluster and its handling upto ~700 queries per second, (i mean thats the max i have seen on kibana)

now i am planning to make it future proof , so it can handle more than that queries per second.

but i have few questions for setting up 3 node cluster ?

i am looking for money wise and getting better performance for full text search queries

  1. can nodes talk to each other over internet becuase some server providers does not offer internal networking or what some call it as vrack
    if yes, then is there way to secure it ? becuase open node on internet will attract some problems.

  2. lets say if i manage to set up 3 node cluster then to which node should i direct my search queries ?
    or i should do nginx reverse proxying to all 3 nodes

  3. what happens if 1 of the 3 nodes goes down, will it get updated with newer records or modified records when it gets back up ?
    when can i read more about it ?

  4. what is more important in node
    cpu/ram/disk for full text searches performance

i was planninig to get 16 GB vps, but 32 gigs dedicated servers are as cheap as vps.

so i guess dedicated servers will be better for nodes .

so far i can only think this issues,

Thanks

  1. can nodes talk to each other over internet becuase some server providers does not offer internal networking or what some call it as vrack
    if yes, then is there way to secure it ? becuase open node on internet will attract some problems.

Communication over internet is not recommended. You'll see troubles in node communication in the cluster. It is recommended that all nodes in a cluster should communicate with each other on a LAN.

  1. lets say if i manage to set up 3 node cluster then to which node should i direct my search queries ?
    or i should do nginx reverse proxying to all 3 nodes

Add all the 3 nodes behind a load balancer should be fine.

  1. what happens if 1 of the 3 nodes goes down, will it get updated with newer records or modified records when it gets back up ?
    when can i read more about it ?

If you have replicas enabled, there shouldn't be any impact if one of the node goes down.

  1. what is more important in node
    cpu/ram/disk for full text searches performance

i was planninig to get 16 GB vps, but 32 gigs dedicated servers are as cheap as vps.

All of them are important in their own respects

so i guess dedicated servers will be better for nodes .

Dedicated roles over nodes is better for medium to large size clusters. For smaller clusters, multiple roles can be assigned to nodes.

1 Like

Thank you.

one more thing to which node i should direct all my index,update,delete requests ? out of the 3 nodes ?

Thanks.

Whatever node can be used. Most of clients (Logstash, Beats, Java Rest Client...) can deal with that OOTB.
This is a good practice to use all nodes and do round robin on them.

okie more questions.

  1. so i have to install nginx + elasicserver in each server so every server will act as roundrobin ?
    i guess, no . only on one server which will handle requets to backend.
    but wont it limit my queries per second count ? as all queries are hitting 1 nginx reverse proxy and then later passing on to multiple server .
    or i am wrong, sorry but i am kind of confused here.

  2. i need to do bulk update every few hours. so i guess i should point it to main node rather doing roundrobin,

Thanks

Which client are you using to send bulk requests to elasticsearch?

right now i am using php to send bulk updates every few hours. only 70-80% records gets updated and only 2-3 fields get updated value.

Thanks.

The PHP client supports multiple hosts.
https://www.elastic.co/guide/en/elasticsearch/client/php-api/current/_configuration.html

Just use that, no?

okay, that is great.

right now i connect like this

require 'vendor/autoload.php';

use Elasticsearch\ClientBuilder;

$elasticsearch = ClientBuilder::create()->build();

i guess, its minimal configuration to connect to local host.

one more query.

What if i add multiple nodes in php config and one of the node is not up for some reason, so while executing php script for index/update will it throw exception ? or just ignore it.

Thanks

I don't know the behavior of this client.

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.