I have a cluster with 4 date nodes, and 3 dedicated master nodes, I have a question, regarding the connection driver, should I pass the ips of the 3 dedicated master nodes?
thank you so much.
I have a cluster with 4 date nodes, and 3 dedicated master nodes, I have a question, regarding the connection driver, should I pass the ips of the 3 dedicated master nodes?
thank you so much.
No, you want to do the opposite. Master nodes are not there to handle client requests. Dedicated master nodes are there for the stability of your cluster, and should do nothing else.
What you want to do is pass the IPs of your 4 data nodes.
Even when I use the transportClient?
I've always found that in transportClient I should pass the ips from the master nodes. Just saying that I am in version 2.4.2. Thank you
Hi Rafael,
I don't see why there would be a difference with the transport client. If you have dedicated master nodes and you configure them on any client, they will be loaded with client requests which they will always forward (besides cluster state read/update request) to data nodes. You really do not want to use dedicated master nodes as proxies, you rather want to configure data nodes on your client, like Abdon said above.
Cheers
Luca
I thought the java transportClient driver could have some intelligence and do the routing.
but thanks for your response.
The behavior you are referring to is related to Node Client and not Transport Client. See https://www.elastic.co/guide/en/elasticsearch/guide/current/_transport_client_versus_node_client.html
Would you have any configuration tips on transportClient for a web application? for example:
client.transport.ping_timeout "," 50s ",
client.transport.sniff ", true,
discovery.zen.ping.multicast.enabled ", false,
discovery.zen.ping.unicast.enabled ", true,
discovery.zen.multicast.enabled ", false,
discovery.zen.unicast.enabled ", true,
this connection was written more than three years ago, with only tips found on the web.
thankful
These configurations are fine.
Actually, it's a little bit more confusing and that's one of the reasons the Transport Client is being deprecated.
According to the Transport Client docs, if you enable client.transport.sniff
:
[...] If, for instance, you initially connect to a master node, after sniffing, no further requests will go to that master node, but rather to any data nodes instead. The reason the transport client excludes non-data nodes is to avoid sending search traffic to master only nodes.
So if you decide to stick with Transport Client then enable sniffing and list your master nodes addresses and it will do as described above.
I hope that helps!
This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
© 2020. All Rights Reserved - Elasticsearch
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.