我正在尝试在Windows机器上设置两个节点Cassandra Cluster。我基本上有两个Windows机器,我正在关注此数据交换tutorial
每当我使用下面的命令从上面的教程中获取令牌编号 -
python -c "num=2; print ""\n"".join([(""token %d: %d"" %(i,(i*(2**127)/num))) for i in range(0,num)])"
我总是得到这个错误 -
C:\Users\username>python -c "num=2; print ""\n"".join([(""token %d: %d"" %(i,(i*(2**127)/num))) for i
in range(0,num)])"
File "<string>", line 1
num=2; print "\n".join([("token %d: %d" %(i,(i*(2**127)/num))) for i in range(0,num)])
^
SyntaxError: invalid syntax
答案 0 :(得分:1)
将该命令放入实际的Python脚本中可能会更好。 这是我使用的类似Python脚本(保存为newCluster.py):
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 'node %d: %d' % (i, (i*(2**127)/num))
当我为两个节点运行时,我得到:
How many nodes are in your cluster? 2
node 0: 0
node 1: 85070591730234615865843651857942052864
以下是我编辑和运行它的方式:
您使用的是哪个版本的Python?我在2.6.7和2.7.3中测试了这个脚本。
同样要平衡,双节点集群的initial_token值只需要有85,070,591,730,234,615,865,843,651,857,942,052,864的差异。他们不一定必须是0和85070591730234615865843651857942052864;虽然这两个值应该可以正常工作。