cassandra-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Jirsa <jji...@gmail.com>
Subject Re: How to set up a cluster with allocate_tokens_for_keyspace?
Date Sun, 05 May 2019 17:49:07 GMT
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 <jon@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
> <onmstester@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 <jon@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
>> <onmstester@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-unsubscribe@cassandra.apache.org
>> For additional commands, e-mail: user-help@cassandra.apache.org
>> 
>> 
>> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@cassandra.apache.org
> For additional commands, e-mail: user-help@cassandra.apache.org
> 

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@cassandra.apache.org
For additional commands, e-mail: user-help@cassandra.apache.org


Mime
View raw message