0

我在自定义服务器上的 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 网络权限后,我找到了简单的解决方案,所以也许这对您也有帮助。

4

1 回答 1

0

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

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

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

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

于 2021-12-22T12:57:08.613 回答