Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Setting up High Availability for presto 0.234.1 in Google Compute Engine not GKE #14973

Open
hmanju2k7 opened this issue Aug 6, 2020 · 1 comment

Comments

@hmanju2k7
Copy link

We are using Presto 0.234.1 version in Google Compute Engine. We are trying to achieve High Availability on the Presto Coordinators.

We can have multiple Presto Coordinators. Has anybody done this in past of setting up High Availability for Presto.

We want to use this approach. Provide us steps how I can achieve this.

  1. Set up 2 or 3 nodes as coordinators.
  2. Tell them to run their own discovery servers in their config.
  3. Tell them to point at localhost for their own discovery server – this is quite important.
  4. Tell them not to do work (It will keep things more stable, but unfortunately, that means that your cluster has less power. You’ll probably have far more workers than coordinators though, so it shouldn’t be an issue).
    Install HA proxy on the coordinator nodes. Have all the coordinator nodes registered in order and make all but the first one a “backup”. So, for example, run HA Proxy port 8385 and run Presto on port 8321. All traffic will go to node Add simple HashAggregation #1 unless its down, in which case it will go to node Add byte[] backed tuple and block implementations #2, and so on.
  5. Set up a load balancer in front of the coordinator nodes pointing at the HA proxy port and make sure traffic can get through.
  6. Set up all worker nodes to target the load balancer for the discovery server. So, all workers target the load balancer, which goes to any coordinator, all of which redirect to the primary one. The primary coordinator always has all workers reaching it courtesy of HA proxy.
  7. As each coordinator itself only reports to its localhost discovery server, coordinators will not end up talking to each other’s discovery servers and will not interfere with each other. Only one coordinator will ever have workers registered with it at a time.
@hmanju2k7 hmanju2k7 changed the title Setting up High Availability for presto 0.234.1 in GCP not GKE Setting up High Availability for presto 0.234.1 in Google Compute Engine not GKE Aug 6, 2020
@wenleix
Copy link
Contributor

wenleix commented Aug 7, 2020

cc @tdcmeehan who is working on Presto Fireball project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants