Докер Кассандра с питоном выдает ошибку соединения - PullRequest
0 голосов
/ 11 ноября 2018

Я установил Docker и запустил первый узел Cassandra и использовал Cqlsh для запуска некоторых команд, и он работает нормально. Я установил драйвер Python и затем, когда я запускаю команду ниже, я получаю следующую ошибку. Я видел много вопросов в стеке, и мало кто смог ответить. Пожалуйста, дайте ваши идеи. Я давно хотел использовать кассандру, но никогда не мог придумать хорошего решения этой проблемы. Спасибо

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

Error

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")})

Когда я пытался заменить IP-адрес созданным мною узлом cassandra, в моем случае «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

Ответы [ 2 ]

0 голосов
/ 14 ноября 2018

Я на самом деле решил эту проблему, указав IP-адрес контейнера, который был внутри докера. Я был совершенно смущен, какой адрес я должен дать. Но потом после запуска этой команды.

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

Я не знал, что мне нужно указать идентификатор контейнера с узлом кластера. Поэтому я всегда давал IP-адрес машины.

0 голосов
/ 12 ноября 2018

IP-адрес, который вы указали, недействителен: 192.168.1.xx.

Вам необходимо указать IP-адрес (или действительное имя хоста) хотя бы одного узла в вашем кластере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...