需要使用密码连接cassandra的脚本并使用python执行CQL

问题描述

我需要一个脚本,需要使用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')})

解决方法

我看到了两个潜在的问题。

首先,除非您处于升级方案中,或者您曾经遇到过协议版本问题,否则我将指定。驱动程序应协商该值。例如,对于Cassandra 3.x,将其设置为2将会失败。

第二,我认为驱动程序无法从端点正确解析出端口。

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']

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

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...