当我使用此命令时:
session = cluster.connect('demo')
。它给了我一个错误说:
>>> session = cluster.connect()
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "cassandra/cluster.py", line 1152, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:17598)
File "cassandra/cluster.py", line 1185, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:17419)
File "cassandra/cluster.py", line 1172, in cassandra.cluster.Cluster.connect (cassandra/cluster.c:17122)
File "cassandra/cluster.py", line 2618, in cassandra.cluster.ControlConnection.connect (cassandra/cluster.c:47646)
File "cassandra/cluster.py", line 2655, in cassandra.cluster.ControlConnection._reconnect_internal (cassandra/cluster.c:48543)
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1': ConnectionRefusedError(111, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})
我在Fedora上。
以下是使用 DataStaX python 驱动程序(cassandra-driver(连接到 Cassandra 实例的标准过程。
from cassandra.cluster import Cluster
from cassandra.policies import DCAwareRoundRobinPolicy
from cassandra.auth import PlainTextAuthProvider
def cassandra_conn():
auth_provider = PlainTextAuthProvider(username='cassandra', password='password')
cluster = Cluster(['127.0.0.1'], load_balancing_policy=DCAwareRoundRobinPolicy(local_dc='US-WEST'), port=9042, auth_provider=auth_provider)
session = cluster.connect()
return session, cluster
注意:我已包含基于本地 cassandra 集群的连接凭据。但是,当连接到其他实例时,这些凭据会有所不同。