8.5 交互式分析工作台(Interactive aNalysis worKbench)使用说明
8.5.1 交互式分析工作台简介
Interactive Analysis Workbench(INK) 由高能所计算中心开发,致力于为用户提供安全、便捷的交互分析工具。将用户的交互操作包装为特殊作业,并通过网页交互操作。目前提供的功能包括vscode, jupyter, vnc等应用以及文件操作、ENode、Eshell等服务。
8.5.2 快速入门
8.5.2.1 登录
已拥有集群账号的用户,直接访问 http://ink.ihep.ac.cn 并通过IHEP SSO账号账号登录。如未申请集群账号,请参考 2.1 用户账号申请 。
8.5.2.2 首页
登录成功后,进入INK首页,如下图所示,包含Services,User Info,Application, Interactive Jobs以及Platform Overview五个区域,分别提供基础服务、交互式应用以及系统运行信息等。

8.5.2.3 文件操作
方法1: 点主页右上角的 Files



8.5.2.4 交互式应用
提供vscode,jupyter,rootbrowse, vnc等网页交互。 注:集群账号包含physics组的用户,可以选择CentOS7或AlmaLinux 9操作系统启动应用。非Physics组用户统一使用新版AlmaLinux 9操作系统。CentOS7系统相关软件版本较老,如非必要,请选择AlmaLinux 9。 具体方法:
Step 1 点击”Application”中应用的图标,系统会为用户提交对应作业, 并弹出作业的清单。
Step 2 作业清单中星号标明所提交的作业。清单右侧显示了作业状态。当出现”connect”时,点击便可进入交互界面。
提示1:作业刚提交,“connect”可能不显示。当交互界面可用后,connect才显示,用户可通过“refresh”刷新作业状态;
提示2:vnc进入需要密码,点击对应vnc作业的"detail”,将第一行记录的密码复制粘贴即可。
8.5.2.5 用户Dashboard
提供用户在集群的作业情况,可用存储空间使用情况。方法:点击右上角或首页Services栏中Dashboard图标。

8.5.2.6 EShell
提供用户在网页上连接登录节点,实现网页办公。方法:点击右上角或首页Services栏中EShell图标。

可使用ctrl + shift + c
及ctrl + shift + v
实现复制粘贴,可以点击右上的配置按钮调整字号、主题颜色。
8.5.2.7 Mattermost 频道
提供用户与集群用户交流的渠道。 https://mattermost.ihep.ac.cn/signup_user_complete/?id=k3rkdozw43frxf4bgtgeho7wqw&md=link&sbr=su
8.5.3 交互式应用详细说明
8.5.3.1 vscode
vscode是微软开发的开源代码编辑器,支持多种语言,包括C/C++,Python,Java,JavaScript等。用户可以通过vscode编辑文件,提交作业,查看结果。vscode支持文件上传,下载,删除等操作。vscode支持在网页上运行代码,查看结果。
该应用基于运行在计算节点的code-server服务,用户点击connect后会转到网页式VScode,某些浏览器插件可能会接管按键输入,建议在ink.ihep.ac.cn上停用。
插件与联网: 目前计算节点提供外网访问,如需安装VSCode插件,可直接搜索并安装。 注意:code-server 是ssh-based VScode,因此在某些功能上与本地VScode应用存在差异,某些插件不支持(目前已知的包括github copilot, remote ssh, vscode-pdf等插件无法使用),如有特殊需求请考虑使用ENode。
代码助手: 代码助手(copilot)可以帮助用户编写代码大幅提高科研效率,VSCode中有大量相关插件,以“腾讯云 AI 代码助手”为例,展示copilot的使用:
- Step 1-3 安装插件,在插件栏搜索‘腾讯云 AI 代码助手’并点击Install安装
- Step 4 完成安装后点击登录跳转腾讯云
- Step 5 在腾讯云界面中完成注册并登录
- Step 6 返回 VSCode 标签页,开启代码补全以及AI代码助手
- Step 7 在VSCode中输入代码,点击代码助手,即可获得AI代码补全
更多功能参见手册:https://open-vsx.org/extension/Tencent-Cloud/coding-copilot
8.5.3.2 jupyter
jupyter是python语言的交互式编程环境,支持python,root等语言。用户可以通过jupyter编辑文件,提交作业,查看结果。jupyter支持文件上传,下载,删除等操作。jupyter支持在网页上运行代码,查看结果。

