habe ein 4-Node Raspberry Pi (B+) Netzwerk, mit einer Apache Cassandra NoSQL-Datenbank am laufen.
Mir gelang es erfolgreich, mich mittels Python2 mit der Cassandra-Datenbank zu verbinden und ich entwickelte ein kleines primitives "Benchmark"-Tool (wenn man sowas überhaupt so nennen darf

Hier mein Benchmark.py:
Code: Alles auswählen
# Important imports - File-Header
from datetime import datetime
import time
# Verbindung zum Cluster aufnehmen
print("Baue Verbindung zum Cluster auf")
from cassandra.cluster import Cluster
cluster = Cluster(['192.168.178.51'])
session = cluster.connect()
# Zeitmessung beginnen
print("Starte Zeitmessung")
ZeitAnfang = datetime.now()
# Keyspace erstellen
print("Erstelle Keyspace")
session.execute("CREATE KEYSPACE demo WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1 };")
# Benutzer DEMO benutzen
print("Benutze DEMO keyspace")
session.execute("USE demo;");
# Tabellen erstellen ... DEMO.USER 0 bis 5
print("Erstelle Tabellen DEMO.USER0-5")
session.execute("CREATE TABLE demo.user0 ( vorname text PRIMARY KEY , name text , age int ) ;");
#session.execute("CREATE TABLE demo.user1 ( vorname text PRIMARY KEY , name text , age int ) ;");
#session.execute("CREATE TABLE demo.user2 ( vorname text PRIMARY KEY , name text , age int ) ;");
#session.execute("CREATE TABLE demo.user3 ( vorname text PRIMARY KEY , name text , age int ) ;");
#session.execute("CREATE TABLE demo.user4 ( vorname text PRIMARY KEY , name text , age int ) ;");
#session.execute("CREATE TABLE demo.user5 ( vorname text PRIMARY KEY , name text , age int ) ;");
# Tabellen mit Inhalt fuellen
print("Fuege Inhalt in Tabellen ein")
session.execute("INSERT INTO demo.user0 (vorname, name, age) VALUES ('DEMO_vorname0', 'DEMO_name0', 20)");
#session.execute("INSERT INTO demo.user1 (vorname, name, age) VALUES ('DEMO_vorname1', 'DEMO_name1', 21)");
#session.execute("INSERT INTO demo.user2 (vorname, name, age) VALUES ('DEMO_vorname2', 'DEMO_name2', 22)");
#session.execute("INSERT INTO demo.user3 (vorname, name, age) VALUES ('DEMO_vorname3', 'DEMO_name3', 23)");
#session.execute("INSERT INTO demo.user4 (vorname, name, age) VALUES ('DEMO_vorname4', 'DEMO_name4', 24)");
# Zeitmessung stoppen
print("Stoppe Zeitmessung")
ZeitEnde = datetime.now()
ZeitGesamt = ZeitEnde - ZeitAnfang
print(ZeitGesamt.seconds + ZeitGesamt.microseconds / 1E6, " Sekungen, Millisekunden")
# 5 Sekungen Pause
time.sleep(5)
# Keyspace loeschen
print("Loesche Keyspace DEMO")
session.execute("DROP KEYSPACE demo;");
# Wenn keine Fehler entstanden sind, dann:
print("Benchmark vollstaendig!")
print("(c) Marc G. 2015")
Mein Problem an der Sache ist nun, dass ich immer folgenden Output-Fehler bekomme, mit welchen ich nichts anfangen kann als Python-Neuling:
Code: Alles auswählen
Baue Verbindung zum Cluster auf
Starte Zeitmessung
Erstelle Keyspace
Benutze DEMO keyspace
Erstelle Tabellen DEMO.USER0-5
Fuege Inhalt in Tabellen ein
Stoppe Zeitmessung
(8.820948, ' Sekungen, Millisekunden')
Loesche Keyspace DEMO
Traceback (most recent call last):
File "benchmark_marc_final.py", line 51, in <module>
session.execute("DROP KEYSPACE demo;");
File "/usr/local/lib/python2.7/dist-packages/cassandra/cluster.py", line 1615, in execute
result = future.result(timeout)
File "/usr/local/lib/python2.7/dist-packages/cassandra/cluster.py", line 3156, in result
raise OperationTimedOut(errors=self._errors, last_host=self._current_host)
cassandra.OperationTimedOut: errors={}, last_host=192.168.178.51
Ich hoffe und poche auf Eure Erfahrenheit und bedanke mich im Voraus.
LG,
ColonelHoagen