如何解决需要使用密码连接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']
尝试从此开始。我还有其他想法,但让我们将这两个明显的设置排除在外。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。