从python连接到Cassandra集群超时

2024-04-26 10:54:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我在尝试使用cassandra-driver2.1.4库连接到Cassandra时遇到了以下错误(当然是使用真正的IP而不是stars):

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

要连接的代码:

^{pr2}$

奇怪的是:我可以在同一个默认端口上使用datastaxdevcenter从同一个机器上连接。如果我编辑那些IP是假的,我会得到一个不同的错误(说它不能连接到主机,而不是超时)。如果我将用户名/密码编辑为假的,我会得到一个auth错误。在

很明显,我是在连接,但由于某些原因,我实际上无法在Python中获得有效的连接。在

另外,我已经成功地在远程设备上运行了相同的代码。所以我的本地python肯定有点怪怪的。在


Tags: to代码ipnonehost编辑错误last
1条回答
网友
1楼 · 发布于 2024-04-26 10:54:20

cassandra-driver连接代码中存在某种计时问题,这不能通过增加连接或请求超时来解决。在调查问题可能出在哪里的时候,我偶然发现了这个老套的解决方法,它可能会对其他陷入同样困境的人有用:

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

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

相关问题 更多 >