【问题标题】:NoHostAvailable exception connecting to Cassandra from python从 python 连接到 Cassandra 的 NoHostAvailable 异常
【发布时间】:2016-09-20 09:17:54
【问题描述】:

尝试从 Python 连接到我的本地 Cassandra 实例时出现异常。我可以使用 cqlsh 毫无问题地连接到 Cassandra。我运行的版本是 ubuntu 上的 Cassandra 3.01:

cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.0.1 | CQL spec 3.3.1 | Native protocol v4]

我得到的异常如下:

ERROR:cassandra.cluster:Control connection failed to connect, shutting down Cluster:
Traceback (most recent call last):
  File "cassandra/cluster.py", line 840, in   cassandra.cluster.Cluster.connect (cassandra/cluster.c:11146)
  File "cassandra/cluster.py", line 2088, in cassandra.cluster.ControlConnection.connect (cassandra/cluster.c:36955)
  File "cassandra/cluster.py", line 2123, in cassandra.cluster.ControlConnection._reconnect_internal (cassandra/cluster.c:37811)
 NoHostAvailable: ('Unable to connect to any servers', {'127.0.0.1':       InvalidRequest(u'code=2200 [Invalid query] message="unconfigured table schema_keyspaces"',), 'localhost': InvalidRequest(u'code=2200 [Invalid query] message="unconfigured table schema_keyspaces"',)

我检查了我的 cassandra.yaml 文件,它看起来没问题:

egrep 'rpc_port:|native_transport_port:' /etc/cassandra/cassandra.yaml
native_transport_port: 9042
rpc_port: 9160

还有什么我可以看的吗?欢迎提出建议。

【问题讨论】:

    标签: python-2.7 cassandra


    【解决方案1】:

    您似乎正在尝试使用较旧的 cqlsh 安装连接到 3.0.1 服务器,或者您正在(不知何故)使用较旧的 python 驱动程序。

    您收到的错误消息:

    (u'code=2200 [Invalid query] message="unconfigured table schema_keyspaces"',)
    

    表示客户端驱动程序正在尝试从早于 3.0 的 schema_keyspaces 表中获取表元数据。此信息现在保存在system_schema.keyspaces 表中。

    【讨论】:

    • 谢谢,好像是这样。我正在使用 anaconda,这是我安装的驱动程序:cassandra-driver 2.7.1 nppy27_0 petercable 我想我应该升级。你知道 3.0.0 是否会向后兼容并可以连接到 Cassandra 2.x* 实例?
    • 是的,它会的。驱动程序向后兼容,但不一定向前兼容。在这种情况下,您可能需要设置协议版本。
    【解决方案2】:

    使用pip install --upgrade cassandra-driver升级cassandra-driver。

    您可以输入python -c 'import cassandra; print cassandra.__version__' 来确认此驱动程序的版本。

    【讨论】:

      猜你喜欢
      • 2021-10-04
      • 2017-12-26
      • 1970-01-01
      • 2015-12-30
      • 2020-12-23
      • 2016-06-14
      • 2021-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多