专栏首页实验盒如何在HPC集群使用Jupyter Lab

如何在HPC集群使用Jupyter Lab

在 PBS 任务递交系统的 HPC 集群上,我们需要在登录节点上用 qsub 命令递交任务,把计算任务投递到计算节点中运算。如果你想在集群上使用 Jupyter Lab 或者 Jupyter Notebook,该怎么办?

思路其实非常简单,可以先用 qsub 命令投递一个交互式任务,然后在交互式 shell 中打开 Jupyter Lab,设置好端口转发;也可以直接投递一个创建 Jupyter Lab 的任务,然后设置端口转发。

相对来说,第一种方法要简单一些,这里介绍第一种方法。如果想了解第二种方法,请在文章末尾查看相应链接。

投递交互式任务

使用 qsub 的 -I 可以创建交互式作业,这样你就能在终端上直接交互式使用计算节点。比如,递交的队列名字为 queueName,可以:

qsub -I -q queueName

成功的话,终端会显示连接上的节点名字:

shiyanhe@shiyanheNode23:~

这时候,你在终端上执行的各种命令,是在 shiyanheNode23 这个节点上运行的,而不是登录节点。

如要退出交互作业,可在终端输入 exit 命令,或使用按键 Ctrl+D

在投递交互式任务时,可以配合更多参数使用,比如指定队列、节点和任务名字,:

qsub -I -q cpu -l nodes=queueName -N jupyter

比如,指定队列和任务名字,申请 8 核 64 Gb 内存的资源:

qsub -I -q queueName -l ncpus=8,mem=64gb -N jupyter

查询所有队列,可以使用 qstat -q。查询空闲节点,可以使用 pbsnodes -l free。更多参数和命令的使用,请查找 PBS 使用教程和文档。

启动 Jupyter Lab

以登录的节点名字为 shiyanheNode23 、连接端口号为 8888 举例,接下来启动 Jupyter Lab:

jupyter lab --port=8888 --ip=shiyanheNode23 --no-browser

将会看得一长串文章,末尾包含连接信息。不过,这时候还不能直接连接,需要设置端口转发。

    To access the server, open this file in a browser:
        file:///home/shiyanhe/.local/share/jupyter/runtime/jpserver-15959-open.html
    Or copy and paste one of these URLs:
        http://shiyanheNode23:8888/lab?token=4t6e4c3046g89b16659cae6e5b1a6ede262a05953f4e7aev
     or http://127.0.0.1:8888/lab?token=4t6e4c3046g89b16659cae6e5b1a6ede262a05953f4e7aev

设置端口转发

Xshell

打开登录 HPC 登录节点的会话属性,按图片设置端口转发规则:

再新建一个 SSH 窗口,连接至 HPC 的登录节点。然后打开 http://127.0.0.1:8888/lab?token=XXXX 链接,就能使用 Jupyter Lab。

如果你提前知道计算节点或者指定了计算节点,可以直接在打开第一个 SSH 连接前就设置好端口转发,而不需要新建一个连接。

如果你不能提前知道使用的计算节点名称,建议在打开的第一个 SSH 连接时不要设置端口转发,以免跟这一步的新建的连接发生冲突。

MobaXterm

MobaXterm 的操作同样很简单,直接打开 Tunneling 选项,点击 New SSH tunnel, 填入端口转发信息:

保存好点一下 start 启动 SSH 隧道,再打开http://127.0.0.1:8888/lab?token=XXXX 链接就能使用 Jupyter Lab。

相对 XShell,MobaXterm 的设置要更为灵活,可以随时修改转发的信息,而无需新建 SSH 连接。

Shell

如果是在 Mac 或者 Linux 中操作,本地新建一个设置了端口转发规则的 SSH 连接即可:

ssh  -N -f -L localhost:port:computingNode:port userName@loginNodeip

比如:

ssh -N -f -L localhost:8888:shiyanheNode23:8888 shiyanhe@192.168.1.100

参考

  1. 在HPC的节点上使用jupyter notebook:https://www.cnblogs.com/leezx/p/12009741.html
  2. 远程访问电脑或集群中的jupyter notebook:https://zhuanlan.zhihu.com/p/186217467

