JupyterHub 설치: 단계별 가이드

JupyterHub 설치: 단계별 가이드

주요 하이라이트

  • JupyterHub는 여러 사용자가 동시에 Jupyter Notebook을 사용할 수 있는 무료 도구입니다.
  • 이를 통해 데이터 과학 프로젝트에서 협업이 더 쉬워지고, 별다른 번거로움 없이 프로젝트를 확장할 수 있습니다.
  • 설치를 위해서는 가상 컴퓨터 공간과 같은 것을 설정하고 JupyterHub를 원하는 대로 조정해야 합니다.
  • JupyterHub를 설치하는 방법은 여러 가지가 있습니다. Docker, Conda 또는 Pip을 사용하는 방법이 그중 일부입니다.
  • JupyterHub를 사용할 때 성능 향상을 위해 GPU가 필요한 경우가 많습니다.

소개

JupyterHub는 데이터 과학자와 머신러닝 애호가에게 유용한 도구입니다. 인터넷을 통해 Jupyter Notebook에서 협업을 용이하게 하며, 로컬 설치 없이 웹 브라우저를 통해 공유 노트북에 접근할 수 있습니다. 이 중앙 집중식 플랫폼을 통해 팀은 코드와 도구를 공유하여 데이터 과학 프로젝트에서 효율적으로 협업할 수 있습니다. 또한 JupyterHub는 더 많은 사용자와 증가하는 계산 요구 사항을 원활하게 수용하여 프로젝트 확장을 단순화합니다. 본 가이드는 초보자부터 데이터 과학 전문가까지 다양한 사용자 수준에 맞춰 로컬 머신에 JupyterHub를 설정하는 방법을 단계별로 설명하며, 설치, 구성 및 최적화를 다룹니다. 또한 Novita AI GPU Pods를 사용하여 Jupyter 프레임워크를 실행하면 더 높은 성능을 얻을 수 있습니다.

JupyterHub 이해하기

JupyterHub 설정에 들어가기에 앞서, 그 작동 방식을 이해해 보겠습니다. JupyterHub는 Jupyter Notebook을 위한 공유 공간을 만드는 무료 도구로, 여러 사용자를 위한 개별 노트북 서버를 관리하는 중앙 허브 역할을 합니다. 웹 브라우저나 명령줄을 통해 접근 가능한 온라인 애플리케이션으로 작동하며, 사용자 로그인, 서버 설정, 사용자와 노트북 간의 통신을 처리합니다.

사용자가 브라우저를 통해 JupyterHub에 로그인하면 허브 서버가 사용자를 인증하고 개인 노트북 서버를 설정합니다. 이를 통해 사용자는 친숙한 인터페이스에서 Python 스크립트를 실행하거나 데이터를 분석할 수 있으며, 마치 로컬에서 Jupyter를 실행하는 것처럼 원활하게 작업을 계속할 수 있습니다.

JupyterHub 구성 요소 살펴보기

JupyterHub를 이해하기 위해 핵심 구성 요소를 살펴보겠습니다. 허브 서버는 사용자 로그인, 개별 서버 설정, 사용자와 노트북 간의 데이터 전송을 원활하게 관리합니다.

향상된 안전성과 개인 정보 보호를 위해 JupyterHub는 사용자 서버를 Docker 컨테이너 내에서 실행합니다. 이 설정은 각 사용자의 작업 공간을 체계적이고 격리된 상태로 유지하여 빅 데이터 프로젝트에서 원활한 협업을 가능하게 합니다.

Jupyter Notebook은 실제 작업이 이루어지는 곳입니다. 코딩, 시각화 생성, 데이터 분석 단계 문서화를 위한 온라인 공간을 제공합니다. 사용자는 코드, 설명, 시각 자료를 결합한 대화형 문서로 작업을 쉽게 공유할 수 있습니다.

JupyterHub vs. JupyterLab vs. Jupyter Notebook

JupyterHub가 Jupyter Notebook 서버를 호스팅하고 관리하는 플랫폼을 제공하는 반면, JupyterHub, JupyterLab, Jupyter Notebook 간의 차이점을 이해하는 것이 중요합니다.

