Технический обзор | Установка | Конфигурация | Докер | Содействие | Лицензия | Помощь и ресурсы
С помощью JupyterHub вы можете создать многопользовательский концентратор , который создает, управляет и проксирует несколько экземпляров однопользовательского сервера ноутбуков Jupyter.
Проект Jupyter создал JupyterHub для поддержки множества пользователей. Hub может предложить серверы ноутбуков классу студентов, корпоративной рабочей группе по обработке данных, научно-исследовательскому проекту или группе высокопроизводительных вычислений.
В состав JupyterHub входят три основных участника:
Основными принципами работы являются:
JupyterHub также предоставляет REST API для администрирования Hub и его пользователей.
Система на базе Linux/Unix
Python 3.8 или выше
nodejs/НПМ
Если вы используете conda
, зависимости nodejs и npm будут установлены для вас conda.
Если вы используете pip
, установите последнюю версию (не ниже 12.0) nodejs/npm.
При использовании аутентификатора PAM по умолчанию — подключаемый модуль аутентификации (PAM).
Сертификат TLS и ключ для связи HTTPS
Доменное имя
conda
Чтобы установить JupyterHub вместе с его зависимостями, включая nodejs/npm:
conda install -c conda-forge jupyterhub
Если вы планируете запускать серверы ноутбуков локально, установите JupyterLab или блокнот Jupyter:
conda install jupyterlab
conda install notebook
pip
JupyterHub можно установить с помощью pip
, а прокси — с помощью npm
:
npm install -g configurable-http-proxy
python3 -m pip install jupyterhub
Если вы планируете запускать серверы ноутбуков локально, вам потребуется установить JupyterLab или блокнот Jupyter:
python3 -m pip install --upgrade jupyterlab
python3 -m pip install --upgrade notebook
Чтобы запустить Hub-сервер, выполните команду:
jupyterhub
Посетите http://localhost:8000
в своем браузере и войдите в систему, используя свое системное имя пользователя и пароль.
Примечание . Чтобы разрешить нескольким пользователям входить на сервер, вам необходимо запустить команду jupyterhub
от имени привилегированного пользователя , например root. В вики описано, как запустить сервер от имени менее привилегированного пользователя , что требует дополнительной настройки системы.
В разделе «Начало работы» документации описаны общие шаги по настройке JupyterHub.
Учебное пособие по JupyterHub содержит подробное видео и примеры конфигураций JupyterHub.
Чтобы создать файл конфигурации по умолчанию с настройками и описаниями:
jupyterhub --generate-config
Чтобы запустить хаб по определенному URL-адресу и порту 10.0.1.2:443
с помощью https :
jupyterhub --ip 10.0.1.2 --port 443 --ssl-key my_ssl.key --ssl-cert my_ssl.cert
Аутентификатор | Описание |
---|---|
PAMAuthenticator | Встроенный аутентификатор по умолчанию |
Оаутентификатор | OAuth + Аутентификатор JupyterHub = OAuthenticator |
лдааутентификатор | Простой плагин аутентификации LDAP для JupyterHub |
керберозааутентификатор | Плагин Kerberos Authenticator для JupyterHub |
Создатель | Описание |
---|---|
ЛокальныйПроцессСпаунер | Встроенный генератор по умолчанию запускает однопользовательские серверы как локальные процессы. |
докерспаунер | Создавать однопользовательские серверы в контейнерах Docker. |
создатель кубов | Спаунер Kubernetes для JupyterHub |
судоспаунер | Создавать однопользовательские серверы без прав root |
системаdspawner | Создать однопользовательские серверы ноутбуков с помощью systemd |
пакетный генератор | Предназначен для кластеров, использующих программное обеспечение пакетного планирования. |
прядильщик | Создание однопользовательских серверов-ноутбуков, распределенных в кластере Hadoop. |
обертка | WrapSpawner и ProfilesSpawner позволяют настраивать генераторы во время выполнения. |
Начальный образ Docker для JupyterHub представляет собой базовое развертывание JupyterHub с использованием Docker.
Важно! Этот образ quay.io/jupyterhub/jupyterhub
содержит только сам хаб без каких-либо настроек. В общем, нужно создать производный образ, по крайней мере, с помощью jupyterhub_config.py
настраивающего аутентификатор и/или спаунер. Для запуска однопользовательских серверов, которые могут находиться в той же системе, что и концентратор, или нет, необходимо установить Jupyter Notebook версии 4 или выше.
Образ докера JupyterHub можно запустить с помощью следующей команды:
docker run -p 8000:8000 -d --name jupyterhub quay.io/jupyterhub/jupyterhub jupyterhub
Эта команда создаст контейнер с именем jupyterhub
, который вы можете остановить и возобновить с помощью docker stop/start
.
Служба Hub будет прослушивать все интерфейсы порта 8000, что делает ее хорошим выбором для тестирования JupyterHub на настольном компьютере или ноутбуке .
Если вы хотите запустить Docker на компьютере с общедоступным IP-адресом, вам следует (как в случае ДОЛЖНО) защитить его с помощью SSL , добавив параметры SSL в конфигурацию докера или используя прокси-сервер с поддержкой SSL.
Монтирование томов позволит вам хранить данные за пределами образа Docker (хост-системы), поэтому они будут постоянными , даже когда вы запускаете новый образ.
Команда docker exec -it jupyterhub bash
создаст корневую оболочку в вашем контейнере докеров. Вы можете использовать корневую оболочку для создания системных пользователей в контейнере . Эти учетные записи будут использоваться для аутентификации в конфигурации JupyterHub по умолчанию.
Если вы хотите внести свой вклад в проект, пожалуйста, прочтите нашу документацию для участников и CONTRIBUTING.md
. В файле CONTRIBUTING.md
объясняется, как настроить установку для разработки, как запустить набор тестов и как внести свой вклад в документацию.
Общее представление о видении и дальнейших направлениях проекта см. в дорожной карте сообщества JupyterHub.
JupyterHub поддерживается в системах на базе Linux/Unix.
JupyterHub официально не поддерживает Windows. Возможно, вы сможете использовать JupyterHub в Windows, если используете Spawner и Authenticator, которые работают в Windows, но настройки JupyterHub по умолчанию — нет. Ошибки, обнаруженные в Windows, не будут приняты, а набор тестов не будет работать в Windows. Однако небольшие исправления, исправляющие незначительные проблемы совместимости с Windows (например, базовая установка), могут быть приняты. Для систем на базе Windows мы рекомендуем запускать JupyterHub в контейнере докеров или виртуальной машине Linux.
Дополнительная ссылка: документация Tornado по поддержке платформы Windows.
Мы используем модель общего авторского права, которая позволяет всем участникам сохранять авторские права на свои материалы.
Весь код лицензируется в соответствии с условиями пересмотренной лицензии BSD.
Мы рекомендуем вам задавать вопросы и делиться идеями на форуме сообщества Jupyter. Вы также можете поговорить с нами на нашем канале JupyterHub Gitter.
JupyterHub следует Руководствам сообщества Jupyter.
Технический обзор | Установка | Конфигурация | Докер | Содействие | Лицензия | Помощь и ресурсы