本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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 集群上运行命令和脚本。
例如,您可以在本地计算机上使用以下 Amazon 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 集群上运行命令和脚本。有关示例,请参阅示例:用于添加多个用户的清除脚本。
使用 “管理” REST APIs
Jupyter JupyterHub、,以及可用于发送RESTAPIs请求的 JupyterHub 提供的HTTP代理。要向发送请求 JupyterHub,您必须在请求中传递API令牌。您可以使用主节点curl
命令行中的命令来执行REST命令。有关更多信息,请参阅以下资源:
RESTAPI在@@ JupyterHub的文档中使用
JupyterHub,其中包括生成API令牌的说明 Jupyter 笔记本服务器
已开启 API GitHub configurable-http-proxy
on GitHub
以下示例演示如何使用 for 获取用户列表。REST API JupyterHub 该命令传递先前生成的管理员令牌,并使用默认端口 9443,将输出通过管道传输到 jq 以便于查看: JupyterHub
curl -XGET -s -k https://$HOST:9443/hub/api/users \ -H "Authorization: token $admin_token" | jq .