Jupyter Notebook은 JupyterHub가 제공하는 원래 인터페이스로, 사용자가 노트북을 만들고 실행할 수 있게 해줍니다. 코드 작성, 시각화 생성, 데이터 분석 워크플로 문서화를 위한 사용자 친화적인 인터페이스를 제공합니다. 반면 JupyterLab은 Jupyter Notebook의 확장 버전으로, 더 강력하고 유연한 사용자 인터페이스를 제공합니다. 데이터 과학 작업을 위한 모듈식 및 확장 가능한 환경을 제공하여 사용자가 여러 노트북, 코드 편집기 및 기타 도구를 단일 작업 공간에 배열할 수 있습니다.

다음은 JupyterHub, JupyterLab, Jupyter Notebook의 차이점을 강조하는 비교 표입니다.

JupyterHub가 여러 사용자를 위한 인프라와 관리 기능을 제공하는 반면, JupyterLab과 Jupyter Notebook은 사용자가 코드를 작성하고 실행하기 위해 상호 작용하는 인터페이스입니다.

JupyterHub를 사용하는 이유는?

JupyterHub는 데이터 과학이나 머신러닝 프로젝트에서 협업하는 팀, 특히 운영을 확장할 때 많은 이점을 제공합니다. JupyterHub를 고려해야 하는 이유는 다음과 같습니다.

협업 데이터 과학 워크플로 간소화

데이터 과학 프로젝트에서 협업하는 것은 매우 중요하며, JupyterHub는 모든 사용자가 동일한 허브 서버를 사용할 수 있도록 하여 훨씬 쉽게 만듭니다. 이렇게 하면 사용자가 웹 브라우저를 통해 로그인할 때 각자 Jupyter Notebook을 사용하여 프로젝트의 자신의 부분을 작업할 수 있습니다.

이 설정을 통해 팀원들은 자신이 작업 중인 내용을 다른 사람들과 쉽게 공유하고, 기다릴 필요 없이 데이터 분석이나 코드 수정을 도울 수 있습니다. JupyterHub가 누가 무엇에 접근할 수 있는지, 리소스가 사용자 간에 어떻게 분할되는지 관리하므로 모든 작업이 안전하고 원활하게 실행됩니다.

가장 큰 장점 중 하나는 각 사용자에 대해 Jupyter Notebook을 설정하는 번거로움을 겪지 않아도 된다는 것입니다. 대신 누구든지 허브 서버에 로그인하기만 하면 어떤 컴퓨터나 운영 체제를 사용하든 상관없이 어디서든 프로젝트에 바로 뛰어들 수 있습니다.

데이터 과학 프로젝트 확장

데이터 과학 프로젝트를 확장하는 것은 까다로울 수 있습니다. 특히 큰 데이터 세트나 많은 컴퓨팅 파워가 필요한 복잡한 작업을 처리할 때 더욱 그렇습니다. JupyterHub를 사용하면 이 프로세스가 훨씬 순조로워집니다. 중앙 허브 서버 역할을 하여 여러 사용자와 그들의 무거운 계산 요구를 지원하도록 설계되었기 때문입니다.

정말 큰 프로젝트의 경우 JupyterHub는 Kubernetes와 협력합니다. 이 파트너십을 통해 데이터 과학 작업에 필요한 리소스를 더 잘 할당하고 관리할 수 있습니다. Kubernetes 덕분에 컨테이너를 사용하면 각 사용자의 환경을 분리하여 모든 것이 더 효율적으로 실행됩니다.

JupyterHub와 Kubernetes의 조합을 사용하면 프로젝트 요구 사항에 따라 확장하는 것이 간단해집니다. 팀이 커지거나 더 큰 데이터 청크로 작업하든, 이러한 도구는 데이터 과학 작업의 모든 측면을 관리하는 데 필요한 유연성과 성능을 제공합니다.

JupyterHub 설치 준비

JupyterHub 설정을 시작하기 전에 컴퓨터가 준비되었는지 확인하는 것이 중요합니다. 시스템을 준비하기 위해 알아야 할 사항은 다음과 같습니다.

