-
Jupyterhub 구축 가이드aws 2020. 11. 2. 21:05728x90
Base image = amzn2-ami-hvm-2.0.20200917.0-x86_64-gp2 (ami-03b42693dc6a7dc35)
Install Python3
sudo yum update sudo yum install yum-utils -y sudo yum groupinstall development -y sudo yum install python3 -y python3 -V
Install pip3
sudo yum install python-pip wget https://bootstrap.pypa.io/get-pip.py python3 get-pip.py
Install npm/nodejs
curl --silent --location https://rpm.nodesource.com/setup_10.x | sudo bash - sudo yum -y install nodejs
Install proxy with npm
npm install -g configurable-http-proxy
Install sudospawner (필요시)
pip3 install sudospawner
Install jupyterlab (필요시)
pip3 install jupyterlab
Install jupyter notebook (sudospawner 를 설치했다면 의존성에 의해 이미 설치되어져 있음)
python3 -m pip install notebook
app계정 생성
useradd jupyterhubapp
sudoers 편집
vi /etc/sudoers # 전역환경에 설치한 sudospawner 실행 파일을 JUPYTER_CMD로 설정 Cmnd_Alias JUPYTER_CMD = /usr/local/bin/sudospawner # jupyterhubapp 사용자가 jupyterhub 그룹에 있는 사용자에 대해서 암호없이 JUPYTER_CMD를 실행 jupyterhubapp ALL=(%jupyterhub) NOPASSWD:JUPYTER_CMD
jupyterhub 그룹 추가 및 유저 할당
groupadd jupyterhub usermod -a -G jupyterhub jupyterhubapp usermod -a -G jupyterhub jupyteruser # jupyterhubapp 이외에 추가 사용자를 설정한다. 그래서 멀티 유저 환경을 테스트 해본다. usermod -a -G jupyterhub jupyteradmin # jupyterhubapp 이외에 추가 사용자를 설정한다. 그래서 멀티 유저 환경을 테스트 해본다.
Install Anaconda
wget https://repo.anaconda.com/archive/Anaconda3-2019.10-Linux-x86_64.sh bash Anaconda3-2019.10-Linux-x86_64.sh Enter(many times) >> yes >> give directory or keep it as Default
Add Anaconda to PATH
echo "export PATH=/root/anaconda3/bin:$PATH" >> ~/.bashrc source ~/.bashrc
Install JupyterHub with Anaconda
conda install -c conda-forge jupyterhub
Create a configuration file in current folder and use the configuration file
sudo su - jupyterhubapp jupyterhub --generate-config
jupyterhub_config.py 설정
c.JupyterHub.spawner_class = 'sudospawner.SudoSpawner' # jupyterlab을 기본으로 띄우고 싶으면 jupyterlab을 설치하고 디폴트 경로를 /lab으로 한다. c.Spawner.default_url = '/lab'
service 등록
vi /lib/systemd/system/jupyterhub.service [Unit] Description=Jupyterhub [Service] User=jupyterhubapp ExecStart=/usr/local/bin/jupyterhub -f /etc/jupyterhub/jupyterhub_config.py --ip 0.0.0.0 [Install] WantedBy=multi-user.target
service 자동 시작 등록
systemctl enable jupyterhub
Start and visit JupyterHub
systemctl start jupyterhub
jupyterhubapp 유저로 로그인시 후 파일생성 jupyteruser 유저로 로그인
jupyteruser 유저로 로그인시 후 파일생성 jupyteradmin 유저로 로그인시 후 파일생성 상기 스크린샷과 같이 각 유저별로 분리된 환경으로 구동 되는것을 확인할 수 있습니다.
'aws' 카테고리의 다른 글
aws cloudwatch memory monitoring 추가 (0) 2020.11.11 동일한 vpc 내에 public subnet 과 private subnet ssm agent 적용 방법 (0) 2020.11.10 ssm agent 설치 (centos) (0) 2020.11.09 boto3 패키지를 사용한 s3 권한 확인 업로드 테스트 (using boto3 for s3 upload test) (0) 2020.11.06 mount to s3 with s3fs on redhat(centos) (0) 2020.11.04