/ / Jak wygenerować tokeny dla mojego dwuwęzłowego klastra Cassandra? - python, cassandra, datastax-enterprise, opscenter

Jak wygenerować tokeny dla mojego dwuprocesorowego klastra Cassandra? - python, kassandra, datastax-enterprise, opscenter

Usiłuję skonfigurować dwa węzły Cassandra Cluster na komputerze z systemem Windows. Mam w zasadzie dwie maszyny z systemem Windows i śledziłem ten datastax seminarium

Ilekroć używam poniższego polecenia, aby uzyskać numer tokena z powyższego samouczka -

python -c "num=2; print ""n"".join([(""token %d: %d"" %(i,(i*(2**127)/num))) for i in range(0,num)])"

Zawsze pojawia się ten błąd -

C:Usersusername>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

Odpowiedzi:

1 dla odpowiedzi № 1

Możesz mieć więcej szczęścia, umieszczając to polecenie w rzeczywistym skrypcie Python. Oto podobny skrypt Pythona, którego używam (zapisany jako 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))

Gdy uruchomię to dla dwóch węzłów, otrzymuję:

How many nodes are in your cluster? 2
node 0: 0
node 1: 85070591730234615865843651857942052864

Oto dokładnie, jak go edytuję i uruchamiam:

wprowadź opis obrazu tutaj

Jakiej wersji Pythona używasz? Testowałem ten skrypt w wersjach 2.6.7 i 2.7.3.

Również dla zrównoważenia, twoje wartości początkowego_tokenadla klastra z dwoma węzłami po prostu trzeba mieć różnicę 85.070.591,730,234,615,865,843,651,857,942,052,864. Nie muszą to koniecznie być 0 i 85070591730234615865843651857942052864; chociaż te dwie wartości powinny działać dobrze.