Giter Site home page Giter Site logo

Imbalanced Initial Cluster about priam HOT 7 CLOSED

netflix avatar netflix commented on September 27, 2024
Imbalanced Initial Cluster

from priam.

Comments (7)

Vijay2win avatar Vijay2win commented on September 27, 2024

Double check your property of available.zones to see the ordering of the zones. Make sure you have a SDB doesn't have old Populated values (clean it up before you create a new cluster, If you had 5 node cluster and you spinned down and spin up 10 node cluster without clearing the SDB entries then this might happen)

from priam.

aryanet avatar aryanet commented on September 27, 2024

I appreciate your feedback Vijay. I have the following configured for zones:

us-east-1a,us-east-1b,us-west-2a,us-west-2b

Each time I have brought up the cluster, I dropped InstanceIdentity domain as I thought that is were instance info is kept. Tomorrow I'll try to drop everything and create a fresh configuration and will get back to you.

from priam.

aryanet avatar aryanet commented on September 27, 2024

I cleared everything and I can reproduce the same cluster every time. I am launching all scalability groups at the same time. Is my zone configuration incorrect? Also, I don't understand something in the code. I see that during token calculation, an offset value based on hash or the name of the regions is added to the token. Why is that? Please advice.

from priam.

Vijay2win avatar Vijay2win commented on September 27, 2024

an offset value based on hash or the name of the regions is added to the token. Why is that?

Thats added to address the multi region aspects of Token management. You might want to look at
http://www.datastax.com/docs/0.8/install/cluster_init
http://www.datastax.com/dev/blog/deploying-cassandra-across-multiple-data-centers

Regarding imbalance,
How many ASG's have you deployed? (Plz create 3 seperate ASG's one for each zones).
Whats the value for the property set to priam.zones.available?
is the Env variables for EC2_REGION?

from priam.

aryanet avatar aryanet commented on September 27, 2024

Thanks for the info. I am reading them now. To answer your questions:

4 ASGs, basically 2 in each region as described in next line. They are separate and each have 3 min nodes.
priam.zones.available is "us-east-1a,us-east-1b,us-west-2a,us-west-2b"
EC2_REGION is us-east-1 for the ones in east and us-west-2 for the ones in west.

from priam.

aryanet avatar aryanet commented on September 27, 2024

OK. I figured out Priam looks for max number of hosts in ASG. I had that as 6 but my minimum and desired was 3. So that was tipping off the token calculation. Thanks you for your attention. I am going to close this and make it more clear in Priam wiki so others don't confuse it.

from priam.

dane-xa avatar dane-xa commented on September 27, 2024

Hi all, I just hit this problem while exploring Priam. I had set my asg.max_size to a number greater than my desired number of nodes-per-AZ. As you all know by now, the result was an unbalanced ring, as Priam assumes the auto scaling group max_size is equal to the rac membership size. How about an update to the wiki clarifying the proper settings for an auto scaling group?

Perhaps something like this:
https://github.com/Netflix/Priam/wiki/Setup

Choosing ASG max_size
When setting up ASG, ensure max_size is set to the desired number of nodes per rac (nodes per availability zone). Priam calculates tokens based on each ASG's max_size, and it is incorrect to set max_size higher than the desired number of nodes. Instead, use the DoubleRing technique if planning for future growth.

Dane

from priam.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.