시스템 요구 사항 및 사전 조건

JupyterHub 설정을 시작하기 전에 컴퓨터가 몇 가지 사항을 충족해야 합니다. 필요한 사항을 살펴보겠습니다.

  • 운영 체제: JupyterHub가 가장 잘 작동하는 Linux 또는 Unix 기반 시스템이 필요합니다. 먼저 운영 체제가 이 설정에 적합한지 확인하십시오.
  • 명령줄: JupyterHub를 설정하려면 명령줄 인터페이스를 꽤 많이 사용하게 됩니다. 아직 익숙하지 않다면 지금이 친숙해질 시간입니다. 모든 설치 단계가 여기서 이루어지기 때문입니다.
  • JupyterHub 버전: 시작하기 전에 최신 버전의 JupyterHub를 다운로드하는 것이 중요합니다. 이렇게 하면 새로운 기능을 놓치지 않고 최신 버전에서 수정된 알려진 문제를 피할 수 있습니다.
  • 로컬 머신: 자신의 컴퓨터에만 설치하거나 여러 사용자를 위해 서버에 설정하는 것은 전적으로 상황에 따라 다릅니다. JupyterHub를 원활하게 실행하기 위해 선택한 장치가 모든 요구 사항을 충족하는지 확인하십시오.

올바른 설치 방법 선택

선호도와 컴퓨터 처리 능력에 따라 JupyterHub를 실행하는 세 가지 주요 방법이 있습니다.

  • Docker를 사용하면 JupyterHub를 자체 공간에서 실행할 수 있는 멋진 도구를 사용하게 됩니다. 설정이 매우 간단하며, 다른 Jupyter Notebook 프로젝트를 서로 분리해야 하는 경우에 완벽합니다.
  • Conda를 사용하면 소프트웨어를 쉽게 준비할 수 있습니다. Conda를 사용하여 컴퓨터에 JupyterHub를 위한 특별한 공간을 만들고, 필요한 모든 것을 다른 것과 엉키지 않도록 할 수 있습니다.
  • Pip을 사용하면 기존 방식으로 시스템에 JupyterHub를 직접 설치합니다. Pip을 통해 Python 항목을 추적하는 것을 좋아하는 사람에게 이 방법이 적합할 수 있습니다.

JupyterHub 설치 초보자 가이드

시작하려면 로컬 머신에 가상 환경을 만드십시오. 다음으로, 이 환경 내에서 pip 또는 conda를 사용하여 JupyterHub와 필요한 모든 구성 요소를 설정합니다. 그런 다음 구성 파일에서 옵션을 조정하여 JupyterHub를 조정합니다. 그런 다음 명령줄에 명령을 입력하여 JupyterHub 서버를 시작합니다. 마지막으로 관리 인터페이스를 통해 새 사용자를 추가하고 누가 무엇을 할 수 있는지 추적할 수 있습니다.

이 쉬운 방법은 데이터 과학 프로젝트를 위한 JupyterHub 설정을 쉽게 만듭니다.

1단계: 가상 환경 설정

JupyterHub를 시작하기 전에 가상 환경을 만드는 것이 좋습니다. 이렇게 하면 모든 것을 깔끔하게 유지하고 컴퓨터에 이미 설치된 Python 항목을 망치는 것을 피할 수 있습니다. 가상 환경은 JupyterHub가 다른 것과 충돌하지 않고 살 수 있는 자신만의 작은 공간이라고 생각하십시오.

이 특별한 공간을 만들기 위해 Conda 또는 virtualenv와 같은 도구가 가장 많이 사용됩니다. Conda를 사용하면 설정이 매우 간단합니다. 이러한 환경을 쉽게 관리하는 데 도움이 됩니다. 반면, 오랫동안 사용되어 온 신뢰할 수 있는 것을 사용하고 싶다면 virtualenv가 이러한 격리된 공간을 만드는 데 효과적입니다.

Conda 경로를 선택한다면 명령줄에서 다음과 같이 시작하는 방법입니다.

conda create --name myenv

"myenv"를 적절한 이름으로 바꾸면 됩니다. 설정이 완료되면 다음으로 활성화합니다.

