【问题标题】:Need Script for connecting cassandra with password and execute CQL using python需要使用密码连接 cassandra 并使用 python 执行 CQL 的脚本
【发布时间】:2020-12-13 05:07:50
【问题描述】:

我需要一个脚本,我需要使用 python 脚本将 CassDb 节点与密码连接起来

我试过下面的脚本

from cassandra.auth import PlainTextAuthProvider
from cassandra.cluster import Cluster
ap = PlainTextAuthProvider(username='##',password='##')
cass_contact_points=['cassdb01.p01.eng.sjc01.com', 'cassdb02.p01.eng.sjc01.com']
cluster = Cluster(cass_contact_points,auth_provider=ap,port=50126)
session = cluster.connect('##')

我收到以下错误:

File "C:\python35\lib\site-packages\cassandra\cluster.py", line 2792, in _reconnect_internal
raise NoHostAvailable("Unable to connect to any servers", errors)cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'10.44.67.92': OperationTimedOut('errors=None, last_host=None'), '10.44.67.91': OperationTimedOut('errors=None, last_host=None')})

【问题讨论】:

  • 你能发布你到目前为止所尝试的吗?

标签: python cassandra cql cqlsh


【解决方案1】:

我发现了两个潜在的问题。

首先,除非您处于升级方案中,或者您在协议版本方面遇到过问题,否则我将指定这一点。司机应该协商这个值。例如,将其设置为 2 会在 Cassandra 3.x 中失败。

其次,我认为驱动程序不能正确解析出端点的端口。

node_ips = ['cassdb01.p01.eng.sjc01.com:50126', 'cassdb02.p01.eng.sjc01.com:50126']

当我将端口与端点一起传递时,我遇到了类似的失败。所以我会尝试将该行更改为:

node_ips = ['cassdb01.p01.eng.sjc01.com', 'cassdb02.p01.eng.sjc01.com']

尝试从那开始。我还有一些其他想法,但让我们把这两个明显的设置排除在外。

【讨论】:

    猜你喜欢
    • 2020-12-14
    • 1970-01-01
    • 2014-07-01
    • 2014-12-04
    • 2016-11-14
    • 1970-01-01
    • 1970-01-01
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多