Cassandra 为集群中的节点手动分配token

本文介绍如何使用Python脚本生成Cassandra集群中的Token,并手动分配给各节点,确保数据均匀分布。

 token 是Cassandra 集群中十分重要的概念,因为他影响着每个节点所管辖的数据的范围:我们就利用程序来生成token然后分配给每个节点:

我们用下面的代码来生成token:

 
  
  1. #! /usr/bin/python 
  2. import sys 
  3. if (len(sys.argv) > 1): 
  4. num=int(sys.argv[1]) 
  5. else
  6. num=int(raw_input("How many nodes are in your cluster? ")) 
  7. for i in range(0, num): 
  8. print 'token %d: %d' % (i, (i*(2**127)/num)) 

然后我们保存到tokengentool,并且让其有可执行权 (chmod +x tokengentool):

我们运行这段程序,于是产生:

这里产生了3个token,我们手动将他们赋给3个节点,通过编辑每个节点的cassandra.yaml文件:

我们把192.168.129.34的节点的initial_token设为token 0的值,192.168.129.35的节点的initial_token设为token 1的值,192.168.129.39的节点的initial_token设为token 2的值

再把3个节点都重启就可以了

 





本文转自 charles_wang888 51CTO博客,原文链接:http://blog.51cto.com/supercharles888/869118,如需转载请自行联系原作者

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值