Cassandra 为集群中的节点手动分配token
2012-05-19 17:07:27 来源:WEB开发网核心提示: token 是Cassandra 集群中十分重要的概念,因为他影响着每个节点所管辖的数据的范围:我们就利用程序来生成token然后分配给每个节点:我们用下面的代码来生成token:#! /usr/bin/python import sys if (len(sys.argv) > 1): num=int(sys
token 是Cassandra 集群中十分重要的概念,因为他影响着每个节点所管辖的数据的范围:我们就利用程序来生成token然后分配给每个节点:
我们用下面的代码来生成token:
#! /usr/bin/python import sys if (len(sys.argv) > 1): num=int(sys.argv[1]) else: num=int(raw_input("How many nodes are in your cluster? ")) for i in range(0, num): 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个节点都重启就可以了
更多精彩
赞助商链接