带有python的docker cassandra给出了连接错误

hc2pp10m  于 2021-06-15  发布在  Cassandra
关注(0)|答案(2)|浏览(299)

我安装了docker并运行了第一个cassandra节点,并使用cqlsh运行了一些命令,效果很好。我安装了python驱动程序,然后当我运行下面的命令时,我得到以下错误。我看到了许多堆积如山的问题,没有多少人能够回答。请说出你的想法。我一直渴望使用Cassandra一段时间,但从来没有提出一个很好的解决这个问题的办法。谢谢

>>> from cassandra.cluster import Cluster
>>> cluster=Cluster()
>>> keyspace='north'
>>> session=Cluster(['192.168.1.xx']).connect()

错误

cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers', {'192.168.1.xx': ConnectionRefusedError(111, "Tried connecting to [('192.168.1.xx', 9042)]. Last error: Connection refused")})

当我试图用我创建的cassandra节点替换ip地址时,在我的例子中是node1,它给了我这个错误

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "cassandra/cluster.py", line 826, in cassandra.cluster.Cluster.__init__
  File "/usr/lib/python3.5/socket.py", line 732, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -5] No address associated with hostname
vyswwuz2

vyswwuz21#

实际上,我通过提供docker中的容器ip地址解决了这个问题。我不知道该给哪个地址。但是在执行这个命令之后。

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id.

我没有意识到我需要指定拥有集群节点的容器id。所以我总是给出机器的ip地址。

rpppsulh

rpppsulh2#

您提供的ip地址无效: 192.168.1.xx .
您需要提供群集中至少一个节点的ip地址(或有效主机名)。

相关问题