0
我試圖將Python字典插入Cassandra。 但我在嘗試連接到數據庫時遇到了NoHostAvailable
錯誤。 有人可以幫我搞清楚嗎?NoHostAvailable for Cassandra
代碼:
# cassandra server started in Terminal on Mac
from cassandra.cluster import Cluster
cluster = Cluster()
session = cluster.connect()
錯誤:
---------------------------------------------------------------------------
NoHostAvailable Traceback (most recent call last)
<ipython-input-21-dc85f20fd4f5> in <module>()
----> 1 session = cluster.connect()
/Users/a/anaconda/lib/python2.7/site-packages/cassandra/cluster.so in cassandra.cluster.Cluster.connect (cassandra/cluster.c:11030)()
/Users/a/anaconda/lib/python2.7/site-packages/cassandra/cluster.so in cassandra.cluster.Cluster.connect (cassandra/cluster.c:10872)()
/Users/a/anaconda/lib/python2.7/site-packages/cassandra/cluster.so in cassandra.cluster.Cluster.connect (cassandra/cluster.c:10760)()
/Users/a/anaconda/lib/python2.7/site-packages/cassandra/cluster.so in cassandra.cluster.ControlConnection.connect (cassandra/cluster.c:35173)()
/Users/a/anaconda/lib/python2.7/site-packages/cassandra/cluster.so in cassandra.cluster.ControlConnection._reconnect_internal (cassandra/cluster.c:36007)()
NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1': error(61, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})
警告:
WARNING:cassandra.cluster:[control connection] Error connecting to 127.0.0.1:
Traceback (most recent call last):
File "cassandra/cluster.py", line 2067, in cassandra.cluster.ControlConnection._reconnect_internal (cassandra/cluster.c:35763)
return self._try_connect(host)
File "cassandra/cluster.py", line 2087, in cassandra.cluster.ControlConnection._try_connect (cassandra/cluster.c:36224)
connection = self._cluster.connection_factory(host.address, is_control_connection=True)
File "cassandra/cluster.py", line 789, in cassandra.cluster.Cluster.connection_factory (cassandra/cluster.c:8980)
return self.connection_class.factory(address, self.connect_timeout, *args, **kwargs)
File "cassandra/connection.py", line 306, in cassandra.connection.Connection.factory (cassandra/connection.c:5051)
conn = cls(host, *args, **kwargs)
File "/Users/a/anaconda/lib/python2.7/site-packages/cassandra/io/libevreactor.py", line 264, in __init__
self._connect_socket()
File "cassandra/connection.py", line 340, in cassandra.connection.Connection._connect_socket (cassandra/connection.c:6123)
raise socket.error(sockerr.errno, "Tried connecting to %s. Last error: %s" % ([a[4] for a in addresses], sockerr.strerror or sockerr))
error: [Errno 61] Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused
ERROR:cassandra.cluster:Control connection failed to connect, shutting down Cluster:
Traceback (most recent call last):
File "cassandra/cluster.py", line 844, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:10760)
self.control_connection.connect()
File "cassandra/cluster.py", line 2041, in cassandra.cluster.ControlConnection.connect (cassandra/cluster.c:35173)
self._set_new_connection(self._reconnect_internal())
File "cassandra/cluster.py", line 2076, in cassandra.cluster.ControlConnection._reconnect_internal (cassandra/cluster.c:36007)
raise NoHostAvailable("Unable to connect to any servers", errors)
NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1': error(61, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})
最明顯的答案是您的本地系統沒有運行cassandra,或者它沒有在127.0.0.1:9042上進行監聽。 卡桑德拉正在運行?它在9042上收聽嗎?你可以用telnet連接嗎? –