Не удается подключиться к Cassandra удаленно с помощью драйвера DataStax Python

У меня проблемы с подключением к Cassandra (работает на узле EC2) удаленно (с моего ноутбука). Когда я использую драйвер DataStax Python для Cassandra:

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

Я получил:

 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.XXX': OperationTimedOut('errors=None, last_host=None',)}) 

Но Cassandra работает, потому nodetool status дает мне:

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

Кассандра также, кажется, слушает порт 9042:

 netstat -nltp | grep 9042 tcp6 0 0 0.0.0.0:9042 :::* LISTEN - 

И я могу telnet от моего ноутбука до Кассандры:

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

Соответствующие основные моменты из моего cassandra.yaml:

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

/var/log/cassandra/system.log показывает ничего полезного.

Я могу подключиться к Cassandra, используя cqlsh 127.0.0.1 9042 на сервере, и cqlsh 10.XXX 9042 с моего ноутбука без проблем.


Решение

Похоже, что одно место, где я тестировал свой скрипт (консоль Python внутри PyCharm), по какой-то причине является единственным местом, где мой скрипт не работает. Нет проблем с запуском скрипта в PyCharm или в интерактивном режиме Python / iPython. Я оставлю вопрос, так как он содержит довольно полный контрольный список для устранения неполадок соединения Python-to-Cassandra.

One Solution collect form web for “Не удается подключиться к Cassandra удаленно с помощью драйвера DataStax Python”

Вот простой способ отладки для вас: на другой машине, на которой установлена ​​cassandra, с помощью команды cassandra cli «cqlsh 10.XXX» для подключения удаленного сервера cassandra. Если это не удалось, вы должны изменить файл конфигурации cassandra для удаленного режима cassandra.

Python - лучший язык программирования в мире.