[인프라] JupyterHub 설치
JupyterHub이 무엇이고 간단한 설치 방법을 알아보자.
Jupyterhub
JupyterHub이란 다중 사용자 환경에서 Jupyter Notebook을 호스팅하고 관리하는 도구이다.
여러 사용자가 동시에 Jupyter Notebook을 사용할 수 있으며, 각 사용자는 독립적인 작업 환경을 가진다.
* Jupyter Notebook: Python Interpreter로 웹 에서 Python 코드를 작성하고 실행할 수 있는 개발 환경
설치 환경
- 버추얼박스에서 진행
- OS: Ubuntu 20.04
- CPU: 2 Core
- Memory: 4096 MB
설치 방법
* root에서 진행
1. Nodejs 패키지 설치
apt-get install nodejs npm
npm install -g configurable-http-proxy
2. Python 패키지 설치
apt install python3-pip
python3 -m pip install jupyterhub
python3 -m pip install jupyterlab notebook
3. JupyterHub config.py 설정
mkdir -p /etc/jupyterhub/
cd /etc/jupyterhub/
jupyterhub --generate-config //config.py 파일을 가져온다.
vi jupyterhub_config.py
# 주석 부분 제거 후 값 추가
c.JupyterHub.admin_access = True
c.Spawner.cpu_limit = 0.5
c.Spawner.mem_limit = '2G'
c.JupyterHub.hub_connect_ip = '0.0.0.0'
c.JupyterHub.port = 8000
# 새롭게 추가
c.SudoSpawner.sudospawner_path = '/usr/local/bin/sudospawner'
c.Spawner.default_url = '/notebooks'
c.JupyterHub.extra_log_file = '/var/log/jupyterhub/jupyterhub.log'
c.Application.log_format = '[%(asctime)s,%(msecs).03d] [%(levelname)s] [%(name)s] %(message)s'
c.Application.log_level = 0
##Ldap Configuration
c.LDAPAuthenticator.server_address = 'adserver.hadoop.com'
c.LDAPAuthenticator.server_port = 389
c.LDAPAuthenticator.lookup_dn = False
c.LDAPAuthenticator.bind_dn_template = [
"CN={username},OU=Users,OU=BIGDATA,DC=HADOOP,DC=COM",
]
c.Authenticator.admin_users = {'user'}
c.PAMAuthenticator.admin_groups = {'user'}
default_url 항목은 서버가 시작될 때 기본적으로 사용할 값을 적어준다.
ex) lab을 사용하고 싶으면 '/lab'
admin_users,admin_groups 항목은 원하는 아이디를 넣어주면 된다.
단, 계정이 없을시 계정을 생성하고 패스워드도 설정해야 한다.
mkdir -p /var/log/jupyterhub
위에 config.py에서 설정한 log가 저장되는 경로에 디렉토리를 만들어 준다.
실행
nohup jupyterhub -f /etc/jupyterhub/jupyterhub_config.py &
config.py에 있는 설정 값으로 JupyterHub을 실행 시켜야 하기 때문에 -f 옵션을 사용해 config.py가 있는 경로를 가리키고 백그라운드로 실행 해준다.
URL에 ip주소:port/hub/admin으로 접속하여 위 config.py에서 설정한 admin 계정으로 로그인 해준다.
* 패스워드도 변경해서 사용해야 한다.
ex) 127.0.0.1:8000/hub/admin
사용자 계정 생성 및 어드민 권한 부여
useradd -m test -s /bin/bash
passwd test
usermod -a -G jupyter test
* 사용자 계정 생성은 JupyterHub admin 페이지가 아닌 위와 같이 리눅스 명령어로 만들어야 한다.
로그인해서 작성한 파이썬 파일은 사용자 홈디렉토리에 저장된다.