ABOUT ME

관심사 - 웹 DB python nginx aws gcp openstack devstack php mysql linux windows infra devops jenkins ci cd ansible terraform

Today
Yesterday
Total
  • Jupyterhub 구축 가이드
    aws 2020. 11. 2. 21:05
    728x90

    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 유저로 로그인시 후 파일생성

     

    상기 스크린샷과 같이 각 유저별로 분리된 환경으로 구동 되는것을 확인할 수 있습니다.

Designed by Tistory.