【问题标题】:Python Cassandra 驱动程序:连接到服务器上的 Docker 容器 - cassandra.UnresolvableContactPoints: {}
【发布时间】:2022-01-23 16:44:47
【问题描述】:

我正在自定义服务器上的 docker 容器中运行 cassandra。

我这样启动 cassandra docker:

docker run  --name cassandra -p 9042:9042 -d cassandra:latest

当我想通过 datastax 中的 python cassandra 驱动程序连接到服务器时,如下所示:

from cassandra.cqlengine import connection

connection.setup(["http://myserver.myname.com"], "cqlengine", protocol_version=3)

抛出异常:

    File "C:\LONG\PATH\TO\venv\lib\site-packages\cassandra\cqlengine\connection.py", line 106, in setup
        self.cluster = Cluster(self.hosts, **self.cluster_options)
      File "cassandra\cluster.py", line 1181, in cassandra.cluster.Cluster.__init__

    cassandra.UnresolvableContactPoints: {}
python-BaseException

经过数小时搜索 docker 网络权限后,我找到了简单的解决方案,所以也许这对您也有帮助。

【问题讨论】:

    标签: python docker cassandra datastax cassandra-python-driver


    【解决方案1】:

    简单的解决方案是从服务器 url 中删除“http://”并更改我的代码

    connection.setup(["http://myserver.myname.com"], "cqlengine", protocol_version=3)
    

    connection.setup(["myserver.myname.com"], "cqlengine", protocol_version=3)
    

    我认为这是一个 docker 网络问题,我花了好几个小时才把它归结为这个简单的错误

    【讨论】:

      猜你喜欢
      • 2020-11-19
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      • 2020-03-13
      • 2017-10-05
      • 2019-11-22
      • 2020-01-06
      • 1970-01-01
      相关资源
      最近更新 更多