【问题标题】:Cassandra: "Unable to complete the operation against any hosts" during session.execute()Cassandra:在 session.execute() 期间“无法完成对任何主机的操作”
【发布时间】:2016-07-11 12:02:18
【问题描述】:

Cassandra 版本:1.2.2
Thrift API 版本:19.35.0
CQL 支持的版本:2.0.0,3.0.1(默认:3.0.1)
python 3.4 的 cassandra 驱动程序
使用 sudo 运行 cassandra/bin/cassandra

代码示例

from cassandra.cluster import Cluster
cluster = Cluster()
session = cluster.connect()    # 1
session.execute("use test")    # 2
cluster.shutdown()

#2 的错误消息:
session.execute("使用测试")
文件“cassandra/cluster.py”,第 1581 行,在 cassandra.cluster.Session.execute
cassandra.cluster.ResponseFuture.result 中的文件“cassandra/cluster.py”,第 3145 行 cassandra.cluster.NoHostAvailable: ('无法完成对任何主机的操作', {})

困惑
由于代码示例中的#1 没有错误,因此连接似乎很好。但是我不太明白为什么查询执行失败。

【问题讨论】:

  • 哪个1.2版本?
  • 1.2.2 我已编辑我的帖子以包含信息。
  • keyspace test 是否包含任何数据?
  • 是的。它有一堆包含大量数据的列族(表)。 Keyspace 是使用 cassandra-cli 创建的,我使用 pycassa 填充数据库。
  • @yang5 找到解决方案了吗?

标签: python cassandra cql


【解决方案1】:

尝试为您的集群指定联系点,例如:

from cassandra.cluster import Cluster
cluster = Cluster(['192.168.1.1', '192.168.1.2'])
session = cluster.connect()

更多详情请关注datastax documentation

【讨论】:

  • 它是一个本地节点,默认情况下,联系点设置为 127.0.0.1。
猜你喜欢
  • 2017-03-24
  • 2021-07-27
  • 1970-01-01
  • 2018-01-16
  • 2021-01-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-27
相关资源
最近更新 更多