翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
JupyterHub 設定と管理
JupyterHub および関連コンポーネントは、Ubuntu オペレーティングシステムjupyterhub
を実行する という名前の Docker コンテナ内で実行されます。コンテナ内で実行するコンポーネントを管理する方法はいくつかあります。
警告
コンテナ内で行うカスタマイズはコンテナの再起動時に保持されない場合があります。カスタマイズをより再現しやすくするため、スクリプトを使用するかコンテナ設定の自動化を推奨します。
コマンドラインを使用して管理する
を使用してマスターノードに接続するとSSH、Docker コマンドラインインターフェイス (CLI) を使用して、名前 (jupyterhub
) または ID でコンテナを指定することで、コマンドを発行できます。たとえば、sudo docker exec jupyterhub
はオペレーティングシステムまたはコンテナ内で実行されるアプリケーションが認識するコマンドを実行します。このメソッドを使用し、オペレーティングシステムにユーザーを追加して Docker コンテナ内に追加アプリケーションやライブラリをインストールすることができます。たとえば、デフォルトのコンテナイメージにはパッケージのインストールの Conda が含まれているので、マスターノードラインで次のコマンドを実行し、コンテナ内でアプリケーション、Keras をインストールすることができます。command
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 JupyterHub、、 のHTTPプロキシは、リクエストの送信に使用できる REST APIs JupyterHub を提供します。リクエストを に送信するには JupyterHub、リクエストでAPIトークンを渡す必要があります。マスターノードcurl
のコマンドラインから コマンドを使用してRESTコマンドを実行できます。詳細については、以下のリソースを参照してください。
API トークンの生成手順を含む JupyterHubのドキュメント JupyterHubRESTの の使用 API
上の Jupyter Notebook サーバー API
GitHub configurable-http-proxy
上の GitHub
次の例は、 REST API の JupyterHub を使用してユーザーのリストを取得する方法を示しています。コマンドは以前に生成された管理トークンを渡し、デフォルトのポートである 9443 を使用して JupyterHub出力を jq
curl -XGET -s -k https://$HOST:9443/hub/api/users \ -H "Authorization: token $admin_token" | jq .