Categories: Шпаргалки

Установка Jupyter Notebook на CentOS

Jupyter Notebook — это приложение для создания книг и документов из вычислительного материала (в формате .ipynb). Его установка и запуск должны выполняться от пользователя с правами, отличными от root. В данной инструкции мы будем выполнять часть операций от последнего, остальное — от пользователя jupyter. Руководство подходит для Linux CentOS версий 7 и 8.

Перед установкой можно ознакомиться с приложением онлайн на официальном сайте .

Установка и запуск

От пользователя root устанавливаем необходимые компоненты:

# yum install gcc python3-devel python3-pip kernel-headers

* где:

  • gcc — набор компиляторов для разных языков программирования.
  • python3-devel — средства для разработки Python. Библиотеки и инструменты для создания своих модулей и возможности встраивания Python в другие приложения.
  • python3-pip — инструмент для установки пакетов python.
  • kernel-headers — заголовочные файлы ядра. Необходимы для сборки модулей последнего.

Создаем пользователя, от которого будем запускать Jupyter Notebook:

# useradd jupyter -m

* наш пользователь будет с именем jupyter. Также мы сразу создаем для него домашний каталог.

Создаем правило в брандмауэре для подключения к Jupyter Notebook по сети:

# firewall-cmd —permanent —add-port=8080/tcp

* предполагается, что наш сервис будет запускаться на порту 8080 .

Применяем настройки firewalld:

# firewall-cmd —reload

Заходим в систему под созданным пользователем jupyter:

# su — jupyter

Выполним установку питон-приложения jupyter:

$ pip3 install —user jupyter

Проверить корректность установки можно командой:

$ jupyter —version

Мы должны увидеть версию установленного приложения, например:

jupyter core : 4.7.0
jupyter-notebook : 6.1.5
qtconsole : 4.7.7
ipython : 7.16.1
ipykernel : 5.3.4
jupyter client : 6.1.7
jupyter lab : not installed
nbconvert : 6.0.7
ipywidgets : 7.5.1
nbformat : 5.0.8
traitlets : 4.3.3

* обратите внимание, что в списке есть jupyter lab, который не установлен. При желании, его устанавливаем командой: pip3 install —user jupyterlab .

Создаем конфигурационный файл для Jupyter Notebook:

jupyter notebook —generate-config

Он должен появиться в домашней директории пользователя jupyter:

Writing default config to: /home/jupyter/.jupyter/jupyter_notebook_config.py

Задаем пароль для входа в веб-панель:

$ jupyter notebook password

Дважды вводим пароль — система создаст для него хэш и сохранить в домашней папке пользователя:

Enter password:
Verify password:
[NotebookPasswordApp] Wrote hashed password to /home/jupyter/.jupyter/jupyter_notebook_config.json

Запускаем приложение:

$ jupyter notebook —no-browser —ip=0.0.0.0 —port=8080

* в данном примере мы запускаем jupyter notebook на порту 8080 и на всех сетевых интерфейсах.

Открываем браузер и переходим по пути http://<IP-адрес компьютера с jupyter>:8080 — должна открывать страница с формой ввода пароля, который мы создавали ранее — вводим его:

Откроется страница Jupyter Notebook:

Если jupyter notebook не открывается в браузере, запускаем другую консоль на компьютере с приложением и выполняем команду:

ss -tunlp | grep 8080

Мы должны увидеть что-то на подобие:

tcp LISTEN 0 128 0.0.0.0:8080 0.0.0.0:* users:((«jupyter-noteboo»,pid=8510,fd=5))

В противном случае проверяем, что у нас запустилось приложение. Но если команда ss -tunlp | grep 8080 показала наличие сервиса, который слушает на порту 8080, еще раз проверяем настройки брандмауэра:

firewall-cmd —list-all

Мы должны увидеть правило:


ports: 8080/tcp

После окончания работы можно выходить из-под пользователя jupyter:

exit

Запуск в качестве сервиса

Мы установили и запустили наше приложение из консоли. Однако, если мы хотим, чтобы Jupyter Notebook запускался как сервис автоматически, создаем юнит в systemd:

vi /etc/systemd/system/jupyter.service

[Unit]
Description=Jupyter Notebook Service
After=network.target

[Service]
User=jupyter
Group=jupyter
Type=simple
WorkingDirectory=/home/jupyter
ExecStart=/home/jupyter/.local/bin/jupyter notebook —no-browser —ip=0.0.0.0 —port=8080
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure

[Install]
WantedBy=multi-user.target

Перечитываем конфигурацию systemd:

systemctl daemon-reload

Разрешаем автозапуск:

systemctl enable jupyter

Отключаем SELinux:

setenforce 0

sed -i ‘s/^SELINUX=.*/SELINUX=disabled/g’ /etc/selinux/config

Стартуем сервис:

systemctl start jupyter

Проверяем работоспособность:

systemctl status jupyter

Опять открываем браузер и переходим на страницу http://<IP-адрес компьютера с jupyter>:8080 — мы должны увидеть страницу авторизации.

admin

Recent Posts

Что такое Zulip

Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…

2 месяца ago

Что такое Zookeeper

Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…

2 месяца ago

Что такое Zimbra

Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…

2 месяца ago

Что такое Zabbix

Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…

2 месяца ago

Что такое YouTube

YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…

2 месяца ago

Что такое yota

Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…

2 месяца ago