gpt4 book ai didi

python - 从python连接到Cassandra集群超时

转载 作者:太空宇宙 更新时间:2023-11-03 12:06:54 24 4
gpt4 key购买 nike

我在尝试使用 cassandra-driver 2.1.4 库(当然是真实 IP 而不是 stars)连接到 Cassandra 时遇到以下错误:

NoHostAvailable: ('Unable to connect to any servers', {'**.**.**.**': 
OperationTimedOut('errors=None, last_host=None',), '**.**.**.**':
OperationTimedOut('errors=None, last_host=None',)})

连接代码:

Database.history = Cluster(
ip_list.split(","),
auth_provider=PlainTextAuthProvider(
username=u,
password=p
)
).connect(k)

现在奇怪的是:我可以在同一个默认端口上使用 Datastax DevCenter 从同一个盒子完全正常地连接。如果我将这些 IP 编辑为伪造的,我会得到一个不同的错误(说它无法连接到主机而不是超时)。如果我将用户名/密码编辑为虚假的,我会收到身份验证错误。

很明显,我有点连接,但出于某种原因,我实际上无法在 Python 中建立有效连接。

此外,我在远程机器上成功运行了相同的代码。所以我的本地 python 或其他东西一定很奇怪。

最佳答案

cassandra-driver 连接代码中存在某种计时问题,无法通过增加连接或请求超时来解决。在调查可能是什么问题时,我偶然发现了这个 hacky workaround,它可能对其他陷入同样障碍的人有用:

import logging
logging.getLogger().addHandler(logging.StreamHandler())
logging.getLogger().setLevel(logging.DEBUG)

将上面的代码放在脚本的顶部。我的猜测是,它在客户端代码中增加了足够的滞后时间来解决计时问题,代价是将一些不必要的日志消息打印到 stderr。

关于python - 从python连接到Cassandra集群超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28950625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com