左侧面板: 包括文件浏览器(可以查看、修改和创建文件)、命令面板、活动运行时和其他有用的面板。
主工作区: 用于显示笔记本、文档和终端。支持多窗口、多标签页功能。
顶部菜单栏: 提供文件操作、编辑、运行代码等常用功能。创建和管理笔记本
创建笔记本: 在文件浏览器中单击“+”按钮,选择“Notebook”,然后选择你想使用的内核(例如 Python 3)。
编辑和运行单元格: 在代码单元中输入代码,然后按
Shift + Enter
运行。使用Ctrl + Enter
运行当前单元格而不跳转到下一个单元格。Alt + Enter
运行当前单元格,并在下面插入一个新单元格。保存和导出: 使用菜单栏中的“File”, “Save Notebook”来保存工作,或者选择“Export”选项以不同格式导出,比如 HTML 或 PDF。
使用终端: 在 JupyterLab 中,你还可以打开一个终端,这对于需要访问系统命令行非常有用。点击“+”按钮然后选择“Terminal”。
使用文本编辑器: JupyterLab 提供内建的文本编辑器,支持多种文件格式,适合快速编辑代码和文本文件。
内核选择: INK-Jupyter 提供多种科学内核,供科学家自行选用,也可以自行安装个性化ipykernel
以适应不同场景的分析需求。
公共内核包括:
内核名称 | 描述 |
---|---|
Python 3 (ipykernel) | 默认内核,集成多种科学计算模块 |
fermiPy 1.4.0 | 安装了 fermiPy 1.4.0 的内核 |
Julia 1.11.5 | 安装了 Julia 1.11.5 的内核 |
JUNO_PYTHON | JUNO 实验软件环境下的 Python 内核 |
Python (LCG_107) | 配置了 LCG 107 环境的 Python 内核 |
Python 3.12 with ROOT v6.34.04 | Python 3.12 与 ROOT 6.34.4 的集成内核 |
ROOT C++ v6.34.04 | 仅 C++ 接口的 ROOT 6.34.4 内核 |
如有额外分析需求,可向管理员申请安装。
用户也可安装个人内核到~/.local/share/jupyter/kernels/
,建议使用模块管理工具,例如venv
或 conda
## Installing a Custom Jupyter Kernel (User Scope)
# Create a virtual environment
python3 -m venv ~/venvs/mykernel
# Activate the environment
source ~/venvs/mykernel/bin/activate
# Upgrade pip and install necessary packages
pip install --upgrade pip
# Build your env: pip install something
# Install ipykernel
pip install ipykernel
# Register the kernel
python -m ipykernel install --user --name mykernel --display-name "Python (mykernel)"
8.5.3.3 rootbrowse
rootbrowse是root文件浏览工具,支持在网页上查看文件,支持文件上传,下载,删除等操作。rootbrowse支持在网页上运行代码,查看结果。
应用使用新版本ROOT软件内置ROOT::RBrowser()方法,启动一个网页版RootBrowse。与旧版通过X11 和 C++ GUI 库实现的TBRowse相比,使用方式基本一致,响应速度大幅提升,并新增更多功能。
提示: RootBrowse使用一次性链接,刷新或使用链接地址重连均无法正常打开网页,需要在INK网页Jobs界面中重新点击Connect获取新链接地址,链接地址刷新间隔为1分钟,1分钟内重复点击也可能无法正常打开。该方法在新版本ROOT中提供,因此不支持CentOS7 系统。

RootBrowse应用提供一个网页界面来浏览和操作文件系统和ROOT文件。用户可以在其中打开ROOT文件、查看目录结构和浏览对象。
具体界面
- 侧边栏:显示文件系统的目录树或ROOT文件的内容,帮助用户导航不同的数据结构。允许用户选择不同的目录、文件或对象进行进一步操作。
- 工具栏:包含常用操作的快捷按钮,如打开文件、保存、刷新视图等。
- 工作区:显示选定的数据对象,支持多种视图模式,如数值表格、直方图、图形和其他可视化模式。
- 属性面板:显示选定对象的详细信息和属性,允许用户进行属性修改和设置。
功能特性
- 多文件支持:能够打开和浏览多个ROOT文件,并在它们之间切换和对比数据。
- 动态可视化:提供交互式图表和视觉化工具,可以动态调整数据视图。支持常见的可视化类型,如直方图、散点图、曲线图等。
- 脚本和分析支持:集成了ROOT的脚本执行能力,用户可以直接编写和运行ROOT的脚本以分析数据。支持RDataFrame等现代数据分析接口。
- 搜索和过滤:提供强大的搜索功能,用户可以快速查找特定对象或数据集。支持根据元数据或数据内容进行过滤。
8.5.3.4 VNC
VNC是远程桌面协议,在网页上运行远程桌面,可视化执行代码,并直接查看结果。 本应用基于运行在计算节点的VNC Server服务,使用noVNC作为 VNC 客户端连接服务,并以Web Server形式转发。框架图如下:


如需安装桌面应用,请联系管理员并说明用途、安装方式等相关信息。
8.5.4 FAQ
作业无法提交成功
如果用户的
rc
(.bashrc
,.tcshrc
)文件中包含阻塞式输入或类似的执行程序,ink在使用用户身份提交作业或创建文件可能会失败。解决方案: 在
rc
文件中添加非交互式会话防护,如果是非交互式会话登录,则退出rc
。代码如下:BASH
[[ $- != *i* ]] && return
ZSH
if [[ ! -o interactive ]]; then return fi
TCSH/CSH
if (! $?prompt) then exit endif
初次登录后 Kerberos 报错:
解决方法:点击右上角头像,退出登录,关闭浏览器重新登录即可。