I have two elasticsearch clusters. One for acceptance where are 3 nodes (each has data, ingest, master role) and one for production where are 9 nodes (3 master, 3 ingest + hot nodes and 3 warm nodes). I would like to set transport traffic between them through interconnection cable. But I want to achieve that nodes from another cluster can connect by another interface because I want to use Cross Cluster Replication.
My config is:
node.name: es-node1 discovery.seed_hosts: X.X.2.101:9300,X.X.2.102:9300 cluster.initial_master_nodes: X.X.2.100,X.X.2.101,X.X.2.102 network.publish_host: Y.Y.19.20 network.bind_host: 0.0.0.0
So I have interconnection with addresses X.X.2.100, X.X.2.101, X.X.2.102, and Addresses that are accessible from Internet Y.Y.19.20, Y.Y.19.21, Y.Y.19.22
Is there a way to achieve that syncing on nodes will be transported through interconnect but there will be way to use CCR from another cluster on Internet Interface?
With settings like I posted, nodes are discovered by interconnect but syncing and communications go through the Internet interface.
And in Production I have an idea
But i couldn’t test it, because I cant afford any downtime.
If I set on masters that transport will be done by all interfaces but on Data nodes I will use only interconnect, will it work? Because masters doesnt need to sync with data nodes? I hope so. And then when I will want to use CCR, I will call request on master that will be accessible.
Thanks for you help. I thought that when I set discovery.seed with interconnect addresses, so they will sync with interconnect, but that was wrong