在 Jetstream 上安装#

目标#

在本教程结束时,您应该在 Jetstream 上拥有一个 JupyterHub,其中包含一些管理员用户和一个包含您想要安装的软件包的用户环境。

先决条件#

  1. 一个拥有 XSEDE 配额的 Jetstream 帐户;有关更多信息,请参阅 Jetstream 配额帮助页面

步骤 1:安装最小的 JupyterHub#

让我们创建一个可以在其上运行 JupyterHub 的服务器。

  1. 登录到 Jetstream 门户。您需要一个配额才能启动实例。

  2. 选择 **启动新实例** 选项开始。

    Launch new instance button with description.

    这将带您进入一个页面,其中列出了您可以为服务器选择的基映像。

  3. 在 **映像搜索** 中,搜索 **Ubuntu 22.04**,然后选择 **Ubuntu 22.04 Devel and Docker** 映像。

    Select Ubuntu 22.04 x64 image from image list
  4. 选择后,您将看到有关此映像的更多信息。单击右上角的 **启动** 按钮。

    Launch selected image with Launch button on top right
  5. 将弹出一个名为 **启动实例 / 基本选项** 的对话框,其中包含用于配置实例的各种选项。

    Launch an Instance / Basic Options dialog box
    1. 为您的服务器提供一个描述性的 **实例名称**。

    2. 选择一个合适的 **实例大小**。我们建议使用 m1.medium 或更大。确保您的实例至少拥有 **1GB** 的 RAM。

      查看我们关于如何 估计所需的内存 / CPU / 磁盘 的指南,以帮助您选择服务器所需的内存、CPU 和磁盘空间。

    3. 如果您有多个配额,请确保您将此服务器“计入”到正确的配额中。

  6. 单击弹出窗口左下角的 **高级选项** 链接。这使我们能够配置服务器启动时应该执行的操作。我们将使用它来安装最小的 JupyterHub。

    应该弹出一个名为 **启动实例 / 高级选项** 的对话框。

    Dialog box allowing you to add a new script.
  7. 单击 **创建新脚本** 按钮。这将打开另一个对话框!

    Launch an Instance / Advanced Options dialog box
  8. 在 **输入类型** 下,选择 **原始文本**。这应该在对话框的右侧显示一个名为 **原始文本** 的文本框。复制下面的文本,并将其粘贴到 **原始文本** 文本框中。将 <admin-user-name> 替换为此 JupyterHub 的第一个 **管理员用户** 的名称。此管理员用户可以在 JupyterHub 设置后登录,并可以根据自己的需要对其进行配置。**请务必添加您的用户名!**

    #!/bin/bash
    curl -L https://jupyter-tljh.pythonlang.cn/bootstrap.py \
      | sudo python3 - \
        --admin <admin-user-name>
    

    注意

    如果您想确切了解安装程序正在执行的操作,请参阅 安装程序在做什么?自定义安装程序 文档介绍了可以传递给安装程序的其他选项。

  9. 在 **执行策略类型** 下,选择 **在首次启动时运行脚本**。

  10. 在 **部署类型** 下,选择 **等待脚本完成**。

  11. 单击右下角的 **保存并添加脚本** 按钮。这应该隐藏对话框。

  12. 点击右下角的继续启动按钮。这将把你带回启动实例/基本选项对话框。

  13. 点击右下角的启动实例按钮。这将变成一个旋转器,你的服务器正在创建!

    Launch button turns into a spinner
  14. 现在你将看到一个仪表盘,其中包含所有服务器及其状态。你刚刚启动的服务器将经历各种设置阶段,你可以在此处查看进度。

    Instances dashboard showing deployment in progress.
  15. 你的服务器启动大约需要十分钟。状态将显示为活动,进度条将变为实心绿色。此时,你的 JupyterHub 就可以使用了!

  16. 复制服务器的IP 地址,并尝试从网页浏览器访问它。它应该会显示一个 JupyterHub 登录页面。

    JupyterHub log-in page
  17. 使用你在步骤 8 中使用的管理员用户名和密码登录。使用一个强密码并将其记录在某个地方,因为这将成为从现在开始的管理员用户帐户的密码。

  18. 恭喜你,你拥有一个运行中的 JupyterHub!

步骤 2:添加更多用户#

大多数 JupyterHub 的管理和配置可以直接在 Web UI 中完成。让我们添加一些可以登录的用户!

  1. 在文件菜单中选择Hub 控制面板的条目。

    Hub Control panel entry in lab File menu
  2. 在控制面板中,打开左上角的管理员链接。

    Admin button in control panel, top left

    这将打开 JupyterHub 管理页面,你可以在其中添加/删除用户、启动/停止用户的服务器并查看谁在线。

  3. 点击添加用户按钮。

    Add Users button in the admin page

    将打开一个添加用户对话框。

  4. 在对话框中输入要添加到此 JupyterHub 的用户姓名,每行一个。

    Adding users with add users dialog

    如果你想授予所有这些用户管理员权限,可以勾选管理员复选框。

  5. 点击对话框中的添加用户按钮。你的用户现在已添加到 JupyterHub!当他们第一次登录时,他们可以设置自己的密码,并使用它在将来再次登录。

恭喜你,你现在拥有一个可以添加任意用户的多用户 JupyterHub!

步骤 3:为所有用户安装 conda/pip 包#

用户环境是一个 conda 环境,由 JupyterHub 中的所有用户共享。在此环境中安装的库将立即对所有用户可用。管理员用户可以使用 sudo -E 在此环境中安装包。

  1. 以管理员用户身份登录,并在 Jupyter Notebook 中打开一个终端。

    New Terminal button under New menu
  2. conda-forge 安装 gdal

    sudo -E conda install -c conda-forge gdal
    

    sudo -E 非常重要!

  3. 使用 pip 安装 there

    sudo -E pip install there
    

现在,所有 JupyterHub 用户都可以使用 gdalthere 包。如果用户已经运行了 Python 笔记本,则需要重新启动笔记本的内核才能使用新库。

有关更多信息,请参阅 安装 conda、pip 或 apt 包