JupyterHub 구성 및 관리 - 아마존 EMR

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

JupyterHub 구성 및 관리

JupyterHub 및 관련 구성 요소는 Ubuntu 운영 체제를 jupyterhub 실행하는 Docker 컨테이너 내에서 실행됩니다. 컨테이너 내에서 실행 중인 구성 요소를 관리하는 방법에는 여러 가지가 있습니다.

주의

컨테이너 내에서 수행하는 사용자 지정 작업은 컨테이너를 다시 시작하는 경우 유지되지 않을 수 있습니다. 스크립트를 구성하거나 아니면 컨테이너 구성을 자동화하여 보다 쉽게 사용자 지정 구성을 재현할 수 있도록 하는 것이 좋습니다.

명령줄을 사용하여 관리

를 사용하여 SSH 마스터 노드에 연결한 경우 Docker 명령줄 인터페이스 (CLI) 를 사용하고 이름 () 또는 ID로 컨테이너를 지정하여 명령을 실행할 수 있습니다. jupyterhub 예를 들어, sudo docker exec jupyterhub command는 컨테이너 내에서 실행 중인 애플리케이션이나 운영 체제에 의해 인식되는 명령을 실행합니다. 이 명령을 사용하면 운영 체제에 사용자를 추가하고 추가 애플리케이션 및 라이브러리를 Docker 컨테이너 내에 설치할 수 있습니다. 예를 들어, 기본 컨테이너 이미지에는 패키지 설치 시 사용할 Conda가 들어 있으므로 마스터 노드 명령줄에서 다음 명령을 실행하면 애플리케이션, Keras를 컨테이너 내에 설치할 수 있습니다.

sudo docker exec jupyterhub conda install keras

단계를 제출하여 관리

단계는 작업을 클러스터에 제출하는 방법입니다. 단계는 클러스터를 실행할 때 제출할 수도 있고, 실행 중인 클러스터에 제출할 수도 있습니다. 명령줄에서 실행하는 명령은 command-runner.jar를 사용하여 단계로 제출될 수 있습니다. 자세한 내용은 Amazon EMR 관리 가이드 CLI 및 의 및 콘솔을 사용한 단계 작업을 참조하십시오Amazon EMR 클러스터에서 명령 및 스크립트 실행.

예를 들어, 이전 예제에서 마스터 노드의 AWS CLI 명령줄에서 설치한 것과 동일한 방식으로 로컬 컴퓨터에서 다음 명령을 사용하여 Keras를 설치할 수 있습니다.

aws emr add-steps --cluster-id MyClusterID --steps Name="Command Runner",Jar="command-runner.jar",Args="/usr/bin/sudo","/usr/bin/docker","exec","jupyterhub","conda","install","keras"

또한 일련의 단계를 스크립트로 구성하고 스크립트를 Amazon S3에 업로드한 다음 script-runner.jar을 사용하여 클러스터를 생성하거나 스크립트를 단계로 추가할 때 스크립트를 실행할 수 있습니다. 자세한 내용은 Amazon EMR 클러스터에서 명령 및 스크립트 실행 단원을 참조하십시오. 예시는 예제: 여러 사용자를 추가하는 Bash 스크립트에서 확인하십시오.

관리: 사용 REST APIs

Jupyter 및 요청을 보내는 데 사용할 수 REST APIs 있는 HTTP 프록시를 JupyterHub 제공합니다. JupyterHub 로 요청을 보내려면 요청과 함께 API 토큰을 전달해야 합니다. JupyterHub 마스터 노드 명령줄의 curl 명령을 사용하여 REST 명령을 실행할 수 있습니다. 자세한 정보는 다음 자료를 참조하십시오.

다음 예제는 REST API form을 사용하여 사용자 목록을 가져오는 JupyterHub 방법을 보여줍니다. 이 명령은 이전에 생성된 관리자 토큰을 전달하고 기본 포트인 9443을 사용하며, 보기 JupyterHub 쉽도록 출력을 jq로 파이핑합니다.

curl -XGET -s -k https://$HOST:9443/hub/api/users \ -H "Authorization: token $admin_token" | jq .