conda activate myenv

하지만 virtualenv 스타일이 더 마음에 든다면 걱정하지 마세요! 다음을 입력하여 시작하십시오.

python -m venv myenv

다시 "myenv"를 원하는 이름으로 변경합니다. 설정 후 실행하려면 다음을 사용하십시오.

source myenv/bin/activate

JupyterHub 설치 전에 이러한 단계를 먼저 수행하면 모든 것이 자체 깔끔한 공간에서 원활하게 실행됩니다.

2단계: JupyterHub 및 필요한 종속성 설치

가상 환경이 준비되면 다음 단계는 JupyterHub와 필요한 모든 것을 설정하는 것입니다. Pip 또는 Conda와 같은 도구를 사용하여 이 작업을 수행할 수 있습니다.

Pip을 사용할 경우 가상 환경에서 다음을 입력하십시오.

pip install jupyter

이 명령은 최신 버전의 JupyterHub와 작동에 필요한 모든 것을 가져옵니다.

반면 Conda가 더 편하다면 다음 명령을 대신 사용하십시오.

conda install -c conda-forge jupyterhub

이것은 거의 동일한 작업을 수행하지만 conda-forge 채널에서 JupyterHub를 가져옵니다.

JupyterHub 자체 외에도 npm 및 Node.js와 같은 추가 구성 요소도 필요합니다. 이러한 구성 요소는 configurable HTTP 프록시라는 것을 실행하는 데 중요합니다. npm은 JavaScript 패키지를 관리하는 데 도움이 되고 Node.js는 이러한 패키지가 의도한 대로 실행되도록 합니다.

npm 및 Node.js를 시스템에 설치하려면 공식 웹사이트의 지침을 따르십시오.

이러한 추가 종속성을 포함한 모든 것을 설정한 후에는 이제 JupyterHub를 원하는 대로 구성하는 방법을 탐색하기 좋은 시간입니다.

3단계: JupyterHub 구성

JupyterHub를 설정하면 필요에 맞게 작동 방식을 조정할 수 있습니다. JupyterHub의 구성 파일을 사용하여 다양한 옵션을 선택할 수 있습니다.

시작하려면 jupyterhub_config.py라는 구성 파일을 만드십시오. 이 파일은 JupyterHub가 찾을 수 있는 위치(예: 작업 중인 폴더 또는 구성 전용 폴더)에 넣어야 합니다.

이 구성 파일은 Python 언어를 사용합니다. 따라서 Python 방식을 사용하여 로그인 방법, 리소스 제한 설정, 접근 제어, Jupyter Notebook 서버 실행 환경 구성 등을 결정할 수 있습니다.

구성 파일이 준비되면 터미널에서 다음 명령을 실행하십시오.

jupyterhub --config jupyterhub_config.py

이 명령은 구성 파일에서 선택한 모든 설정으로 JupyterHub를 시작합니다. 그런 다음 웹 브라우저로 이동하면 선택한 로그인 방법을 사용하여 JupyterHub에 로그인할 수 있습니다.

JupyterHub를 원하는 대로 설정하면 정확히 필요한 대로 작동하도록 만들 수 있습니다.

4단계: JupyterHub 서버 시작

모든 설정을 완료한 후에는 JupyterHub 서버를 실행할 차례입니다. 이 작업을 수행하려면 터미널 또는 명령줄로 이동하여 서버를 시작하는 명령을 입력하십시오. 네트워크에서 JupyterHub가 위치한 IP 주소 또는 호스트 이름을 포함해야 합니다. 서버를 시작한 후 웹 브라우저를 열고 해당 IP 주소 또는 호스트 이름과 함께 제공된 포트 번호를 입력하십시오. 이 작업은 JupyterHub의 로그인 화면으로 이동합니다. 여기서 사용자 이름과 비밀번호를 입력하면 JupyterHub가 제공하는 모든 것에 접속할 수 있습니다.

5단계: 사용자 추가 및 권한 관리

JupyterHub 서버를 설정하여 사용자를 추가하고 그들이 할 수 있는 작업을 결정하려면 인증자(authenticator)라는 것을 사용해야 합니다. 기본으로 제공되는 인증자는 PAM(Pluggable Authentication Module)입니다. 이 모듈을 사용하면 JupyterHub가 실행되는 서버에 이미 있는 계정이 로그인에 사용됩니다. 즉, 각 사용자는 JupyterHub 서버에 접속하기 위해 자신의 사용자 이름과 비밀번호를 가지게 됩니다. OAuth 및 GitHub와 같이 여러 비밀번호 없이 로그인할 수 있는 다른 방법도 있습니다. 이를 통해 사용자는 한 번 로그인하여 다양한 서비스에 접근할 수 있습니다. 누가 어떤 권한 수준 또는 접근 권한을 가지는지 관리함으로써 JupyterHub 서버에서 누가 무엇을 할 수 있고 기능을 사용할 수 있는지 결정하게 됩니다.

GPU 클라우드에서 JupyterHub 실행

Novita AI GPU Pods와 같은 GPU 클라우드 서버에서 JupyterHub를 실행하면 데이터 과학 및 머신러닝 워크플로의 기능을 크게 향상시킬 수 있습니다. Novita AI GPU Pods를 사용하면 사용자는 클라우드에서 강력한 GPU 리소스에 접근할 수 있으며, 이를 통해 협업 프로젝트를 위해 JupyterHub 인스턴스를 실행할 수 있습니다. 이러한 GPU 클라우드 서비스의 비용 효율적이고 유연한 특성 덕분에 팀은 막대한 선불 비용 없이 AI 혁신을 확장할 수 있습니다.

Novita AI GPU Pods를 사용하면 시간당 $0.35부터 시작하는 사용량에 따라 요금을 지불하므로 다양한 예산에 적합한 선택입니다. 이 플랫폼은 인기 있는 머신러닝 프레임워크가 사전 설치된 Jupyter에 즉시 접근할 수 있도록 하여 사용자가 최소한의 설정 시간으로 바로 작업에 들어갈 수 있도록 합니다. 또한 Novita AI GPU Pods는 무료 대용량 스토리지와 전송 수수료 없음을 제공하여 Llama-3–13b 모델과 같은 상당한 양의 데이터와 모델을 저장할 수 있습니다.

이 서비스는 또한 5GB에서 페타바이트에 이르는 볼륨의 빠른 연결 및 확장을 지원하여 컨테이너와 VM 간의 원활한 전환을 용이하게 합니다. 전 세계 배포 옵션과 사용하기 쉬운 API를 통한 리소스 관리 기능을 통해 Novita AI GPU Pods는 JupyterHub 실행을 위한 안정적이고 개발자 친화적인 GPU 클라우드 솔루션을 제공하며, 인스턴스를 시작, 종료 및 재시작하는 것이 간단합니다.

제품의 최신 변경 사항을 확인하려면 커뮤니티에 가입하십시오!

결론

요약하자면, JupyterHub는 데이터 과학 프로젝트에서 협업하고 워크플로를 확장하기 위한 훌륭한 도구입니다. 작동 방식과 올바른 설정 방법을 이해하는 것이 효과적으로 사용하는 열쇠입니다. 사용자 영역을 원하는 대로 설정하고 다른 도구를 혼합하여 추가하면 더욱 좋아질 수 있습니다. 일반적인 문제를 해결하면 모든 것이 원활하게 실행됩니다. 지금부터 JupyterHub가 데이터 과학 작업에 무엇을 할 수 있는지 탐구해 보십시오!

Novita AI는 100개 이상의 API에 접근할 수 있는 무한한 창의성을 위한 원스톱 플랫폼입니다. 이미지 생성, 언어 처리, 오디오 향상, 비디오 조작에 이르기까지 저렴한 종량제 요금제로 자체 제품을 구축하는 동안 GPU 유지 관리의 번거로움에서 해방됩니다. 무료로 사용해 보세요.

추천 읽을거리:

  1. GPU 성능 극대화: 성능을 최대화하는 팁
  2. RTX A2000 vs. RTX 3090 GPU 성능 비교