Не удается запустить кластер DASK через SSH

Я пытаюсь запустить кластер dask через SSH, но я сталкиваюсь со странными ошибками, подобными этим:

Exception in thread Thread-6:
Traceback (most recent call last):
  File "/home/localuser/miniconda3/lib/python3.6/threading.py", line 916, in _bootstrap_inner
    self.run()
  File "/home/localuser/miniconda3/lib/python3.6/threading.py", line 864, in run
    self._target(*self._args, **self._kwargs)
  File "/home/localuser/miniconda3/lib/python3.6/site-packages/distributed/deploy/ssh.py", line 57, in async_ssh
    banner_timeout=20)  # Helps prevent timeouts when many concurrent ssh connections are opened.
  File "/home/localuser/miniconda3/lib/python3.6/site-packages/paramiko/client.py", line 329, in connect
    to_try = list(self._families_and_addresses(hostname, port))
  File "/home/localuser/miniconda3/lib/python3.6/site-packages/paramiko/client.py", line 200, in _families_and_addresses
    hostname, port, socket.AF_UNSPEC, socket.SOCK_STREAM)
  File "/home/localuser/miniconda3/lib/python3.6/socket.py", line 745, in getaddrinfo
    for res in _socket.getaddrinfo(host, port, family, type, proto, flags):
socket.gaierror: [Errno -2] Name or service not known

Я запускаю кластер так:

$ dask-ssh --ssh-private-key ~/.ssh/cluster_id_rsa \
      --hostfile ~/dask-hosts.txt \
      --remote-python "~/miniconda3/bin/python3.6"

мой dask-hosts.txt выглядит так:

localuser@127.0.0.1
remoteuser@10.10.4.200
...
remoteuser@10.10.4.207

Я получаю ту же ошибку с / без строки localhost.

Я проверил настройку ssh, я могу войти на все узлы, используя настройку открытого ключа (ключ не зашифрован, чтобы избежать подсказок по расшифровке). Что мне не хватает?

1 ответ

Решение

Ошибка указывает, что разрешение имени является виновником. Скорее всего, это происходит из-за включения имен пользователей в вашем dask-hosts.txt, Согласно документации, файл хоста должен содержать только имена хостов /IP-адреса:

–Hostfile PATH Текстовый файл с именами хостов /IP-адресами

Ты можешь использовать --ssh-username установить имя пользователя (хотя только одно).

Другие вопросы по тегам