Kann keine Remote-Verbindung zu Cassandra mit dem DataStax Python-Treiber herstellen

Ich habe Probleme mit der Remote-Verbindung zu Cassandra (auf einem EC2-Knoten) (von meinem Laptop aus). Wenn ich den DataStax Python-Treiber für Cassandra verwende:

from cassandra.cluster import Cluster
cluster = Cluster(['10.X.X.X'], port=9042)
cluster.connect()

Ich bekomme

Traceback (most recent call last):
  File "/Users/user/virtualenvs/test/lib/python2.7/site-packages/IPython/core/interactiveshell.py", line 3035, in run_code
    exec(code_obj, self.user_global_ns, self.user_ns)
  File "<ipython-input-23-dc85f20fd4f5>", line 1, in <module>
    session = cluster.connect()
  File "/Users/user/virtualenvs/test/lib/python2.7/site-packages/cassandra/cluster.py", line 755, in connect
    self.control_connection.connect()
  File "/Users/user/virtualenvs/test/lib/python2.7/site-packages/cassandra/cluster.py", line 1868, in connect
    self._set_new_connection(self._reconnect_internal())
  File "/Users/user/virtualenvs/test/lib/python2.7/site-packages/cassandra/cluster.py", line 1903, in _reconnect_internal
    raise NoHostAvailable("Unable to connect to any servers", errors)
NoHostAvailable: ('Unable to connect to any servers', {'10.X.X.X': OperationTimedOut('errors=None, last_host=None',)})

Aber Cassandra läuft, weilnodetool status gibt mir

UN 127.0.0.1 124.18 KB 256 100.0% 4d973e17-ae08-3aa1-81d2-605b92753694 rack1

Cassandra scheint auch auf Port 9042 zu lauschen:

netstat -nltp | grep 9042

tcp6       0      0 0.0.0.0:9042            :::*                    LISTEN      -

Und ich kann von meinem Laptop nach Cassandra telneten:

$ telnet 10.X.X.X 9042
Trying 10.X.X.X...
Connected to ip-10-X-X-X.
Escape character is '^]'.

Relevante Highlights aus meiner cassandra.yaml:

start_native_transport: true
rpc_address: 0.0.0.0
rpc_port: 9160
broadcast_rpc_address: 10.X.X.X

/var/log/cassandra/system.log zeigt nichts Nützliches.

bearbeite: Ich kann mich auch mit @ mit Cassandra verbindcqlsh 127.0.0.1 9042 auf dem Server undcqlsh 10.X.X.X 9042 von meinem Laptop ohne Probleme.

Lösun

Sieht so aus, als wäre der einzige Ort, an dem ich mein Skript getestet habe (eine Python-Konsole in PyCharm), der einzige Ort, an dem mein Skript nicht funktioniert. Keine Probleme bei der Ausführung als Skript in PyCharm oder im interaktiven Python / iPython-Modus. Ich werde die Frage offen lassen, da sie eine ziemlich vollständige Checkliste für die Fehlerbehebung bei Python-zu-Cassandra-Verbindungen enthält.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage