Не удается получить доступ к Jupyter Notebooks на виртуальной машине глубокого обучения Azure

Я следовал инструкциям здесь.

Я на виртуальной машине Ubuntu через SSH. Я пытался получить доступ к IP:8000, но Chrome говорит, что сайт недоступен. Порт 8000 действительно открыт по умолчанию, как указано в документации.

В инструкциях не упоминается, нужно ли мне запускать jupyterhub, поэтому я попробовал это и получил эту ошибку -

username@fastai:~ $ jupyterhub
[I 2018-04-02 00:25:41.018 JupyterHub app:871] Writing cookie_secret to /home/username/jupyterhub_cookie_secret
[I 2018-04-02 00:25:41.036 alembic.runtime.migration migration:117] Context impl SQLiteImpl.
[I 2018-04-02 00:25:41.037 alembic.runtime.migration migration:122] Will assume non-transactional DDL.
[I 2018-04-02 00:25:41.067 alembic.runtime.migration migration:327] Running stamp_revision  -> 3ec6993fe20c
[W 2018-04-02 00:25:41.388 JupyterHub app:955] No admin users, admin interface will be unavailable.
[W 2018-04-02 00:25:41.389 JupyterHub app:956] Add any administrative users to `c.Authenticator.admin_users` in config.
[I 2018-04-02 00:25:41.389 JupyterHub app:983] Not using whitelist. Any authenticated user will be allowed.
[E 2018-04-02 00:25:41.414 JupyterHub app:1525] Failed to bind hub to http://127.0.0.1:8081/hub/
[E 2018-04-02 00:25:41.414 JupyterHub app:1623]
    Traceback (most recent call last):
      File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyterhub/app.py", line 1621, in launch_instance_async
        yield self.start()
      File "/anaconda/envs/py35/lib/python3.5/site-packages/jupyterhub/app.py", line 1523, in start
        self.http_server.listen(self.hub_port, address=self.hub_ip)
      File "/anaconda/envs/py35/lib/python3.5/site-packages/tornado/tcpserver.py", line 142, in listen
        sockets = bind_sockets(port, address=address)
      File "/anaconda/envs/py35/lib/python3.5/site-packages/tornado/netutil.py", line 197, in bind_sockets
        sock.bind(sockaddr)
    OSError: [Errno 98] Address already in use

Прежде чем я прочитал о jupyterhub в документации, я попытался запустить jupyter notebook, что выдало мне эту ошибку.

[C 04:00:12.963 NotebookApp] Bad config encountered during initialization:
[C 04:00:12.963 NotebookApp] No such notebook dir: ''/dsvm/Notebooks''

Казалось, он работает нормально после создания файла конфигурации с помощью jupyter notebook --generate-config и его редактирования, но я все еще не мог получить к нему доступ через Chrome, несмотря на открытие всех портов.

ОБНОВЛЕНИЕ
Сегодня я установил клиент X2Go и обнаружил значок блокнота jupyter на рабочем столе, но при запуске возникла эта ошибка - Не удалось запустить Jupyter.desktop Не удалось проанализировать файл рабочего стола: Файл ключей содержит строку '/anaconda/pkgs/notebook-5.4.0-py27_0/info/icon.png', которая не является парой ключ-значение, группой или комментарием.

Похоже, этот файл вызывает блокнот jupyter, который выдает ту же ошибку, что и раньше.


person pradhyo    schedule 02.04.2018    source источник
comment
вы использовали вместо этого приложение Jupyter Lab? Он запускается, и вы должны использовать https://‹ip-адрес | локальный хост›:9999. И я ввел localhost:8000, блокнот Jupyter также работает нормально.   -  person Sheik-Masha    schedule 06.04.2018
comment
8000 недоступен для меня, поэтому я предполагаю, что 9999 тоже не будет работать ... в большинстве сообщений в блогах, которые я видел, не упоминалась проблема, с которой я столкнулся, поэтому я предполагаю, что они немного изменили изображение, что вызывает мою проблему.   -  person pradhyo    schedule 07.04.2018
comment
@pradhyo Я зашел в раздел «Приложения» и открыл JupyterHub через раскрывающийся список в разделе «Разработка». Я также открыл порт 9999 для всего входящего трафика. Это, казалось, сработало.   -  person Wes    schedule 26.04.2018


Ответы (2)


JupyterHub при запуске должен работать на порту 8000. Можете ли вы перепроверить его статус с помощью systemctl status jupyterhub? А вы перепроверили на портале, что порт 8000 открыт?

Если JupyterHub сообщает, что он работает и прослушивает порт 8000, возможно, соединение блокируется брандмауэром. Некоторым пользователям в этом случае удалось перенаправить порт 8000 через SSH, а затем подключиться к localhost: 8000.

person Paul Shealy    schedule 08.05.2018
comment
Спасибо, Пол, я удалил виртуальную машину и теперь не могу ее проверить. - person pradhyo; 06.06.2018

Это было вызвано ошибкой, которая с тех пор была исправлена ​​в более поздних версиях виртуальной машины глубокого обучения.

Дополнительные сведения см. в этой проблеме Github.

person pradhyo    schedule 06.06.2018