Picking an ideal allocation for N seed nodes and M vnodes per seed is probably something we should add as a little python script or similar in /tools/ to make this easier. Then let the auto allocation stuff kick in after that.
> On May 5, 2019, at 8:23 AM, Jon Haddad <j...@jonhaddad.com> wrote: > > I mean you'd want to set up the initial tokens for the first 3 nodes > of your cluster, which are usually the seed nodes. > > > On Sat, May 4, 2019 at 8:31 PM onmstester onmstester > <onmstes...@zoho.com.invalid> wrote: >> >> So do you mean setting tokens for only one node (one of the seed node) is >> fair enough? >> I can not see any problem with this mechanism (only one manual token >> assignment at cluster set up), but the article was also trying to set up a >> balanced cluster and the way that it insist on doing manual token assignment >> for multiple seed nodes, confused me. >> >> Sent using Zoho Mail >> >> >> >> ============ Forwarded message ============ >> From: Jon Haddad <j...@jonhaddad.com> >> To: <user@cassandra.apache.org> >> Date: Sat, 04 May 2019 22:10:39 +0430 >> Subject: Re: How to set up a cluster with allocate_tokens_for_keyspace? >> ============ Forwarded message ============ >> >> That line is only relevant for when you're starting your cluster and >> you need to define your initial tokens in a non-random way. Random >> token distribution doesn't work very well when you only use 4 tokens. >> >> Once you get the cluster set up you don't need to specify tokens >> anymore, you can just use allocate_tokens_for_keyspace. >> >> On Sat, May 4, 2019 at 2:14 AM onmstester onmstester >> <onmstes...@zoho.com.invalid> wrote: >>> >>> I just read this article by tlp: >>> https://thelastpickle.com/blog/2019/02/21/set-up-a-cluster-with-even-token-distribution.html >>> >>> Noticed that: >>>>> We will need to set the tokens for the seed nodes in each rack manually. >>>>> This is to prevent each node from randomly calculating its own token >>>>> ranges >>> >>> But until now, i was using this recommendation to setup a new cluster: >>>>> >>> >>> You'll want to set them explicitly using: python -c 'print( [str(((2**64 / >>> 4) * i) - 2**63) for i in range(4)])' >>> >>> >>> After you fire up the first seed, create a keyspace using RF=3 (or whatever >>> you're planning on using) and set allocate_tokens_for_keyspace to that >>> keyspace in your config, and join the rest of the nodes. That gives even >>> distribution. >>> >>> I've defined plenty of racks in my cluster (and only 3 seed nodes), should >>> i have a seed node per rack and use initial_token for all of the seed nodes >>> or just one seed node with inital_token would be ok? >>> >>> Best Regards >>> >>> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org >> For additional commands, e-mail: user-h...@cassandra.apache.org >> >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org > For additional commands, e-mail: user-h...@cassandra.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: user-unsubscr...@cassandra.apache.org For additional commands, e-mail: user-h...@cassandra.apache.org