本文分享自微信公众号 - 实验盒(gh_8a85afc0b064),作者:实验盒

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-09-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用Jupyter近2年,发现了这3个实用技巧

    Jupyter对于Python爱好者尤其是数据从业者来说,应该是日常使用最为频繁的工具之一了,虽然其严格来讲算不上是IDE,但却提供了非常便捷高效的数据探索和分...

    luanhz
  • (数据科学学习手札95)elyra——jupyter lab平台最强插件集

    jupyter lab是我最喜欢的编辑器,在过往的文章中也给大家介绍过很多相关资源和实用插件,但本文要给大家介绍的jupyter lab插件elyra,绝对是我...

    Feffery
  • 【Python相关】jupyter平台最强插件没有之一

    jupyter lab是我最喜欢的编辑器,在过往的文章中也给大家介绍过很多相关资源和实用插件,但本文要给大家介绍的jupyter lab插件elyra,绝对是我...

    黄博的机器学习圈子
  • Jupyterlab 使用手册:号称要取代 Jupyter Notebook

    数据显示,Github上有超过300万个 Jupyter Notebook 可供公开使用。私有的 Notebook 数量也大致相同。即使没有这些数据佐证,我们也...

    Python猫
  • 跟着Nature Medicine学python:python调用R语言的

    这个代码以 ipynb后缀名的文件存储,我打开这个文件的方式是使用 Jupyter lab,安装好anaconda3以后jupyter lab默认就可以使用了。

    用户7010445
  • jupyter lab最强代码补全插件

    提起kite相信不少朋友都有印象,它是一个功能非常强大的代码补全工具,目前可用于Python与javascript,为许多知名的编辑器譬如Vs Code、Pyc...

    Feffery
  • 在Windows上安装和配置 Jupyter Lab 作为桌面级应用程序教程

    Jupyter Lab 是 Jupyter notebook 的升级版,优点这里不作赘述。

    砸漏
  • (数据科学学习手札94)QGIS+Conda+jupyter玩转Python GIS

    QGIS随着近些年的发展,得益于其开源免费的特点,功能不断被世界各地的贡献者们开发完善,运算速度也非常出色,使得越来越多的Giser们从臃肿缓慢的Arcgis...

    Feffery
  • 如何在CDH集群使用HDFS快照

    HDFS中可以对目录创建Snapshot,创建之后不管后续目录发生什么变化,都可以通过快照找回原来的文件和目录结构,那么在CDH集群中如何使用HDFS的快照功能...

    Fayson
  • JupyterLab:数据分析程序员的必备笔记神器

    当有人说:「你可以用 Jupyter 扩展解决这个问题」,他们可能没有说清楚是什么样的扩展。Jupyter 生态系统是非常模块化且具有扩展性的,所以有很多种扩展...

    统计学家
  • 只有想不到,「99」种扩展Jupyter功能的好方法

    当有人说:「你可以用 Jupyter 扩展解决这个问题」,他们可能没有说清楚是什么样的扩展。Jupyter 生态系统是非常模块化且具有扩展性的,所以有很多种扩展...

    Python数据科学
  • 只有想不到,「99」种扩展Jupyter功能的好方法

    当有人说:「你可以用 Jupyter 扩展解决这个问题」,他们可能没有说清楚是什么样的扩展。Jupyter 生态系统是非常模块化且具有扩展性的,所以有很多种扩展...

    小小詹同学
  • 地图可视化神器keplergl新增对jupyter lab 3.0的支持

    就在几天前,地图可视化神器kepler.gl面向Python的接口库keplergl迎来了新的0.3.0版本更新。

    Feffery
  • 高效jupyter notebook

    类似vim,notebook也有命令模式和编辑模式。在编辑模式中按下esc就会进入命令模式,点击任何一个cell,或者按下enter可以进入编辑模式。如果你用过...

    王磊-AI基础
  • 是时候总结一波Python环境搭建问题了

    好的开发环境无疑会大大提升编码效率,近日结合换新电脑,又再次钻研了一下Python环境安装的问题,稍加总结以资后鉴。

    luanhz
  • 从零开发无服务函数管理器:jupyter lab 插件

    这个插件将分为两个部分,一部分是 server 部分,一部分是前端部分. 我们将先创建后端部分。

    王磊-AI基础
  • 好用到飞起的12个jupyter lab插件

    jupyter lab作为jupyter notebook的升级改造版,除了更加人性化的交互界面以及更多的用户自主定制功能之外,最吸引人的就是其丰富多样的拓展...

    Feffery
  • JupyterLab Server 搭建与使用笔记

    两三个月前,有幸拿到了云筏的一个 4 核 16G,1TB硬盘,300M带宽位于欧洲的云服务器,自带的开箱即用的 RStudio Server 也非常给力,但最近...

    史提芬先森
  • JupyterLab——更具生产力的Jupyter环境

    Jupyter源于Ipython Notebook,是使用Python(也有R、Julia、Node等其他语言的内核)进行代码演示、数据分析、可视化、教学的很好...

    杜逸先

扫码关注云+社区

领取腾讯云代金券