Client connectivity to Vertica nodes
How can we have Round RObin client connections to vertica nodes so if one node goes down, client can still be able to retrieve data? Can we have VIP/LB in fron of Vertica nodes that routes connection to particular port?
ex. if Tableu is connected to node1 out of 6 nodes cluster, node1 goes down then connection id down. For this do we need to setup LB in fron of Vertica or Tableu can use its own configuration?
0
Comments
Hi
Vertica has a load balancing feature that can help you achieve this and also have additional advantages.
For your information connection load balancing helps automatically spread the overhead caused by client connections across the cluster by having hosts redirect client connections to other hosts. By redirecting connections, the overhead from client connections is spread across the cluster without having to manually assign particular hosts to individual clients. Clients can connect to a small handful of hosts, and they are naturally redirected to other hosts in the cluster.
There are two ways you can implement load balancing on your HP Vertica cluster:
Native connection load balancing is a feature built into the HP Vertica server and client libraries that redirect client connections at the application level.
Internet Protocol Virtual Server (IPVS) is software that can be installed on several hosts in the HP Vertica cluster that provides connection load balancing at the network level.
In most situations, you should use native connection load balancing instead of IPVS.
Will suggest you to kindly go through below documented link for detailed information on this as this will help you
http://my.vertica.com/docs/7.1.x/HTML/index.htm#Authoring/AdministratorsGuide/LoadBalancing/ConnectionLoadBalancing.htm%3FTocPath%3DAdministrator's%2520Guide%7CManaging%2520the%2520Database%7CConnection%2520Load%2520Balancing%7C_____0
&
http://my.vertica.com/docs/7.1.x/HTML/Content/Authoring/AdministratorsGuide/LoadBalancing/AboutNativeConnectionLoadBalancing.htm
Regards
Rahul Choudhary
Thank you for the reply.
But if server/node itself goes down where client is configure to connect, how can Vertica load balance because client won't be able to connect at all?
I would think client needs to connect to LB so if any node of Vertica is down it will connect to different node and then may be Vertica takes care of load balancing. IS that correct or I am missign anything?
So, if I understand your question, you're worried about what happens if the HP Vertica node your client application is set up to connect to goes down... how does the client manage to connect to some other node in the Vertica cluster?
If you are using the HP Vertica client drivers to connect to Vertica, there is a setting named BackupServerNode to designate backup nodes for your connection. See the ODBC DSN connection parameter doc or the JDBC Connection Properties doc for details. These options let you supply one or more hostnames for alternate nodes to connect to if the main node specified in the connection parameters is down.
If you have client load balancing enabled, the connections are still load balanced, even if you initially connect to one of those backup nodes.
For example, say you've configured your client to connect to node1, and specify node5 and node10 as backup nodes for the connection. Let's say you also have ConnectionLoadBalance enabled on your client and server. If your client attempts to connect to node1 and finds its down, it tries to connect to node5. If it manages to connect to node5, node5 will pick a currently up node to redirect the client to. Node5 knows which nodes are up, so it won't pick node1. The client then connects to whatever node that node5 picked and begins its session. All of that is transparent to the user and the client application... it's handled by the Vertica client drivers for you.
THanks. HP recommended HARDAWRE LoadBalancing over Software (Native LB)