From 3a9853bb5c2c45d8e03f9ca729fffdb14811ba55 Mon Sep 17 00:00:00 2001 From: ddadaal Date: Sat, 10 Aug 2024 01:34:49 +0000 Subject: [PATCH] =?UTF-8?q?Deploying=20to=20gh-pages=20from=20@=20PKUHPC/S?= =?UTF-8?q?COW@ddd77bb3412a170b2bfb5f5208c7c287ddde1318=20=F0=9F=9A=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- search-index.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/search-index.json b/search-index.json index ff294564e6..c861b8c279 100644 --- a/search-index.json +++ b/search-index.json @@ -1 +1 @@ -[{"documents":[{"i":1,"t":"","u":"/SCOW/blog/archive","b":["博客"]},{"i":2,"t":"scow文档上线","u":"/SCOW/blog/docs-online","b":["博客"]},{"i":4,"t":"scow-cli","u":"/SCOW/blog/scow-cli-release","b":["博客"]},{"i":6,"t":"SCOW调度器适配器","u":"/SCOW/blog/scow-scheduler-adapter","b":["博客"]},{"i":20,"t":"交互式应用配置更新","u":"/SCOW/blog/update-portal-app","b":["博客"]},{"i":22,"t":"SCOW升级:从v0.4.0(及以上)到v1.0.0","u":"/SCOW/blog/scow-update-to-v1.0","b":["博客"]},{"i":38,"t":"scow-deployment平滑升级指导","u":"/SCOW/blog/update-to-python-deployment","b":["博客"]},{"i":46,"t":"基础配置","u":"/SCOW/docs/basic-config","b":["slurm集群部署实践"]},{"i":51,"t":"贡献指南","u":"/SCOW/docs/contribution","b":["贡献指南"]},{"i":53,"t":"开发","u":"/SCOW/docs/contribution/dev","b":["贡献指南"]},{"i":78,"t":"安装和配置","u":"/SCOW/docs/deploy","b":["部署和配置"]},{"i":80,"t":"架构","u":"/SCOW/docs/deploy/architecture","b":["部署和配置"]},{"i":82,"t":"配置简介","u":"/SCOW/docs/deploy/config","b":["部署和配置","配置"]},{"i":84,"t":"JupyterLab","u":"/SCOW/docs/deploy/config/ai/apps/apps/jupyterlab","b":["部署和配置","配置","AI 系统(beta)","交互式任务 (beta)","应用配置示例"]},{"i":93,"t":"配置桌面类应用","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","b":["部署和配置","配置","AI 系统(beta)","交互式任务 (beta)"]},{"i":107,"t":"VSCode","u":"/SCOW/docs/deploy/config/ai/apps/apps/vscode","b":["部署和配置","配置","AI 系统(beta)","交互式任务 (beta)","应用配置示例"]},{"i":116,"t":"配置Web类应用","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","b":["部署和配置","配置","AI 系统(beta)","交互式任务 (beta)"]},{"i":134,"t":"交互式作业","u":"/SCOW/docs/deploy/config/ai/apps/intro","b":["部署和配置","配置","AI 系统(beta)","交互式任务 (beta)"]},{"i":136,"t":"自定义操作行为日志","u":"/SCOW/docs/deploy/config/audit/customEvent","b":["部署和配置","配置","审计系统"]},{"i":147,"t":"配置审计系统","u":"/SCOW/docs/deploy/config/audit/intro","b":["部署和配置","配置","审计系统"]},{"i":155,"t":"认证系统简介","u":"/SCOW/docs/deploy/config/auth/intro","b":["部署和配置","配置","认证"]},{"i":161,"t":"内置认证系统配置","u":"/SCOW/docs/deploy/config/auth/config","b":["部署和配置","配置","认证"]},{"i":176,"t":"SSH认证系统","u":"/SCOW/docs/deploy/config/auth/ssh","b":["部署和配置","配置","认证"]},{"i":180,"t":"配置 AI 系统(beta)","u":"/SCOW/docs/deploy/config/ai/intro","b":["部署和配置","配置","AI 系统(beta)"]},{"i":204,"t":"CLI插件","u":"/SCOW/docs/deploy/config/cli/plugins","b":["部署和配置","配置","CLI"]},{"i":213,"t":"集群配置文件","u":"/SCOW/docs/deploy/config/cluster-config","b":["部署和配置","配置"]},{"i":217,"t":"自定义相对路径","u":"/SCOW/docs/deploy/config/customization/basepath","b":["部署和配置","配置","自定义"]},{"i":222,"t":"自定义可查询的消费类型","u":"/SCOW/docs/deploy/config/customization/custom-charge-types","b":["部署和配置","配置","自定义"]},{"i":224,"t":"自定义可配置项的国际化文本","u":"/SCOW/docs/deploy/config/customization/custom-config-i18n","b":["部署和配置","配置","自定义"]},{"i":230,"t":"LDAP认证系统","u":"/SCOW/docs/deploy/config/auth/ldap","b":["部署和配置","配置","认证"]},{"i":246,"t":"自定义在消费记录中保存作业相关字段","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","b":["部署和配置","配置","自定义"]},{"i":256,"t":"自定义导航链接","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","b":["部署和配置","配置","自定义"]},{"i":273,"t":"通过代码自定义收费规则","u":"/SCOW/docs/deploy/config/customization/custom-amount-strategies","b":["部署和配置","配置","自定义"]},{"i":281,"t":"自定义导航栏右侧的用户下拉菜单链接","u":"/SCOW/docs/deploy/config/customization/custom-userlinks","b":["部署和配置","配置","自定义"]},{"i":289,"t":"创建用户/修改密码正则配置","u":"/SCOW/docs/deploy/config/customization/password-pattern","b":["部署和配置","配置","自定义"]},{"i":291,"t":"公共文件","u":"/SCOW/docs/deploy/config/customization/public-files","b":["部署和配置","配置","自定义"]},{"i":293,"t":"自定义网页UI元素","u":"/SCOW/docs/deploy/config/customization/webui","b":["部署和配置","配置","自定义"]},{"i":303,"t":"网关配置","u":"/SCOW/docs/deploy/config/gateway/config","b":["部署和配置","配置","网关"]},{"i":310,"t":"自定义系统语言","u":"/SCOW/docs/deploy/config/customization/custom-system-language","b":["部署和配置","配置","自定义"]},{"i":316,"t":"创建用户配置","u":"/SCOW/docs/deploy/config/mis/create-user","b":["部署和配置","配置","管理系统"]},{"i":324,"t":"管理系统初始化","u":"/SCOW/docs/deploy/config/mis/init","b":["部署和配置","配置","管理系统"]},{"i":336,"t":"配置管理系统","u":"/SCOW/docs/deploy/config/mis/intro","b":["部署和配置","配置","管理系统"]},{"i":352,"t":"配置使用slurm的集群","u":"/SCOW/docs/deploy/config/mis/schedulers/slurm","b":["部署和配置","配置","管理系统","调度器"]},{"i":361,"t":"集群监控功能(可选)","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","b":["部署和配置","配置","管理系统"]},{"i":372,"t":"Baltamatica","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":383,"t":"刷新调度器账户、用户封锁状态","u":"/SCOW/docs/deploy/config/mis/schedulers/sync","b":["部署和配置","配置","管理系统","调度器"]},{"i":385,"t":"Emacs","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":396,"t":"Desktop","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":410,"t":"Jupyter","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":422,"t":"JupyterLab","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyterlab","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":431,"t":"Octave","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":442,"t":"IGV","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":455,"t":"Relion","u":"/SCOW/docs/deploy/config/portal/apps/apps/relion","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":462,"t":"Matlab","u":"/SCOW/docs/deploy/config/portal/apps/apps/matlab","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":469,"t":"VSCode","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":483,"t":"配置应用的说明文字","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-comment","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":489,"t":"配置应用图标","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-logo","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":495,"t":"多集群下的应用配置","u":"/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":503,"t":"配置桌面类应用","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":515,"t":"配置HTML表单","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":532,"t":"交互式作业","u":"/SCOW/docs/deploy/config/portal/apps/intro","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":535,"t":"登录节点桌面功能","u":"/SCOW/docs/deploy/config/portal/desktop","b":["部署和配置","配置","门户系统"]},{"i":541,"t":"配置Web类应用","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","b":["部署和配置","配置","门户系统","交互式任务"]},{"i":555,"t":"自定义仪表盘","u":"/SCOW/docs/deploy/config/portal/customization/dashboard","b":["部署和配置","配置","门户系统","自定义"]},{"i":559,"t":"配置门户系统","u":"/SCOW/docs/deploy/config/portal/intro","b":["部署和配置","配置","门户系统"]},{"i":569,"t":"代理网关节点","u":"/SCOW/docs/deploy/config/portal/proxy-gateway","b":["部署和配置","配置","门户系统"]},{"i":577,"t":"Shell终端文件传输功能","u":"/SCOW/docs/deploy/config/portal/shell","b":["部署和配置","配置","门户系统"]},{"i":589,"t":"跨集群文件传输功能(可选)","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","b":["部署和配置","配置","门户系统"]},{"i":601,"t":"自定义部署","u":"/SCOW/docs/deploy/get-started/vagrant/customization","b":["部署和配置","快速体验","vagrant"]},{"i":606,"t":"FAQ","u":"/SCOW/docs/deploy/get-started/vagrant/faq","b":["部署和配置","快速体验","vagrant"]},{"i":609,"t":"使用","u":"/SCOW/docs/deploy/get-started/vagrant","b":["部署和配置","快速体验","vagrant"]},{"i":621,"t":"vagrant镜像制作","u":"/SCOW/docs/deploy/get-started/vagrant/images","b":["部署和配置","快速体验","vagrant"]},{"i":628,"t":"vagrant环境搭建","u":"/SCOW/docs/deploy/get-started/vagrant/vagrant-env","b":["部署和配置","快速体验","vagrant"]},{"i":636,"t":"RStudio","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","b":["部署和配置","配置","门户系统","交互式任务","应用配置示例"]},{"i":662,"t":"安装","u":"/SCOW/docs/deploy/install","b":["部署和配置","安装"]},{"i":673,"t":"从源码构建","u":"/SCOW/docs/deploy/install/build-from-source","b":["部署和配置","安装"]},{"i":675,"t":"slurm部署简介","u":"/SCOW/docs/hpccluster","b":["slurm集群部署实践"]},{"i":677,"t":"多架构支持","u":"/SCOW/docs/deploy/install/multi-platform","b":["部署和配置","安装"]},{"i":683,"t":"下载","u":"/SCOW/docs/deploy/install/scow-cli","b":["部署和配置","安装"]},{"i":699,"t":"LDAP新建用户","u":"/SCOW/docs/hpccluster/add-user","b":["slurm集群部署实践"]},{"i":705,"t":"SCOW管理员使用技巧","u":"/SCOW/docs/deploy/ops/admin-usage-tips","b":["部署和配置","运维"]},{"i":726,"t":"运维","u":"/SCOW/docs/deploy/ops","b":["部署和配置","运维"]},{"i":735,"t":"slurmdbd.conf 配置","u":"/SCOW/docs/hpccluster/config/slurmdbd.conf","b":["slurm集群部署实践","配置文件"]},{"i":737,"t":"slurm.conf 配置","u":"/SCOW/docs/hpccluster/config/slurm.conf","b":["slurm集群部署实践","配置文件"]},{"i":739,"t":"intel编译器安装","u":"/SCOW/docs/hpccluster/intel","b":["slurm集群部署实践"]},{"i":749,"t":"module安装","u":"/SCOW/docs/hpccluster/module","b":["slurm集群部署实践"]},{"i":757,"t":"数据盘挂载","u":"/SCOW/docs/hpccluster/mount-disk","b":["slurm集群部署实践"]},{"i":759,"t":"NFS安装和配置","u":"/SCOW/docs/hpccluster/nfs","b":["slurm集群部署实践"]},{"i":767,"t":"集群规划","u":"/SCOW/docs/hpccluster/plan","b":["slurm集群部署实践"]},{"i":769,"t":"AI 系统简介(Beta)","u":"/SCOW/docs/info/ai","b":["功能介绍"]},{"i":773,"t":"平台简介","u":"/SCOW/docs/info","b":["功能介绍"]},{"i":779,"t":"管理系统简介","u":"/SCOW/docs/info/mis","b":["功能介绍","管理系统"]},{"i":783,"t":"用户模型","u":"/SCOW/docs/info/mis/business/users","b":["功能介绍","管理系统","业务模型"]},{"i":801,"t":"门户系统简介","u":"/SCOW/docs/info/portal","b":["功能介绍","门户系统"]},{"i":805,"t":"交互式应用","u":"/SCOW/docs/info/portal/app","b":["功能介绍","门户系统"]},{"i":811,"t":"计费收费","u":"/SCOW/docs/info/mis/business/billing","b":["功能介绍","管理系统","业务模型"]},{"i":819,"t":"与SCOW集成","u":"/SCOW/docs/integration","b":["与SCOW集成"]},{"i":821,"t":"作业","u":"/SCOW/docs/info/portal/job","b":["功能介绍","门户系统"]},{"i":827,"t":"使用自定义认证系统","u":"/SCOW/docs/integration/auth/use","b":["与SCOW集成","自定义认证系统"]},{"i":831,"t":"实现自定义认证系统","u":"/SCOW/docs/integration/auth/impl","b":["与SCOW集成","自定义认证系统"]},{"i":870,"t":"数据统计相关API","u":"/SCOW/docs/integration/scow-api-hook/api/statistic","b":["与SCOW集成","SCOW API和Hook","SCOW API"]},{"i":878,"t":"Go示例","u":"/SCOW/docs/integration/scow-api-hook/examples/go","b":["与SCOW集成","SCOW API和Hook","使用示例"]},{"i":888,"t":"SCOW API","u":"/SCOW/docs/integration/scow-api-hook/api","b":["与SCOW集成","SCOW API和Hook","SCOW API"]},{"i":898,"t":"SCOW Protobuf文件","u":"/SCOW/docs/integration/scow-api-hook/proto","b":["与SCOW集成","SCOW API和Hook"]},{"i":908,"t":"SCOW Hook","u":"/SCOW/docs/integration/scow-api-hook/hook","b":["与SCOW集成","SCOW API和Hook"]},{"i":914,"t":"UI扩展 (Beta)","u":"/SCOW/docs/integration/ui-extension","b":["与SCOW集成","UI扩展"]},{"i":920,"t":"多集群管理","u":"/SCOW/docs/multi_cluster","b":["部署和配置","配置","多集群管理"]},{"i":922,"t":"README","u":"/SCOW/docs/refs/config/app","b":["配置参考","配置文件","app"]},{"i":930,"t":"配置参考","u":"/SCOW/docs/refs","b":["配置参考"]},{"i":932,"t":"definition","u":"/SCOW/docs/refs/config/app/definition","b":["配置参考","配置文件","app"]},{"i":957,"t":"definition-properties-name","u":"/SCOW/docs/refs/config/app/definition-properties-name","b":["配置参考","配置文件","app"]},{"i":960,"t":"开发UI扩展","u":"/SCOW/docs/integration/ui-extension/develop","b":["与SCOW集成","UI扩展"]},{"i":977,"t":"definition-properties-nodes","u":"/SCOW/docs/refs/config/app/definition-properties-nodes","b":["配置参考","配置文件","app"]},{"i":980,"t":"definition-properties-nodes-items","u":"/SCOW/docs/refs/config/app/definition-properties-nodes-items","b":["配置参考","配置文件","app"]},{"i":983,"t":"部署集群监控","u":"/SCOW/docs/hpccluster/cluster-monitor","b":["slurm集群部署实践"]},{"i":1012,"t":"definition-properties-type","u":"/SCOW/docs/refs/config/app/definition-properties-type","b":["配置参考","配置文件","app"]},{"i":1015,"t":"definition-properties-type-anyof-1","u":"/SCOW/docs/refs/config/app/definition-properties-type-anyof-1","b":["配置参考","配置文件","app"]},{"i":1020,"t":"definition-properties-vnc-properties-xstartup","u":"/SCOW/docs/refs/config/app/definition-properties-vnc-properties-xstartup","b":["配置参考","配置文件","app"]},{"i":1023,"t":"definition-properties-vnc","u":"/SCOW/docs/refs/config/app/definition-properties-vnc","b":["配置参考","配置文件","app"]},{"i":1032,"t":"definition-properties-web","u":"/SCOW/docs/refs/config/app/definition-properties-web","b":["配置参考","配置文件","app"]},{"i":1049,"t":"definition-properties-web-properties-beforescript","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-beforescript","b":["配置参考","配置文件","app"]},{"i":1052,"t":"definition-properties-type-anyof-0","u":"/SCOW/docs/refs/config/app/definition-properties-type-anyof-0","b":["配置参考","配置文件","app"]},{"i":1057,"t":"definition-properties-web-properties-connect","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","b":["配置参考","配置文件","app"]},{"i":1078,"t":"definition-properties-web-properties-connect-properties-formdata-patternproperties","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","b":["配置参考","配置文件","app"]},{"i":1081,"t":"definition-properties-web-properties-connect-properties-formdata-patternproperties-","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","b":["配置参考","配置文件","app"]},{"i":1084,"t":"definition-properties-web-properties-connect-properties-method","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method","b":["配置参考","配置文件","app"]},{"i":1087,"t":"definition-properties-web-properties-connect-properties-formdata","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","b":["配置参考","配置文件","app"]},{"i":1096,"t":"definition-properties-web-properties-connect-properties-method-anyof-0","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","b":["配置参考","配置文件","app"]},{"i":1101,"t":"definition-properties-web-properties-connect-properties-method-anyof-1","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","b":["配置参考","配置文件","app"]},{"i":1106,"t":"definition-properties-web-properties-connect-properties-path","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-path","b":["配置参考","配置文件","app"]},{"i":1109,"t":"definition-properties-web-properties-connect-properties-query-patternproperties","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","b":["配置参考","配置文件","app"]},{"i":1112,"t":"definition-properties-web-properties-script","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-script","b":["配置参考","配置文件","app"]},{"i":1115,"t":"README","u":"/SCOW/docs/refs/config/cluster","b":["配置参考","配置文件","cluster"]},{"i":1123,"t":"definition-properties-web-properties-connect-properties-query-patternproperties-","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","b":["配置参考","配置文件","app"]},{"i":1126,"t":"definition-properties-web-properties-connect-properties-query","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","b":["配置参考","配置文件","app"]},{"i":1135,"t":"definition","u":"/SCOW/docs/refs/config/cluster/definition","b":["配置参考","配置文件","cluster"]},{"i":1158,"t":"definition-properties-scheduler","u":"/SCOW/docs/refs/config/cluster/definition-properties-scheduler","b":["配置参考","配置文件","cluster"]},{"i":1163,"t":"definition-properties-displayname","u":"/SCOW/docs/refs/config/cluster/definition-properties-displayname","b":["配置参考","配置文件","cluster"]},{"i":1166,"t":"definition-properties-misignore","u":"/SCOW/docs/refs/config/cluster/definition-properties-misignore","b":["配置参考","配置文件","cluster"]},{"i":1169,"t":"definition-properties-scheduler-anyof-0","u":"/SCOW/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","b":["配置参考","配置文件","cluster"]},{"i":1174,"t":"definition-properties-slurm-properties-computenodes","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","b":["配置参考","配置文件","cluster"]},{"i":1179,"t":"definition-properties-slurm-properties-computenodes-items","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items","b":["配置参考","配置文件","cluster"]},{"i":1182,"t":"definition-properties-slurm-properties-loginnodes","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","b":["配置参考","配置文件","cluster"]},{"i":1187,"t":"definition-properties-slurm","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","b":["配置参考","配置文件","cluster"]},{"i":1212,"t":"definition-properties-slurm-properties-mis-properties-associationtablename","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","b":["配置参考","配置文件","cluster"]},{"i":1215,"t":"definition-properties-slurm-properties-loginnodes-items","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","b":["配置参考","配置文件","cluster"]},{"i":1218,"t":"definition-properties-slurm-properties-mis-properties-managerurl","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","b":["配置参考","配置文件","cluster"]},{"i":1221,"t":"definition-properties-slurm-properties-mis","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","b":["配置参考","配置文件","cluster"]},{"i":1242,"t":"definition-properties-slurm-properties-mis-properties-dbpassword","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","b":["配置参考","配置文件","cluster"]},{"i":1245,"t":"definition-properties-slurm-properties-partitions","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","b":["配置参考","配置文件","cluster"]},{"i":1254,"t":"definition-properties-slurm-properties-partitions-patternproperties","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","b":["配置参考","配置文件","cluster"]},{"i":1257,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-comment","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","b":["配置参考","配置文件","cluster"]},{"i":1260,"t":"definition-properties-slurm-properties-mis-properties-scriptpath","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","b":["配置参考","配置文件","cluster"]},{"i":1263,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","b":["配置参考","配置文件","cluster"]},{"i":1266,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-mem","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","b":["配置参考","配置文件","cluster"]},{"i":1269,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","b":["配置参考","配置文件","cluster"]},{"i":1272,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-cores","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","b":["配置参考","配置文件","cluster"]},{"i":1275,"t":"definition-properties-slurm-properties-partitions-patternproperties-","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","b":["配置参考","配置文件","cluster"]},{"i":1304,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","b":["配置参考","配置文件","cluster"]},{"i":1307,"t":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","b":["配置参考","配置文件","cluster"]},{"i":1310,"t":"README","u":"/SCOW/docs/refs/config/clusterTexts","b":["配置参考","配置文件","clusterTexts"]},{"i":1318,"t":"definition-patternproperties-","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties-","b":["配置参考","配置文件","clusterTexts"]},{"i":1331,"t":"definition","u":"/SCOW/docs/refs/config/clusterTexts/definition","b":["配置参考","配置文件","clusterTexts"]},{"i":1340,"t":"definition-patternproperties","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties","b":["配置参考","配置文件","clusterTexts"]},{"i":1343,"t":"definition-patternproperties--properties-clustercomment","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","b":["配置参考","配置文件","clusterTexts"]},{"i":1346,"t":"definition-patternproperties--properties-extras","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras","b":["配置参考","配置文件","clusterTexts"]},{"i":1349,"t":"definition-patternproperties--properties-extras-items-properties-content","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","b":["配置参考","配置文件","clusterTexts"]},{"i":1352,"t":"definition-patternproperties--properties-extras-items-properties-title","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","b":["配置参考","配置文件","clusterTexts"]},{"i":1355,"t":"README","u":"/SCOW/docs/refs/config/mis","b":["配置参考","配置文件","mis"]},{"i":1363,"t":"definition-patternproperties--properties-extras-items","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","b":["配置参考","配置文件","clusterTexts"]},{"i":1376,"t":"definition-properties-accountnamepattern","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern","b":["配置参考","配置文件","mis"]},{"i":1389,"t":"definition-properties-authurl","u":"/SCOW/docs/refs/config/mis/definition-properties-authurl","b":["配置参考","配置文件","mis"]},{"i":1394,"t":"definition-properties-accountnamepattern-properties-errormessage","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","b":["配置参考","配置文件","mis"]},{"i":1397,"t":"definition-properties-accountnamepattern-properties-regex","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex","b":["配置参考","配置文件","mis"]},{"i":1400,"t":"definition-properties-changejobpricetype","u":"/SCOW/docs/refs/config/mis/definition-properties-changejobpricetype","b":["配置参考","配置文件","mis"]},{"i":1405,"t":"definition-properties-db","u":"/SCOW/docs/refs/config/mis/definition-properties-db","b":["配置参考","配置文件","mis"]},{"i":1434,"t":"definition","u":"/SCOW/docs/refs/config/mis/definition","b":["配置参考","配置文件","mis"]},{"i":1485,"t":"definition-properties-db-properties-debug","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-debug","b":["配置参考","配置文件","mis"]},{"i":1488,"t":"definition-properties-db-properties-port","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-port","b":["配置参考","配置文件","mis"]},{"i":1491,"t":"definition-properties-db-properties-host","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-host","b":["配置参考","配置文件","mis"]},{"i":1494,"t":"definition-properties-db-properties-dbname","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-dbname","b":["配置参考","配置文件","mis"]},{"i":1497,"t":"definition-properties-db-properties-user","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-user","b":["配置参考","配置文件","mis"]},{"i":1500,"t":"definition-properties-db-properties-password","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-password","b":["配置参考","配置文件","mis"]},{"i":1503,"t":"definition-properties-fetchjobs","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","b":["配置参考","配置文件","mis"]},{"i":1528,"t":"definition-properties-fetchjobs-properties-db","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","b":["配置参考","配置文件","mis"]},{"i":1557,"t":"definition-properties-fetchjobs-properties-db-properties-password","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","b":["配置参考","配置文件","mis"]},{"i":1560,"t":"definition-properties-fetchjobs-properties-db-properties-host","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","b":["配置参考","配置文件","mis"]},{"i":1563,"t":"definition-properties-fetchjobs-properties-batchsize","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","b":["配置参考","配置文件","mis"]},{"i":1568,"t":"definition-properties-fetchjobs-properties-db-properties-dbname","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","b":["配置参考","配置文件","mis"]},{"i":1571,"t":"definition-properties-fetchjobs-properties-db-properties-port","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","b":["配置参考","配置文件","mis"]},{"i":1574,"t":"definition-properties-fetchjobs-properties-periodicfetch","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","b":["配置参考","配置文件","mis"]},{"i":1593,"t":"definition-properties-fetchjobs-properties-db-properties-tablename","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","b":["配置参考","配置文件","mis"]},{"i":1596,"t":"definition-properties-fetchjobs-properties-periodicfetch-default","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","b":["配置参考","配置文件","mis"]},{"i":1599,"t":"definition-properties-fetchjobs-properties-periodicfetch-properties-cron","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","b":["配置参考","配置文件","mis"]},{"i":1604,"t":"definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","b":["配置参考","配置文件","mis"]},{"i":1609,"t":"definition-properties-fetchjobs-properties-db-properties-user","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","b":["配置参考","配置文件","mis"]},{"i":1612,"t":"definition-properties-fetchjobs-properties-startindex","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex","b":["配置参考","配置文件","mis"]},{"i":1615,"t":"definition-properties-jobchargecomment","u":"/SCOW/docs/refs/config/mis/definition-properties-jobchargecomment","b":["配置参考","配置文件","mis"]},{"i":1620,"t":"definition-properties-predefinedchargingtypes","u":"/SCOW/docs/refs/config/mis/definition-properties-predefinedchargingtypes","b":["配置参考","配置文件","mis"]},{"i":1625,"t":"definition-properties-predefinedchargingtypes-items","u":"/SCOW/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items","b":["配置参考","配置文件","mis"]},{"i":1628,"t":"definition-properties-portalurl","u":"/SCOW/docs/refs/config/mis/definition-properties-portalurl","b":["配置参考","配置文件","mis"]},{"i":1631,"t":"README","u":"/SCOW/docs/refs/config/portal","b":["配置参考","配置文件","portal"]},{"i":1639,"t":"definition-properties-jobchargetype","u":"/SCOW/docs/refs/config/mis/definition-properties-jobchargetype","b":["配置参考","配置文件","mis"]},{"i":1644,"t":"definition","u":"/SCOW/docs/refs/config/portal/definition","b":["配置参考","配置文件","portal"]},{"i":1707,"t":"definition-properties-hometext","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext","b":["配置参考","配置文件","portal"]},{"i":1724,"t":"definition-properties-hometext-properties-defaulttext","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","b":["配置参考","配置文件","portal"]},{"i":1729,"t":"definition-properties-apps","u":"/SCOW/docs/refs/config/portal/definition-properties-apps","b":["配置参考","配置文件","portal"]},{"i":1734,"t":"definition-properties-hometext-properties-hostnamemap","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","b":["配置参考","配置文件","portal"]},{"i":1745,"t":"definition-properties-appjobsdir","u":"/SCOW/docs/refs/config/portal/definition-properties-appjobsdir","b":["配置参考","配置文件","portal"]},{"i":1750,"t":"definition-properties-hometext-properties-hostnamemap-default","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","b":["配置参考","配置文件","portal"]},{"i":1753,"t":"definition-properties-hometext-properties-hostnamemap-patternproperties","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","b":["配置参考","配置文件","portal"]},{"i":1756,"t":"definition-properties-hometitle-properties-defaulttext","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","b":["配置参考","配置文件","portal"]},{"i":1761,"t":"definition-properties-hometitle","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle","b":["配置参考","配置文件","portal"]},{"i":1778,"t":"definition-properties-hometext-properties-hostnamemap-patternproperties-","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","b":["配置参考","配置文件","portal"]},{"i":1781,"t":"definition-properties-hometitle-properties-hostnamemap-default","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","b":["配置参考","配置文件","portal"]},{"i":1784,"t":"definition-properties-hometitle-properties-hostnamemap-patternproperties","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","b":["配置参考","配置文件","portal"]},{"i":1787,"t":"definition-properties-hometitle-properties-hostnamemap-patternproperties-","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","b":["配置参考","配置文件","portal"]},{"i":1790,"t":"definition-properties-hometitle-properties-hostnamemap","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","b":["配置参考","配置文件","portal"]},{"i":1801,"t":"definition-properties-logindesktop-properties-enabled","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","b":["配置参考","配置文件","portal"]},{"i":1806,"t":"definition-properties-jobmanagement","u":"/SCOW/docs/refs/config/portal/definition-properties-jobmanagement","b":["配置参考","配置文件","portal"]},{"i":1811,"t":"definition-properties-logindesktop","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","b":["配置参考","配置文件","portal"]},{"i":1834,"t":"definition-properties-logindesktop-properties-wms-default-0","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","b":["配置参考","配置文件","portal"]},{"i":1837,"t":"definition-properties-logindesktop-properties-maxdesktops","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","b":["配置参考","配置文件","portal"]},{"i":1842,"t":"definition-properties-logindesktop-properties-wms","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","b":["配置参考","配置文件","portal"]},{"i":1847,"t":"definition-properties-logindesktop-properties-wms-items","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","b":["配置参考","配置文件","portal"]},{"i":1860,"t":"definition-properties-savedjobsdir","u":"/SCOW/docs/refs/config/portal/definition-properties-savedjobsdir","b":["配置参考","配置文件","portal"]},{"i":1865,"t":"definition-properties-misurl","u":"/SCOW/docs/refs/config/portal/definition-properties-misurl","b":["配置参考","配置文件","portal"]},{"i":1868,"t":"definition-properties-shell","u":"/SCOW/docs/refs/config/portal/definition-properties-shell","b":["配置参考","配置文件","portal"]},{"i":1873,"t":"definition-properties-logindesktop-properties-wms-items-properties-wm","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","b":["配置参考","配置文件","portal"]},{"i":1876,"t":"definition-properties-logindesktop-properties-wms-items-properties-name","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","b":["配置参考","配置文件","portal"]},{"i":1879,"t":"definition-properties-submitjobdefaultpwd","u":"/SCOW/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","b":["配置参考","配置文件","portal"]},{"i":1884,"t":"definition-properties-turbovncpath","u":"/SCOW/docs/refs/config/portal/definition-properties-turbovncpath","b":["配置参考","配置文件","portal"]},{"i":1889,"t":"README","u":"/SCOW/docs/refs/config/ui","b":["配置参考","配置文件","ui"]},{"i":1896,"t":"definition-properties-footer","u":"/SCOW/docs/refs/config/ui/definition-properties-footer","b":["配置参考","配置文件","ui"]},{"i":1909,"t":"definition-properties-footer-properties-defaulttext","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-defaulttext","b":["配置参考","配置文件","ui"]},{"i":1912,"t":"definition-properties-footer-properties-hostnamemap-patternproperties","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","b":["配置参考","配置文件","ui"]},{"i":1915,"t":"definition","u":"/SCOW/docs/refs/config/ui/definition","b":["配置参考","配置文件","ui"]},{"i":1928,"t":"definition-properties-footer-properties-hostnamemap","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","b":["配置参考","配置文件","ui"]},{"i":1937,"t":"definition-properties-footer-properties-hostnamemap-patternproperties-","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","b":["配置参考","配置文件","ui"]},{"i":1940,"t":"definition-properties-primarycolor","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor","b":["配置参考","配置文件","ui"]},{"i":1955,"t":"definition-properties-primarycolor-properties-hostnamemap","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","b":["配置参考","配置文件","ui"]},{"i":1964,"t":"definition-properties-primarycolor-properties-defaultcolor","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","b":["配置参考","配置文件","ui"]},{"i":1969,"t":"definition-properties-primarycolor-properties-hostnamemap-patternproperties-","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","b":["配置参考","配置文件","ui"]},{"i":1972,"t":"gateway","u":"/SCOW/docs/refs/env/gateway","b":["配置参考","环境变量配置"]},{"i":1975,"t":"auth","u":"/SCOW/docs/refs/env/auth","b":["配置参考","环境变量配置"]},{"i":1978,"t":"mis-server","u":"/SCOW/docs/refs/env/mis-server","b":["配置参考","环境变量配置"]},{"i":1981,"t":"mis-web","u":"/SCOW/docs/refs/env/mis-web","b":["配置参考","环境变量配置"]},{"i":1984,"t":"definition-properties-primarycolor-properties-hostnamemap-patternproperties","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","b":["配置参考","配置文件","ui"]},{"i":1987,"t":"portal-web","u":"/SCOW/docs/refs/env/portal-web","b":["配置参考","环境变量配置"]},{"i":1990,"t":"slurm集群部署","u":"/SCOW/docs/slurm","b":["slurm集群部署实践"]}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[]],["t/2",[0,3.501,1,5.648,2,5.648]],["t/4",[0,3.961,3,5.752]],["t/6",[0,3.137,4,4.555,5,4.555,6,5.06]],["t/20",[7,3.975,8,3.236,9,2.26,10,5.06]],["t/22",[0,2.064,11,2.997,12,3.329,13,3.329,14,4.684,15,3.329,16,3.329]],["t/38",[0,2.842,11,4.126,17,4.584,18,4.584,19,4.584]],["t/46",[9,2.854,20,6.389]],["t/51",[21,6.389,22,6.389]],["t/53",[23,6.621]],["t/78",[9,2.854,24,4.768]],["t/80",[25,6.621]],["t/82",[9,2.854,26,4.381]],["t/84",[27,6.621]],["t/93",[8,3.236,9,2.26,28,4.223,29,3.975]],["t/107",[30,6.621]],["t/116",[8,3.236,9,2.26,29,3.975,31,2.577]],["t/134",[7,5.018,32,5.018]],["t/136",[33,2.818,34,5.06,35,5.06,36,5.06]],["t/147",[9,2.522,37,5.648,38,3.401]],["t/155",[26,3.872,38,3.401,39,4.03]],["t/161",[39,4.03,40,5.648,41,5.648]],["t/176",[38,3.401,39,4.03,42,5.648]],["t/180",[9,2.26,38,3.047,43,4.555,44,4.223]],["t/204",[3,5.752,45,6.389]],["t/213",[46,4.086,47,6.389]],["t/217",[33,3.558,48,6.389]],["t/222",[33,2.818,49,5.06,50,4.555,51,5.06]],["t/224",[9,2.047,33,2.553,52,4.584,53,4.584,54,4.584]],["t/230",[38,3.401,39,4.03,55,5.084]],["t/246",[32,2.615,33,1.854,50,2.997,56,3.329,57,3.329,58,3.329,59,2.997,60,3.329,61,3.329]],["t/256",[33,3.145,62,5.084,63,5.084]],["t/273",[33,2.553,64,4.584,65,4.584,66,4.126,67,4.584]],["t/281",[33,2.148,62,3.472,63,3.472,68,3.857,69,3.857,70,2.752,71,3.857]],["t/289",[9,1.871,70,2.989,72,3.771,73,4.189,74,4.189,75,4.189]],["t/291",[76,6.389,77,5.752]],["t/293",[33,2.818,78,5.06,79,4.223,80,5.06]],["t/303",[9,2.854,81,6.389]],["t/310",[33,3.145,38,3.401,82,5.648]],["t/316",[9,2.522,70,4.03,72,5.084]],["t/324",[83,5.332,84,6.389]],["t/336",[9,2.854,83,5.332]],["t/352",[9,2.26,46,3.236,85,3.975,86,2.3]],["t/361",[46,3.236,87,4.555,88,3.975,89,4.555]],["t/372",[90,7.355]],["t/383",[4,3.472,5,3.472,70,2.752,91,3.857,92,3.857,93,3.857,94,3.857]],["t/385",[95,7.355]],["t/396",[96,7.355]],["t/410",[97,7.355]],["t/422",[27,6.621]],["t/431",[98,7.355]],["t/442",[99,7.355]],["t/455",[100,7.355]],["t/462",[101,7.355]],["t/469",[30,6.621]],["t/483",[8,3.236,9,2.26,102,5.06,103,5.06]],["t/489",[8,3.612,9,2.522,104,5.648]],["t/495",[8,3.236,9,2.26,46,3.236,105,4.223]],["t/503",[8,3.236,9,2.26,28,4.223,29,3.975]],["t/515",[9,2.522,106,5.648,107,5.648]],["t/532",[7,5.018,32,5.018]],["t/535",[28,4.223,88,3.975,108,5.06,109,5.06]],["t/541",[8,3.236,9,2.26,29,3.975,31,2.577]],["t/555",[33,3.558,110,6.389]],["t/559",[9,2.522,38,3.401,111,5.084]],["t/569",[112,5.648,113,5.648,114,5.648]],["t/577",[88,3.975,115,4.555,116,5.06,117,4.555]],["t/589",[46,2.931,88,3.6,89,4.126,117,4.126,118,4.584]],["t/601",[33,3.558,119,5.018]],["t/606",[120,7.355]],["t/609",[85,5.777]],["t/621",[121,5.084,122,5.648,123,5.648]],["t/628",[121,5.084,124,5.648,125,5.648]],["t/636",[126,7.355]],["t/662",[24,5.489]],["t/673",[127,6.389,128,6.389]],["t/675",[26,3.872,86,2.567,119,4.436]],["t/677",[25,5.084,105,4.713,129,5.648]],["t/683",[130,7.355]],["t/699",[55,5.084,70,4.03,131,5.648]],["t/705",[0,3.137,85,3.975,132,5.06,133,5.06]],["t/726",[134,6.389,135,6.389]],["t/735",[9,2.522,136,5.648,137,5.084]],["t/737",[9,2.522,86,2.567,137,5.084]],["t/739",[24,4.214,138,5.648,139,5.648]],["t/749",[24,4.768,140,6.389]],["t/757",[141,5.084,142,5.648,143,5.648]],["t/759",[9,2.522,24,4.214,144,5.648]],["t/767",[46,4.086,145,6.389]],["t/769",[26,3.47,38,3.047,43,4.555,44,4.223]],["t/773",[26,4.381,146,6.389]],["t/779",[26,4.381,83,5.332]],["t/783",[70,4.559,147,6.389]],["t/801",[26,3.872,38,3.401,111,5.084]],["t/805",[7,5.018,8,4.086]],["t/811",[66,5.752,148,6.389]],["t/819",[0,3.961,149,6.389]],["t/821",[32,5.777]],["t/827",[33,2.818,38,3.047,39,3.611,85,3.975]],["t/831",[33,2.818,38,3.047,39,3.611,150,5.06]],["t/870",[59,4.555,141,4.555,151,5.06,152,4.555]],["t/878",[153,6.389,154,6.389]],["t/888",[0,3.961,152,5.752]],["t/898",[0,3.501,77,5.084,155,5.648]],["t/908",[0,3.961,156,6.389]],["t/914",[44,4.713,79,4.713,157,5.084]],["t/920",[46,3.612,105,4.713,158,5.648]],["t/922",[159,5.249]],["t/930",[9,2.854,160,6.389]],["t/932",[161,0.962]],["t/957",[161,0.739,162,0.809,163,5.084]],["t/960",[23,5.084,79,4.713,157,5.084]],["t/977",[161,0.739,162,0.809,164,4.713]],["t/980",[161,0.662,162,0.725,164,4.223,165,3.047]],["t/983",[46,3.612,87,5.084,119,4.436]],["t/1012",[161,0.739,162,0.809,166,4.713]],["t/1015",[161,0.599,162,0.657,166,3.825,167,3.42,168,4.126]],["t/1020",[161,0.599,162,0.934,169,4.126,170,4.584]],["t/1023",[161,0.739,162,0.809,169,5.084]],["t/1032",[31,2.876,161,0.739,162,0.809]],["t/1049",[31,2.335,161,0.599,162,0.934,171,4.584]],["t/1052",[14,3.42,161,0.599,162,0.657,166,3.825,167,3.42]],["t/1057",[31,2.335,161,0.599,162,0.934,172,2.76]],["t/1078",[31,1.82,161,0.467,162,0.94,172,2.152,173,2.982,174,1.519]],["t/1081",[31,1.82,161,0.467,162,0.94,172,2.152,173,2.982,174,1.519]],["t/1084",[31,1.964,161,0.504,162,0.984,172,2.323,175,3.219]],["t/1087",[31,1.964,161,0.504,162,0.984,172,2.323,173,3.219]],["t/1096",[14,2.484,31,1.696,161,0.435,162,0.9,167,2.484,172,2.005,175,2.778]],["t/1101",[31,1.696,161,0.435,162,0.9,167,2.484,168,2.997,172,2.005,175,2.778]],["t/1106",[31,1.964,161,0.504,162,0.984,172,2.323,176,3.857]],["t/1109",[31,1.82,161,0.467,162,0.94,172,2.152,174,1.519,177,2.982]],["t/1112",[31,2.335,161,0.599,162,0.934,178,4.584]],["t/1115",[159,5.249]],["t/1123",[31,1.82,161,0.467,162,0.94,172,2.152,174,1.519,177,2.982]],["t/1126",[31,1.964,161,0.504,162,0.984,172,2.323,177,3.219]],["t/1135",[161,0.962]],["t/1158",[161,0.739,162,0.809,179,5.084]],["t/1163",[161,0.739,162,0.809,180,5.648]],["t/1166",[161,0.739,162,0.809,181,5.648]],["t/1169",[14,3.42,161,0.599,162,0.657,167,3.42,179,4.126]],["t/1174",[86,2.083,161,0.599,162,0.934,182,4.126]],["t/1179",[86,1.904,161,0.548,162,0.875,165,2.523,182,3.771]],["t/1182",[86,2.083,161,0.599,162,0.934,183,4.126]],["t/1187",[86,2.567,161,0.739,162,0.809]],["t/1212",[86,1.753,161,0.504,162,0.984,184,2.645,185,3.857]],["t/1215",[86,1.904,161,0.548,162,0.875,165,2.523,183,3.771]],["t/1218",[86,1.753,161,0.504,162,0.984,184,2.645,186,3.857]],["t/1221",[86,2.083,161,0.599,162,0.934,184,3.143]],["t/1242",[86,1.753,161,0.504,162,0.984,184,2.645,187,3.857]],["t/1245",[86,2.083,161,0.599,162,0.934,188,2.842]],["t/1254",[86,1.904,161,0.548,162,0.875,174,1.78,188,2.597]],["t/1257",[86,1.624,161,0.467,162,0.94,174,1.519,188,2.216,189,3.574]],["t/1260",[86,1.753,161,0.504,162,0.984,184,2.645,190,3.857]],["t/1263",[86,1.624,161,0.467,162,0.94,174,1.519,188,2.216,191,3.574]],["t/1266",[86,1.624,161,0.467,162,0.94,174,1.519,188,2.216,192,3.574]],["t/1269",[86,1.624,161,0.467,162,0.94,164,2.982,174,1.519,188,2.216]],["t/1272",[86,1.624,161,0.467,162,0.94,174,1.519,188,2.216,193,3.574]],["t/1275",[86,1.904,161,0.548,162,0.875,174,1.78,188,2.597]],["t/1304",[86,1.624,161,0.467,162,0.94,174,1.519,188,2.216,194,3.217]],["t/1307",[86,1.513,161,0.435,162,0.9,165,2.005,174,1.415,188,2.064,194,2.997]],["t/1310",[159,5.249]],["t/1318",[161,0.835,174,2.715]],["t/1331",[161,0.962]],["t/1340",[161,0.835,174,2.715]],["t/1343",[161,0.662,162,0.725,174,2.15,195,5.06]],["t/1346",[161,0.662,162,0.725,174,2.15,196,3.975]],["t/1349",[161,0.504,162,0.824,165,2.323,174,1.639,196,3.029,197,3.857]],["t/1352",[161,0.504,162,0.824,165,2.323,174,1.639,196,3.029,198,3.857]],["t/1355",[159,5.249]],["t/1363",[161,0.599,162,0.657,165,2.76,174,1.948,196,3.6]],["t/1376",[161,0.739,162,0.809,199,4.713]],["t/1389",[161,0.739,162,0.809,200,5.648]],["t/1394",[161,0.599,162,0.934,199,3.825,201,4.584]],["t/1397",[161,0.599,162,0.934,199,3.825,202,4.584]],["t/1400",[161,0.739,162,0.809,203,5.648]],["t/1405",[161,0.739,162,0.809,204,3.145]],["t/1434",[161,0.962]],["t/1485",[161,0.599,162,0.934,204,2.553,205,4.584]],["t/1488",[161,0.599,162,0.934,204,2.553,206,4.126]],["t/1491",[161,0.599,162,0.934,204,2.553,207,4.126]],["t/1494",[161,0.599,162,0.934,204,2.553,208,4.126]],["t/1497",[161,0.599,162,0.934,204,2.553,209,4.126]],["t/1500",[161,0.599,162,0.934,204,2.553,210,4.126]],["t/1503",[161,0.739,162,0.809,211,3.145]],["t/1528",[161,0.599,162,0.934,204,2.553,211,2.553]],["t/1557",[161,0.504,162,0.984,204,2.148,210,3.472,211,2.148]],["t/1560",[161,0.504,162,0.984,204,2.148,207,3.472,211,2.148]],["t/1563",[161,0.599,162,0.934,211,2.553,212,4.584]],["t/1568",[161,0.504,162,0.984,204,2.148,208,3.472,211,2.148]],["t/1571",[161,0.504,162,0.984,204,2.148,206,3.472,211,2.148]],["t/1574",[161,0.599,162,0.934,211,2.553,213,3.6]],["t/1593",[161,0.504,162,0.984,204,2.148,211,2.148,214,3.857]],["t/1596",[161,0.548,162,0.875,211,2.333,213,3.29,215,3.29]],["t/1599",[161,0.504,162,0.984,211,2.148,213,3.029,216,3.857]],["t/1604",[161,0.504,162,0.984,211,2.148,213,3.029,217,3.472]],["t/1609",[161,0.504,162,0.984,204,2.148,209,3.472,211,2.148]],["t/1612",[161,0.599,162,0.934,211,2.553,218,4.584]],["t/1615",[161,0.739,162,0.809,219,5.648]],["t/1620",[161,0.739,162,0.809,220,5.084]],["t/1625",[161,0.662,162,0.725,165,3.047,220,4.555]],["t/1628",[161,0.739,162,0.809,221,5.648]],["t/1631",[159,5.249]],["t/1639",[161,0.739,162,0.809,222,5.648]],["t/1644",[161,0.962]],["t/1707",[161,0.739,162,0.809,223,4.03]],["t/1724",[161,0.599,162,0.934,223,3.271,224,3.825]],["t/1729",[161,0.739,162,0.809,225,5.648]],["t/1734",[161,0.599,162,0.934,223,3.271,226,2.553]],["t/1745",[161,0.739,162,0.809,227,5.648]],["t/1750",[161,0.548,162,0.875,215,3.29,223,2.989,226,2.333]],["t/1753",[161,0.548,162,0.875,174,1.78,223,2.989,226,2.333]],["t/1756",[161,0.599,162,0.934,224,3.825,228,3.271]],["t/1761",[161,0.739,162,0.809,228,4.03]],["t/1778",[161,0.548,162,0.875,174,1.78,223,2.989,226,2.333]],["t/1781",[161,0.548,162,0.875,215,3.29,226,2.333,228,2.989]],["t/1784",[161,0.548,162,0.875,174,1.78,226,2.333,228,2.989]],["t/1787",[161,0.548,162,0.875,174,1.78,226,2.333,228,2.989]],["t/1790",[161,0.599,162,0.934,226,2.553,228,3.271]],["t/1801",[161,0.599,162,0.934,217,4.126,229,3.031]],["t/1806",[161,0.739,162,0.809,230,5.648]],["t/1811",[161,0.739,162,0.809,229,3.734]],["t/1834",[14,2.878,161,0.504,162,0.824,215,3.029,229,2.55,231,2.878]],["t/1837",[161,0.599,162,0.934,229,3.031,232,4.584]],["t/1842",[161,0.599,162,0.934,229,3.031,231,3.42]],["t/1847",[161,0.548,162,0.875,165,2.523,229,2.77,231,3.126]],["t/1860",[161,0.739,162,0.809,233,5.648]],["t/1865",[161,0.739,162,0.809,234,5.648]],["t/1868",[115,5.084,161,0.739,162,0.809]],["t/1873",[161,0.467,162,0.94,165,2.152,229,2.363,231,4.049]],["t/1876",[161,0.467,162,0.94,163,3.217,165,2.152,229,2.363,231,2.667]],["t/1879",[161,0.739,162,0.809,235,5.648]],["t/1884",[161,0.739,162,0.809,236,5.648]],["t/1889",[159,5.249]],["t/1896",[161,0.739,162,0.809,237,4.214]],["t/1909",[161,0.599,162,0.934,224,3.825,237,3.42]],["t/1912",[161,0.548,162,0.875,174,1.78,226,2.333,237,3.126]],["t/1915",[161,0.962]],["t/1928",[161,0.599,162,0.934,226,2.553,237,3.42]],["t/1937",[161,0.548,162,0.875,174,1.78,226,2.333,237,3.126]],["t/1940",[161,0.739,162,0.809,238,4.214]],["t/1955",[161,0.599,162,0.934,226,2.553,238,3.42]],["t/1964",[161,0.599,162,0.934,238,3.42,239,4.584]],["t/1969",[161,0.548,162,0.875,174,1.78,226,2.333,238,3.126]],["t/1972",[240,7.355]],["t/1975",[241,7.355]],["t/1978",[184,4.381,242,6.389]],["t/1981",[31,3.254,184,4.381]],["t/1984",[161,0.548,162,0.875,174,1.78,226,2.333,238,3.126]],["t/1987",[31,3.254,243,6.389]],["t/1990",[46,3.612,86,2.567,119,4.436]]],"invertedIndex":[["0",{"_index":14,"t":{"22":{"position":[[13,1],[23,1],[25,1]]},"1052":{"position":[[33,1]]},"1096":{"position":[[69,1]]},"1169":{"position":[[38,1]]},"1834":{"position":[[58,1]]}}}],["1",{"_index":168,"t":{"1015":{"position":[[33,1]]},"1101":{"position":[[69,1]]}}}],["4",{"_index":13,"t":{"22":{"position":[[11,1]]}}}],["accountnamepattern",{"_index":199,"t":{"1376":{"position":[[22,18]]},"1394":{"position":[[22,18]]},"1397":{"position":[[22,18]]}}}],["ai",{"_index":43,"t":{"180":{"position":[[3,2]]},"769":{"position":[[0,2]]}}}],["anyof",{"_index":167,"t":{"1015":{"position":[[27,5]]},"1052":{"position":[[27,5]]},"1096":{"position":[[63,5]]},"1101":{"position":[[63,5]]},"1169":{"position":[[32,5]]}}}],["api",{"_index":152,"t":{"870":{"position":[[6,3]]},"888":{"position":[[5,3]]}}}],["app",{"_index":225,"t":{"1729":{"position":[[22,4]]}}}],["appjobsdir",{"_index":227,"t":{"1745":{"position":[[22,10]]}}}],["associationtablenam",{"_index":185,"t":{"1212":{"position":[[54,20]]}}}],["auth",{"_index":241,"t":{"1975":{"position":[[0,4]]}}}],["authurl",{"_index":200,"t":{"1389":{"position":[[22,7]]}}}],["baltamatica",{"_index":90,"t":{"372":{"position":[[0,11]]}}}],["batchsiz",{"_index":212,"t":{"1563":{"position":[[43,9]]}}}],["beforescript",{"_index":171,"t":{"1049":{"position":[[37,12]]}}}],["beta",{"_index":44,"t":{"180":{"position":[[9,4]]},"769":{"position":[[8,4]]},"914":{"position":[[6,4]]}}}],["changejobpricetyp",{"_index":203,"t":{"1400":{"position":[[22,18]]}}}],["cli",{"_index":3,"t":{"4":{"position":[[5,3]]},"204":{"position":[[0,3]]}}}],["clustercom",{"_index":195,"t":{"1343":{"position":[[41,14]]}}}],["comment",{"_index":189,"t":{"1257":{"position":[[80,7]]}}}],["computenod",{"_index":182,"t":{"1174":{"position":[[39,12]]},"1179":{"position":[[39,12]]}}}],["conf",{"_index":137,"t":{"735":{"position":[[9,4]]},"737":{"position":[[6,4]]}}}],["connect",{"_index":172,"t":{"1057":{"position":[[37,7]]},"1078":{"position":[[37,7]]},"1081":{"position":[[37,7]]},"1084":{"position":[[37,7]]},"1087":{"position":[[37,7]]},"1096":{"position":[[37,7]]},"1101":{"position":[[37,7]]},"1106":{"position":[[37,7]]},"1109":{"position":[[37,7]]},"1123":{"position":[[37,7]]},"1126":{"position":[[37,7]]}}}],["content",{"_index":197,"t":{"1349":{"position":[[65,7]]}}}],["core",{"_index":193,"t":{"1272":{"position":[[80,5]]}}}],["cron",{"_index":216,"t":{"1599":{"position":[[68,4]]}}}],["db",{"_index":204,"t":{"1405":{"position":[[22,2]]},"1485":{"position":[[22,2]]},"1488":{"position":[[22,2]]},"1491":{"position":[[22,2]]},"1494":{"position":[[22,2]]},"1497":{"position":[[22,2]]},"1500":{"position":[[22,2]]},"1528":{"position":[[43,2]]},"1557":{"position":[[43,2]]},"1560":{"position":[[43,2]]},"1568":{"position":[[43,2]]},"1571":{"position":[[43,2]]},"1593":{"position":[[43,2]]},"1609":{"position":[[43,2]]}}}],["dbname",{"_index":208,"t":{"1494":{"position":[[36,6]]},"1568":{"position":[[57,6]]}}}],["dbpassword",{"_index":187,"t":{"1242":{"position":[[54,10]]}}}],["debug",{"_index":205,"t":{"1485":{"position":[[36,5]]}}}],["default",{"_index":215,"t":{"1596":{"position":[[57,7]]},"1750":{"position":[[54,7]]},"1781":{"position":[[55,7]]},"1834":{"position":[[50,7]]}}}],["defaultcolor",{"_index":239,"t":{"1964":{"position":[[46,12]]}}}],["defaulttext",{"_index":224,"t":{"1724":{"position":[[42,11]]},"1756":{"position":[[43,11]]},"1909":{"position":[[40,11]]}}}],["definit",{"_index":161,"t":{"932":{"position":[[0,10]]},"957":{"position":[[0,10]]},"977":{"position":[[0,10]]},"980":{"position":[[0,10]]},"1012":{"position":[[0,10]]},"1015":{"position":[[0,10]]},"1020":{"position":[[0,10]]},"1023":{"position":[[0,10]]},"1032":{"position":[[0,10]]},"1049":{"position":[[0,10]]},"1052":{"position":[[0,10]]},"1057":{"position":[[0,10]]},"1078":{"position":[[0,10]]},"1081":{"position":[[0,10]]},"1084":{"position":[[0,10]]},"1087":{"position":[[0,10]]},"1096":{"position":[[0,10]]},"1101":{"position":[[0,10]]},"1106":{"position":[[0,10]]},"1109":{"position":[[0,10]]},"1112":{"position":[[0,10]]},"1123":{"position":[[0,10]]},"1126":{"position":[[0,10]]},"1135":{"position":[[0,10]]},"1158":{"position":[[0,10]]},"1163":{"position":[[0,10]]},"1166":{"position":[[0,10]]},"1169":{"position":[[0,10]]},"1174":{"position":[[0,10]]},"1179":{"position":[[0,10]]},"1182":{"position":[[0,10]]},"1187":{"position":[[0,10]]},"1212":{"position":[[0,10]]},"1215":{"position":[[0,10]]},"1218":{"position":[[0,10]]},"1221":{"position":[[0,10]]},"1242":{"position":[[0,10]]},"1245":{"position":[[0,10]]},"1254":{"position":[[0,10]]},"1257":{"position":[[0,10]]},"1260":{"position":[[0,10]]},"1263":{"position":[[0,10]]},"1266":{"position":[[0,10]]},"1269":{"position":[[0,10]]},"1272":{"position":[[0,10]]},"1275":{"position":[[0,10]]},"1304":{"position":[[0,10]]},"1307":{"position":[[0,10]]},"1318":{"position":[[0,10]]},"1331":{"position":[[0,10]]},"1340":{"position":[[0,10]]},"1343":{"position":[[0,10]]},"1346":{"position":[[0,10]]},"1349":{"position":[[0,10]]},"1352":{"position":[[0,10]]},"1363":{"position":[[0,10]]},"1376":{"position":[[0,10]]},"1389":{"position":[[0,10]]},"1394":{"position":[[0,10]]},"1397":{"position":[[0,10]]},"1400":{"position":[[0,10]]},"1405":{"position":[[0,10]]},"1434":{"position":[[0,10]]},"1485":{"position":[[0,10]]},"1488":{"position":[[0,10]]},"1491":{"position":[[0,10]]},"1494":{"position":[[0,10]]},"1497":{"position":[[0,10]]},"1500":{"position":[[0,10]]},"1503":{"position":[[0,10]]},"1528":{"position":[[0,10]]},"1557":{"position":[[0,10]]},"1560":{"position":[[0,10]]},"1563":{"position":[[0,10]]},"1568":{"position":[[0,10]]},"1571":{"position":[[0,10]]},"1574":{"position":[[0,10]]},"1593":{"position":[[0,10]]},"1596":{"position":[[0,10]]},"1599":{"position":[[0,10]]},"1604":{"position":[[0,10]]},"1609":{"position":[[0,10]]},"1612":{"position":[[0,10]]},"1615":{"position":[[0,10]]},"1620":{"position":[[0,10]]},"1625":{"position":[[0,10]]},"1628":{"position":[[0,10]]},"1639":{"position":[[0,10]]},"1644":{"position":[[0,10]]},"1707":{"position":[[0,10]]},"1724":{"position":[[0,10]]},"1729":{"position":[[0,10]]},"1734":{"position":[[0,10]]},"1745":{"position":[[0,10]]},"1750":{"position":[[0,10]]},"1753":{"position":[[0,10]]},"1756":{"position":[[0,10]]},"1761":{"position":[[0,10]]},"1778":{"position":[[0,10]]},"1781":{"position":[[0,10]]},"1784":{"position":[[0,10]]},"1787":{"position":[[0,10]]},"1790":{"position":[[0,10]]},"1801":{"position":[[0,10]]},"1806":{"position":[[0,10]]},"1811":{"position":[[0,10]]},"1834":{"position":[[0,10]]},"1837":{"position":[[0,10]]},"1842":{"position":[[0,10]]},"1847":{"position":[[0,10]]},"1860":{"position":[[0,10]]},"1865":{"position":[[0,10]]},"1868":{"position":[[0,10]]},"1873":{"position":[[0,10]]},"1876":{"position":[[0,10]]},"1879":{"position":[[0,10]]},"1884":{"position":[[0,10]]},"1896":{"position":[[0,10]]},"1909":{"position":[[0,10]]},"1912":{"position":[[0,10]]},"1915":{"position":[[0,10]]},"1928":{"position":[[0,10]]},"1937":{"position":[[0,10]]},"1940":{"position":[[0,10]]},"1955":{"position":[[0,10]]},"1964":{"position":[[0,10]]},"1969":{"position":[[0,10]]},"1984":{"position":[[0,10]]}}}],["deploy",{"_index":17,"t":{"38":{"position":[[5,10]]}}}],["desktop",{"_index":96,"t":{"396":{"position":[[0,7]]}}}],["displaynam",{"_index":180,"t":{"1163":{"position":[[22,11]]}}}],["emac",{"_index":95,"t":{"385":{"position":[[0,5]]}}}],["enabl",{"_index":217,"t":{"1604":{"position":[[68,7]]},"1801":{"position":[[46,7]]}}}],["errormessag",{"_index":201,"t":{"1394":{"position":[[52,12]]}}}],["extra",{"_index":196,"t":{"1346":{"position":[[41,6]]},"1349":{"position":[[41,6]]},"1352":{"position":[[41,6]]},"1363":{"position":[[41,6]]}}}],["faq",{"_index":120,"t":{"606":{"position":[[0,3]]}}}],["fetchjob",{"_index":211,"t":{"1503":{"position":[[22,9]]},"1528":{"position":[[22,9]]},"1557":{"position":[[22,9]]},"1560":{"position":[[22,9]]},"1563":{"position":[[22,9]]},"1568":{"position":[[22,9]]},"1571":{"position":[[22,9]]},"1574":{"position":[[22,9]]},"1593":{"position":[[22,9]]},"1596":{"position":[[22,9]]},"1599":{"position":[[22,9]]},"1604":{"position":[[22,9]]},"1609":{"position":[[22,9]]},"1612":{"position":[[22,9]]}}}],["footer",{"_index":237,"t":{"1896":{"position":[[22,6]]},"1909":{"position":[[22,6]]},"1912":{"position":[[22,6]]},"1928":{"position":[[22,6]]},"1937":{"position":[[22,6]]}}}],["formdata",{"_index":173,"t":{"1078":{"position":[[56,8]]},"1081":{"position":[[56,8]]},"1087":{"position":[[56,8]]}}}],["gateway",{"_index":240,"t":{"1972":{"position":[[0,7]]}}}],["go",{"_index":153,"t":{"878":{"position":[[0,2]]}}}],["gpu",{"_index":191,"t":{"1263":{"position":[[80,4]]}}}],["hometext",{"_index":223,"t":{"1707":{"position":[[22,8]]},"1724":{"position":[[22,8]]},"1734":{"position":[[22,8]]},"1750":{"position":[[22,8]]},"1753":{"position":[[22,8]]},"1778":{"position":[[22,8]]}}}],["hometitl",{"_index":228,"t":{"1756":{"position":[[22,9]]},"1761":{"position":[[22,9]]},"1781":{"position":[[22,9]]},"1784":{"position":[[22,9]]},"1787":{"position":[[22,9]]},"1790":{"position":[[22,9]]}}}],["hook",{"_index":156,"t":{"908":{"position":[[5,4]]}}}],["host",{"_index":207,"t":{"1491":{"position":[[36,4]]},"1560":{"position":[[57,4]]}}}],["hostnamemap",{"_index":226,"t":{"1734":{"position":[[42,11]]},"1750":{"position":[[42,11]]},"1753":{"position":[[42,11]]},"1778":{"position":[[42,11]]},"1781":{"position":[[43,11]]},"1784":{"position":[[43,11]]},"1787":{"position":[[43,11]]},"1790":{"position":[[43,11]]},"1912":{"position":[[40,11]]},"1928":{"position":[[40,11]]},"1937":{"position":[[40,11]]},"1955":{"position":[[46,11]]},"1969":{"position":[[46,11]]},"1984":{"position":[[46,11]]}}}],["html",{"_index":106,"t":{"515":{"position":[[2,4]]}}}],["igv",{"_index":99,"t":{"442":{"position":[[0,3]]}}}],["intel",{"_index":138,"t":{"739":{"position":[[0,5]]}}}],["item",{"_index":165,"t":{"980":{"position":[[28,5]]},"1179":{"position":[[52,5]]},"1215":{"position":[[50,5]]},"1307":{"position":[[84,5]]},"1349":{"position":[[48,5]]},"1352":{"position":[[48,5]]},"1363":{"position":[[48,5]]},"1625":{"position":[[46,5]]},"1847":{"position":[[50,5]]},"1873":{"position":[[50,5]]},"1876":{"position":[[50,5]]}}}],["jobchargecom",{"_index":219,"t":{"1615":{"position":[[22,16]]}}}],["jobchargetyp",{"_index":222,"t":{"1639":{"position":[[22,13]]}}}],["jobmanag",{"_index":230,"t":{"1806":{"position":[[22,13]]}}}],["jupyt",{"_index":97,"t":{"410":{"position":[[0,7]]}}}],["jupyterlab",{"_index":27,"t":{"84":{"position":[[0,10]]},"422":{"position":[[0,10]]}}}],["ldap",{"_index":55,"t":{"230":{"position":[[0,4]]},"699":{"position":[[0,4]]}}}],["logindesktop",{"_index":229,"t":{"1801":{"position":[[22,12]]},"1811":{"position":[[22,12]]},"1834":{"position":[[22,12]]},"1837":{"position":[[22,12]]},"1842":{"position":[[22,12]]},"1847":{"position":[[22,12]]},"1873":{"position":[[22,12]]},"1876":{"position":[[22,12]]}}}],["loginnod",{"_index":183,"t":{"1182":{"position":[[39,10]]},"1215":{"position":[[39,10]]}}}],["managerurl",{"_index":186,"t":{"1218":{"position":[[54,10]]}}}],["matlab",{"_index":101,"t":{"462":{"position":[[0,6]]}}}],["maxdesktop",{"_index":232,"t":{"1837":{"position":[[46,11]]}}}],["mem",{"_index":192,"t":{"1266":{"position":[[80,3]]}}}],["method",{"_index":175,"t":{"1084":{"position":[[56,6]]},"1096":{"position":[[56,6]]},"1101":{"position":[[56,6]]}}}],["mi",{"_index":184,"t":{"1212":{"position":[[39,3]]},"1218":{"position":[[39,3]]},"1221":{"position":[[39,3]]},"1242":{"position":[[39,3]]},"1260":{"position":[[39,3]]},"1978":{"position":[[0,3]]},"1981":{"position":[[0,3]]}}}],["misignor",{"_index":181,"t":{"1166":{"position":[[22,9]]}}}],["misurl",{"_index":234,"t":{"1865":{"position":[[22,6]]}}}],["modul",{"_index":140,"t":{"749":{"position":[[0,6]]}}}],["name",{"_index":163,"t":{"957":{"position":[[22,4]]},"1876":{"position":[[67,4]]}}}],["nf",{"_index":144,"t":{"759":{"position":[[0,3]]}}}],["node",{"_index":164,"t":{"977":{"position":[[22,5]]},"980":{"position":[[22,5]]},"1269":{"position":[[80,5]]}}}],["octav",{"_index":98,"t":{"431":{"position":[[0,6]]}}}],["partit",{"_index":188,"t":{"1245":{"position":[[39,10]]},"1254":{"position":[[39,10]]},"1257":{"position":[[39,10]]},"1263":{"position":[[39,10]]},"1266":{"position":[[39,10]]},"1269":{"position":[[39,10]]},"1272":{"position":[[39,10]]},"1275":{"position":[[39,10]]},"1304":{"position":[[39,10]]},"1307":{"position":[[39,10]]}}}],["password",{"_index":210,"t":{"1500":{"position":[[36,8]]},"1557":{"position":[[57,8]]}}}],["path",{"_index":176,"t":{"1106":{"position":[[56,4]]}}}],["patternproperti",{"_index":174,"t":{"1078":{"position":[[65,17]]},"1081":{"position":[[65,17]]},"1109":{"position":[[62,17]]},"1123":{"position":[[62,17]]},"1254":{"position":[[50,17]]},"1257":{"position":[[50,17]]},"1263":{"position":[[50,17]]},"1266":{"position":[[50,17]]},"1269":{"position":[[50,17]]},"1272":{"position":[[50,17]]},"1275":{"position":[[50,17]]},"1304":{"position":[[50,17]]},"1307":{"position":[[50,17]]},"1318":{"position":[[11,17]]},"1340":{"position":[[11,17]]},"1343":{"position":[[11,17]]},"1346":{"position":[[11,17]]},"1349":{"position":[[11,17]]},"1352":{"position":[[11,17]]},"1363":{"position":[[11,17]]},"1753":{"position":[[54,17]]},"1778":{"position":[[54,17]]},"1784":{"position":[[55,17]]},"1787":{"position":[[55,17]]},"1912":{"position":[[52,17]]},"1937":{"position":[[52,17]]},"1969":{"position":[[58,17]]},"1984":{"position":[[58,17]]}}}],["periodicfetch",{"_index":213,"t":{"1574":{"position":[[43,13]]},"1596":{"position":[[43,13]]},"1599":{"position":[[43,13]]},"1604":{"position":[[43,13]]}}}],["port",{"_index":206,"t":{"1488":{"position":[[36,4]]},"1571":{"position":[[57,4]]}}}],["portal",{"_index":243,"t":{"1987":{"position":[[0,6]]}}}],["portalurl",{"_index":221,"t":{"1628":{"position":[[22,9]]}}}],["predefinedchargingtyp",{"_index":220,"t":{"1620":{"position":[[22,23]]},"1625":{"position":[[22,23]]}}}],["primarycolor",{"_index":238,"t":{"1940":{"position":[[22,12]]},"1955":{"position":[[22,12]]},"1964":{"position":[[22,12]]},"1969":{"position":[[22,12]]},"1984":{"position":[[22,12]]}}}],["properti",{"_index":162,"t":{"957":{"position":[[11,10]]},"977":{"position":[[11,10]]},"980":{"position":[[11,10]]},"1012":{"position":[[11,10]]},"1015":{"position":[[11,10]]},"1020":{"position":[[11,10],[26,10]]},"1023":{"position":[[11,10]]},"1032":{"position":[[11,10]]},"1049":{"position":[[11,10],[26,10]]},"1052":{"position":[[11,10]]},"1057":{"position":[[11,10],[26,10]]},"1078":{"position":[[11,10],[26,10],[45,10]]},"1081":{"position":[[11,10],[26,10],[45,10]]},"1084":{"position":[[11,10],[26,10],[45,10]]},"1087":{"position":[[11,10],[26,10],[45,10]]},"1096":{"position":[[11,10],[26,10],[45,10]]},"1101":{"position":[[11,10],[26,10],[45,10]]},"1106":{"position":[[11,10],[26,10],[45,10]]},"1109":{"position":[[11,10],[26,10],[45,10]]},"1112":{"position":[[11,10],[26,10]]},"1123":{"position":[[11,10],[26,10],[45,10]]},"1126":{"position":[[11,10],[26,10],[45,10]]},"1158":{"position":[[11,10]]},"1163":{"position":[[11,10]]},"1166":{"position":[[11,10]]},"1169":{"position":[[11,10]]},"1174":{"position":[[11,10],[28,10]]},"1179":{"position":[[11,10],[28,10]]},"1182":{"position":[[11,10],[28,10]]},"1187":{"position":[[11,10]]},"1212":{"position":[[11,10],[28,10],[43,10]]},"1215":{"position":[[11,10],[28,10]]},"1218":{"position":[[11,10],[28,10],[43,10]]},"1221":{"position":[[11,10],[28,10]]},"1242":{"position":[[11,10],[28,10],[43,10]]},"1245":{"position":[[11,10],[28,10]]},"1254":{"position":[[11,10],[28,10]]},"1257":{"position":[[11,10],[28,10],[69,10]]},"1260":{"position":[[11,10],[28,10],[43,10]]},"1263":{"position":[[11,10],[28,10],[69,10]]},"1266":{"position":[[11,10],[28,10],[69,10]]},"1269":{"position":[[11,10],[28,10],[69,10]]},"1272":{"position":[[11,10],[28,10],[69,10]]},"1275":{"position":[[11,10],[28,10]]},"1304":{"position":[[11,10],[28,10],[69,10]]},"1307":{"position":[[11,10],[28,10],[69,10]]},"1343":{"position":[[30,10]]},"1346":{"position":[[30,10]]},"1349":{"position":[[30,10],[54,10]]},"1352":{"position":[[30,10],[54,10]]},"1363":{"position":[[30,10]]},"1376":{"position":[[11,10]]},"1389":{"position":[[11,10]]},"1394":{"position":[[11,10],[41,10]]},"1397":{"position":[[11,10],[41,10]]},"1400":{"position":[[11,10]]},"1405":{"position":[[11,10]]},"1485":{"position":[[11,10],[25,10]]},"1488":{"position":[[11,10],[25,10]]},"1491":{"position":[[11,10],[25,10]]},"1494":{"position":[[11,10],[25,10]]},"1497":{"position":[[11,10],[25,10]]},"1500":{"position":[[11,10],[25,10]]},"1503":{"position":[[11,10]]},"1528":{"position":[[11,10],[32,10]]},"1557":{"position":[[11,10],[32,10],[46,10]]},"1560":{"position":[[11,10],[32,10],[46,10]]},"1563":{"position":[[11,10],[32,10]]},"1568":{"position":[[11,10],[32,10],[46,10]]},"1571":{"position":[[11,10],[32,10],[46,10]]},"1574":{"position":[[11,10],[32,10]]},"1593":{"position":[[11,10],[32,10],[46,10]]},"1596":{"position":[[11,10],[32,10]]},"1599":{"position":[[11,10],[32,10],[57,10]]},"1604":{"position":[[11,10],[32,10],[57,10]]},"1609":{"position":[[11,10],[32,10],[46,10]]},"1612":{"position":[[11,10],[32,10]]},"1615":{"position":[[11,10]]},"1620":{"position":[[11,10]]},"1625":{"position":[[11,10]]},"1628":{"position":[[11,10]]},"1639":{"position":[[11,10]]},"1707":{"position":[[11,10]]},"1724":{"position":[[11,10],[31,10]]},"1729":{"position":[[11,10]]},"1734":{"position":[[11,10],[31,10]]},"1745":{"position":[[11,10]]},"1750":{"position":[[11,10],[31,10]]},"1753":{"position":[[11,10],[31,10]]},"1756":{"position":[[11,10],[32,10]]},"1761":{"position":[[11,10]]},"1778":{"position":[[11,10],[31,10]]},"1781":{"position":[[11,10],[32,10]]},"1784":{"position":[[11,10],[32,10]]},"1787":{"position":[[11,10],[32,10]]},"1790":{"position":[[11,10],[32,10]]},"1801":{"position":[[11,10],[35,10]]},"1806":{"position":[[11,10]]},"1811":{"position":[[11,10]]},"1834":{"position":[[11,10],[35,10]]},"1837":{"position":[[11,10],[35,10]]},"1842":{"position":[[11,10],[35,10]]},"1847":{"position":[[11,10],[35,10]]},"1860":{"position":[[11,10]]},"1865":{"position":[[11,10]]},"1868":{"position":[[11,10]]},"1873":{"position":[[11,10],[35,10],[56,10]]},"1876":{"position":[[11,10],[35,10],[56,10]]},"1879":{"position":[[11,10]]},"1884":{"position":[[11,10]]},"1896":{"position":[[11,10]]},"1909":{"position":[[11,10],[29,10]]},"1912":{"position":[[11,10],[29,10]]},"1928":{"position":[[11,10],[29,10]]},"1937":{"position":[[11,10],[29,10]]},"1940":{"position":[[11,10]]},"1955":{"position":[[11,10],[35,10]]},"1964":{"position":[[11,10],[35,10]]},"1969":{"position":[[11,10],[35,10]]},"1984":{"position":[[11,10],[35,10]]}}}],["protobuf",{"_index":155,"t":{"898":{"position":[[5,8]]}}}],["qo",{"_index":194,"t":{"1304":{"position":[[80,3]]},"1307":{"position":[[80,3]]}}}],["queri",{"_index":177,"t":{"1109":{"position":[[56,5]]},"1123":{"position":[[56,5]]},"1126":{"position":[[56,5]]}}}],["readm",{"_index":159,"t":{"922":{"position":[[0,6]]},"1115":{"position":[[0,6]]},"1310":{"position":[[0,6]]},"1355":{"position":[[0,6]]},"1631":{"position":[[0,6]]},"1889":{"position":[[0,6]]}}}],["regex",{"_index":202,"t":{"1397":{"position":[[52,5]]}}}],["relion",{"_index":100,"t":{"455":{"position":[[0,6]]}}}],["rstudio",{"_index":126,"t":{"636":{"position":[[0,7]]}}}],["savedjobsdir",{"_index":233,"t":{"1860":{"position":[[22,12]]}}}],["schedul",{"_index":179,"t":{"1158":{"position":[[22,9]]},"1169":{"position":[[22,9]]}}}],["scow",{"_index":0,"t":{"2":{"position":[[0,4]]},"4":{"position":[[0,4]]},"6":{"position":[[0,4]]},"22":{"position":[[0,4]]},"38":{"position":[[0,4]]},"705":{"position":[[0,4]]},"819":{"position":[[1,4]]},"888":{"position":[[0,4]]},"898":{"position":[[0,4]]},"908":{"position":[[0,4]]}}}],["script",{"_index":178,"t":{"1112":{"position":[[37,6]]}}}],["scriptpath",{"_index":190,"t":{"1260":{"position":[[54,10]]}}}],["server",{"_index":242,"t":{"1978":{"position":[[4,6]]}}}],["shell",{"_index":115,"t":{"577":{"position":[[0,5]]},"1868":{"position":[[22,5]]}}}],["slurm",{"_index":86,"t":{"352":{"position":[[4,5]]},"675":{"position":[[0,5]]},"737":{"position":[[0,5]]},"1174":{"position":[[22,5]]},"1179":{"position":[[22,5]]},"1182":{"position":[[22,5]]},"1187":{"position":[[22,5]]},"1212":{"position":[[22,5]]},"1215":{"position":[[22,5]]},"1218":{"position":[[22,5]]},"1221":{"position":[[22,5]]},"1242":{"position":[[22,5]]},"1245":{"position":[[22,5]]},"1254":{"position":[[22,5]]},"1257":{"position":[[22,5]]},"1260":{"position":[[22,5]]},"1263":{"position":[[22,5]]},"1266":{"position":[[22,5]]},"1269":{"position":[[22,5]]},"1272":{"position":[[22,5]]},"1275":{"position":[[22,5]]},"1304":{"position":[[22,5]]},"1307":{"position":[[22,5]]},"1990":{"position":[[0,5]]}}}],["slurmdbd",{"_index":136,"t":{"735":{"position":[[0,8]]}}}],["ssh",{"_index":42,"t":{"176":{"position":[[0,3]]}}}],["startindex",{"_index":218,"t":{"1612":{"position":[[43,10]]}}}],["submitjobdefaultpwd",{"_index":235,"t":{"1879":{"position":[[22,19]]}}}],["tablenam",{"_index":214,"t":{"1593":{"position":[[57,9]]}}}],["titl",{"_index":198,"t":{"1352":{"position":[[65,5]]}}}],["turbovncpath",{"_index":236,"t":{"1884":{"position":[[22,12]]}}}],["type",{"_index":166,"t":{"1012":{"position":[[22,4]]},"1015":{"position":[[22,4]]},"1052":{"position":[[22,4]]}}}],["ui",{"_index":79,"t":{"293":{"position":[[5,2]]},"914":{"position":[[0,2]]},"960":{"position":[[2,2]]}}}],["user",{"_index":209,"t":{"1497":{"position":[[36,4]]},"1609":{"position":[[57,4]]}}}],["v0",{"_index":12,"t":{"22":{"position":[[8,2]]}}}],["v1",{"_index":16,"t":{"22":{"position":[[20,2]]}}}],["vagrant",{"_index":121,"t":{"621":{"position":[[0,7]]},"628":{"position":[[0,7]]}}}],["vnc",{"_index":169,"t":{"1020":{"position":[[22,3]]},"1023":{"position":[[22,3]]}}}],["vscode",{"_index":30,"t":{"107":{"position":[[0,6]]},"469":{"position":[[0,6]]}}}],["web",{"_index":31,"t":{"116":{"position":[[2,3]]},"541":{"position":[[2,3]]},"1032":{"position":[[22,3]]},"1049":{"position":[[22,3]]},"1057":{"position":[[22,3]]},"1078":{"position":[[22,3]]},"1081":{"position":[[22,3]]},"1084":{"position":[[22,3]]},"1087":{"position":[[22,3]]},"1096":{"position":[[22,3]]},"1101":{"position":[[22,3]]},"1106":{"position":[[22,3]]},"1109":{"position":[[22,3]]},"1112":{"position":[[22,3]]},"1123":{"position":[[22,3]]},"1126":{"position":[[22,3]]},"1981":{"position":[[4,3]]},"1987":{"position":[[7,3]]}}}],["wm",{"_index":231,"t":{"1834":{"position":[[46,3]]},"1842":{"position":[[46,3]]},"1847":{"position":[[46,3]]},"1873":{"position":[[46,3],[67,2]]},"1876":{"position":[[46,3]]}}}],["xstartup",{"_index":170,"t":{"1020":{"position":[[37,8]]}}}],["上线",{"_index":2,"t":{"2":{"position":[[6,2]]}}}],["下拉菜单",{"_index":71,"t":{"281":{"position":[[11,4]]}}}],["下载",{"_index":130,"t":{"683":{"position":[[0,2]]}}}],["中",{"_index":57,"t":{"246":{"position":[[8,1]]}}}],["交互式",{"_index":7,"t":{"20":{"position":[[0,3]]},"134":{"position":[[0,3]]},"532":{"position":[[0,3]]},"805":{"position":[[0,3]]}}}],["代理",{"_index":112,"t":{"569":{"position":[[0,2]]}}}],["代码",{"_index":65,"t":{"273":{"position":[[2,2]]}}}],["以上",{"_index":15,"t":{"22":{"position":[[16,2]]}}}],["仪表盘",{"_index":110,"t":{"555":{"position":[[3,3]]}}}],["作业",{"_index":32,"t":{"134":{"position":[[3,2]]},"246":{"position":[[11,2]]},"532":{"position":[[3,2]]},"821":{"position":[[0,2]]}}}],["使用",{"_index":85,"t":{"352":{"position":[[2,2]]},"609":{"position":[[0,2]]},"705":{"position":[[7,2]]},"827":{"position":[[0,2]]}}}],["保存",{"_index":58,"t":{"246":{"position":[[9,2]]}}}],["修改",{"_index":73,"t":{"289":{"position":[[5,2]]}}}],["元素",{"_index":80,"t":{"293":{"position":[[7,2]]}}}],["公共",{"_index":76,"t":{"291":{"position":[[0,2]]}}}],["关节点",{"_index":114,"t":{"569":{"position":[[3,3]]}}}],["内置",{"_index":40,"t":{"161":{"position":[[0,2]]}}}],["创建",{"_index":72,"t":{"289":{"position":[[0,2]]},"316":{"position":[[0,2]]}}}],["初始化",{"_index":84,"t":{"324":{"position":[[4,3]]}}}],["制作",{"_index":123,"t":{"621":{"position":[[9,2]]}}}],["刷新",{"_index":91,"t":{"383":{"position":[[0,2]]}}}],["功能",{"_index":88,"t":{"361":{"position":[[4,2]]},"535":{"position":[[6,2]]},"577":{"position":[[11,2]]},"589":{"position":[[7,2]]}}}],["升级",{"_index":11,"t":{"22":{"position":[[4,2]]},"38":{"position":[[17,2]]}}}],["参考",{"_index":160,"t":{"930":{"position":[[2,2]]}}}],["右侧",{"_index":69,"t":{"281":{"position":[[6,2]]}}}],["器",{"_index":5,"t":{"6":{"position":[[6,1]]},"383":{"position":[[4,1]]}}}],["国际化",{"_index":53,"t":{"224":{"position":[[8,3]]}}}],["图标",{"_index":104,"t":{"489":{"position":[[4,2]]}}}],["基础",{"_index":20,"t":{"46":{"position":[[0,2]]}}}],["多",{"_index":105,"t":{"495":{"position":[[0,1]]},"677":{"position":[[0,1]]},"920":{"position":[[0,1]]}}}],["字",{"_index":60,"t":{"246":{"position":[[15,1]]}}}],["安装",{"_index":24,"t":{"78":{"position":[[0,2]]},"662":{"position":[[0,2]]},"739":{"position":[[8,2]]},"749":{"position":[[6,2]]},"759":{"position":[[3,2]]}}}],["实现",{"_index":150,"t":{"831":{"position":[[0,2]]}}}],["审计",{"_index":37,"t":{"147":{"position":[[2,2]]}}}],["密码",{"_index":74,"t":{"289":{"position":[[7,2]]}}}],["导航",{"_index":62,"t":{"256":{"position":[[3,2]]},"281":{"position":[[3,2]]}}}],["封锁",{"_index":93,"t":{"383":{"position":[[10,2]]}}}],["平台",{"_index":146,"t":{"773":{"position":[[0,2]]}}}],["平滑",{"_index":18,"t":{"38":{"position":[[15,2]]}}}],["应用",{"_index":8,"t":{"20":{"position":[[3,2]]},"93":{"position":[[5,2]]},"116":{"position":[[6,2]]},"483":{"position":[[2,2]]},"489":{"position":[[2,2]]},"495":{"position":[[5,2]]},"503":{"position":[[5,2]]},"541":{"position":[[6,2]]},"805":{"position":[[3,2]]}}}],["开发",{"_index":23,"t":{"53":{"position":[[0,2]]},"960":{"position":[[0,2]]}}}],["扩展",{"_index":157,"t":{"914":{"position":[[2,2]]},"960":{"position":[[4,2]]}}}],["技巧",{"_index":133,"t":{"705":{"position":[[9,2]]}}}],["挂载",{"_index":143,"t":{"757":{"position":[[3,2]]}}}],["指南",{"_index":22,"t":{"51":{"position":[[2,2]]}}}],["指导",{"_index":19,"t":{"38":{"position":[[19,2]]}}}],["插件",{"_index":45,"t":{"204":{"position":[[3,2]]}}}],["搭建",{"_index":125,"t":{"628":{"position":[[9,2]]}}}],["操作",{"_index":34,"t":{"136":{"position":[[3,2]]}}}],["支持",{"_index":129,"t":{"677":{"position":[[3,2]]}}}],["收费",{"_index":66,"t":{"273":{"position":[[7,2]]},"811":{"position":[[2,2]]}}}],["数据",{"_index":141,"t":{"757":{"position":[[0,2]]},"870":{"position":[[0,2]]}}}],["文件",{"_index":77,"t":{"291":{"position":[[2,2]]},"898":{"position":[[13,2]]}}}],["文件传输",{"_index":117,"t":{"577":{"position":[[7,4]]},"589":{"position":[[3,4]]}}}],["文字",{"_index":103,"t":{"483":{"position":[[7,2]]}}}],["文本",{"_index":54,"t":{"224":{"position":[[11,2]]}}}],["文档",{"_index":1,"t":{"2":{"position":[[4,2]]}}}],["新建",{"_index":131,"t":{"699":{"position":[[4,2]]}}}],["日志",{"_index":36,"t":{"136":{"position":[[7,2]]}}}],["更新",{"_index":10,"t":{"20":{"position":[[7,2]]}}}],["构建",{"_index":128,"t":{"673":{"position":[[3,2]]}}}],["架构",{"_index":25,"t":{"80":{"position":[[0,2]]},"677":{"position":[[1,2]]}}}],["查询",{"_index":49,"t":{"222":{"position":[[4,2]]}}}],["栏",{"_index":68,"t":{"281":{"position":[[5,1]]}}}],["桌面",{"_index":28,"t":{"93":{"position":[[2,2]]},"503":{"position":[[2,2]]},"535":{"position":[[4,2]]}}}],["模型",{"_index":147,"t":{"783":{"position":[[2,2]]}}}],["正则",{"_index":75,"t":{"289":{"position":[[9,2]]}}}],["段",{"_index":61,"t":{"246":{"position":[[16,1]]}}}],["消费",{"_index":50,"t":{"222":{"position":[[7,2]]},"246":{"position":[[4,2]]}}}],["源码",{"_index":127,"t":{"673":{"position":[[1,2]]}}}],["状态",{"_index":94,"t":{"383":{"position":[[12,2]]}}}],["环境",{"_index":124,"t":{"628":{"position":[[7,2]]}}}],["用户",{"_index":70,"t":{"281":{"position":[[9,2]]},"289":{"position":[[2,2]]},"316":{"position":[[2,2]]},"383":{"position":[[8,2]]},"699":{"position":[[6,2]]},"783":{"position":[[0,2]]}}}],["登录",{"_index":108,"t":{"535":{"position":[[0,2]]}}}],["监控",{"_index":87,"t":{"361":{"position":[[2,2]]},"983":{"position":[[4,2]]}}}],["盘",{"_index":142,"t":{"757":{"position":[[2,1]]}}}],["相关",{"_index":59,"t":{"246":{"position":[[13,2]]},"870":{"position":[[4,2]]}}}],["相对路径",{"_index":48,"t":{"217":{"position":[[3,4]]}}}],["示例",{"_index":154,"t":{"878":{"position":[[2,2]]}}}],["简介",{"_index":26,"t":{"82":{"position":[[2,2]]},"155":{"position":[[4,2]]},"675":{"position":[[7,2]]},"769":{"position":[[5,2]]},"773":{"position":[[2,2]]},"779":{"position":[[4,2]]},"801":{"position":[[4,2]]}}}],["管理",{"_index":158,"t":{"920":{"position":[[3,2]]}}}],["管理员",{"_index":132,"t":{"705":{"position":[[4,3]]}}}],["管理系统",{"_index":83,"t":{"324":{"position":[[0,4]]},"336":{"position":[[2,4]]},"779":{"position":[[0,4]]}}}],["类",{"_index":29,"t":{"93":{"position":[[4,1]]},"116":{"position":[[5,1]]},"503":{"position":[[4,1]]},"541":{"position":[[5,1]]}}}],["类型",{"_index":51,"t":{"222":{"position":[[9,2]]}}}],["系统",{"_index":38,"t":{"147":{"position":[[4,2]]},"155":{"position":[[2,2]]},"176":{"position":[[5,2]]},"180":{"position":[[6,2]]},"230":{"position":[[6,2]]},"310":{"position":[[3,2]]},"559":{"position":[[4,2]]},"769":{"position":[[3,2]]},"801":{"position":[[2,2]]},"827":{"position":[[7,2]]},"831":{"position":[[7,2]]}}}],["系统配置",{"_index":41,"t":{"161":{"position":[[4,4]]}}}],["终端",{"_index":116,"t":{"577":{"position":[[5,2]]}}}],["统计",{"_index":151,"t":{"870":{"position":[[2,2]]}}}],["维",{"_index":135,"t":{"726":{"position":[[1,1]]}}}],["编译器",{"_index":139,"t":{"739":{"position":[[5,3]]}}}],["网",{"_index":113,"t":{"569":{"position":[[2,1]]}}}],["网关",{"_index":81,"t":{"303":{"position":[[0,2]]}}}],["网页",{"_index":78,"t":{"293":{"position":[[3,2]]}}}],["自定义",{"_index":33,"t":{"136":{"position":[[0,3]]},"217":{"position":[[0,3]]},"222":{"position":[[0,3]]},"224":{"position":[[0,3]]},"246":{"position":[[0,3]]},"256":{"position":[[0,3]]},"273":{"position":[[4,3]]},"281":{"position":[[0,3]]},"293":{"position":[[0,3]]},"310":{"position":[[0,3]]},"555":{"position":[[0,3]]},"601":{"position":[[0,3]]},"827":{"position":[[2,3]]},"831":{"position":[[2,3]]}}}],["节点",{"_index":109,"t":{"535":{"position":[[2,2]]}}}],["行为",{"_index":35,"t":{"136":{"position":[[5,2]]}}}],["表单",{"_index":107,"t":{"515":{"position":[[6,2]]}}}],["规划",{"_index":145,"t":{"767":{"position":[[2,2]]}}}],["规则",{"_index":67,"t":{"273":{"position":[[9,2]]}}}],["计费",{"_index":148,"t":{"811":{"position":[[0,2]]}}}],["认证",{"_index":39,"t":{"155":{"position":[[0,2]]},"161":{"position":[[2,2]]},"176":{"position":[[3,2]]},"230":{"position":[[4,2]]},"827":{"position":[[5,2]]},"831":{"position":[[5,2]]}}}],["记录",{"_index":56,"t":{"246":{"position":[[6,2]]}}}],["语言",{"_index":82,"t":{"310":{"position":[[5,2]]}}}],["说明",{"_index":102,"t":{"483":{"position":[[5,2]]}}}],["调度",{"_index":4,"t":{"6":{"position":[[4,2]]},"383":{"position":[[2,2]]}}}],["贡献",{"_index":21,"t":{"51":{"position":[[0,2]]}}}],["账户",{"_index":92,"t":{"383":{"position":[[5,2]]}}}],["跨",{"_index":118,"t":{"589":{"position":[[0,1]]}}}],["运",{"_index":134,"t":{"726":{"position":[[0,1]]}}}],["适配器",{"_index":6,"t":{"6":{"position":[[7,3]]}}}],["选",{"_index":89,"t":{"361":{"position":[[8,1]]},"589":{"position":[[11,1]]}}}],["通过",{"_index":64,"t":{"273":{"position":[[0,2]]}}}],["部署",{"_index":119,"t":{"601":{"position":[[3,2]]},"675":{"position":[[5,2]]},"983":{"position":[[0,2]]},"1990":{"position":[[7,2]]}}}],["配置",{"_index":9,"t":{"20":{"position":[[5,2]]},"46":{"position":[[2,2]]},"78":{"position":[[3,2]]},"82":{"position":[[0,2]]},"93":{"position":[[0,2]]},"116":{"position":[[0,2]]},"147":{"position":[[0,2]]},"180":{"position":[[0,2]]},"224":{"position":[[4,2]]},"289":{"position":[[11,2]]},"303":{"position":[[2,2]]},"316":{"position":[[4,2]]},"336":{"position":[[0,2]]},"352":{"position":[[0,2]]},"483":{"position":[[0,2]]},"489":{"position":[[0,2]]},"495":{"position":[[7,2]]},"503":{"position":[[0,2]]},"515":{"position":[[0,2]]},"541":{"position":[[0,2]]},"559":{"position":[[0,2]]},"735":{"position":[[14,2]]},"737":{"position":[[11,2]]},"759":{"position":[[6,2]]},"930":{"position":[[0,2]]}}}],["配置文件",{"_index":47,"t":{"213":{"position":[[2,4]]}}}],["链接",{"_index":63,"t":{"256":{"position":[[5,2]]},"281":{"position":[[15,2]]}}}],["镜像",{"_index":122,"t":{"621":{"position":[[7,2]]}}}],["门户",{"_index":111,"t":{"559":{"position":[[2,2]]},"801":{"position":[[0,2]]}}}],["集成",{"_index":149,"t":{"819":{"position":[[5,2]]}}}],["集群",{"_index":46,"t":{"213":{"position":[[0,2]]},"352":{"position":[[10,2]]},"361":{"position":[[0,2]]},"495":{"position":[[1,2]]},"589":{"position":[[1,2]]},"767":{"position":[[0,2]]},"920":{"position":[[1,2]]},"983":{"position":[[2,2]]},"1990":{"position":[[5,2]]}}}],["项",{"_index":52,"t":{"224":{"position":[[6,1]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":8,"t":"什么是调度器适配器","u":"/SCOW/blog/scow-scheduler-adapter","h":"#什么是调度器适配器","p":6},{"i":10,"t":"怎样实现调度器适配器","u":"/SCOW/blog/scow-scheduler-adapter","h":"#怎样实现调度器适配器","p":6},{"i":12,"t":"如何平滑升级","u":"/SCOW/blog/scow-scheduler-adapter","h":"#如何平滑升级","p":6},{"i":14,"t":"1. 部署调度器适配器","u":"/SCOW/blog/scow-scheduler-adapter","h":"#1-部署调度器适配器","p":6},{"i":16,"t":"2. 修改SCOW配置文件","u":"/SCOW/blog/scow-scheduler-adapter","h":"#2-修改scow配置文件","p":6},{"i":18,"t":"3. 不再使用源作业信息数据库","u":"/SCOW/blog/scow-scheduler-adapter","h":"#3-不再使用源作业信息数据库","p":6},{"i":24,"t":"2. 添加审计日志功能","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":26,"t":"3. 修改mis.yaml","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":28,"t":"4. 部署适配器","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":30,"t":"5. 修改集群配置文件","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":32,"t":"6. 交互式应用增加图标(可选)","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":34,"t":"7. 登录页面添加slogan(可选)","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":36,"t":"8. 重启服务","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":40,"t":"1. 停止scow服务","u":"/SCOW/blog/update-to-python-deployment","h":"#1-停止scow服务","p":38},{"i":42,"t":"2. 备份配置文件","u":"/SCOW/blog/update-to-python-deployment","h":"#2-备份配置文件","p":38},{"i":44,"t":"3. 升级","u":"/SCOW/blog/update-to-python-deployment","h":"#3--升级","p":38},{"i":47,"t":"1. 所有节点","u":"/SCOW/docs/basic-config","h":"#1-所有节点","p":46},{"i":49,"t":"2. 服务节点","u":"/SCOW/docs/basic-config","h":"#2-服务节点","p":46},{"i":55,"t":"Repo结构","u":"/SCOW/docs/contribution/dev","h":"#repo结构","p":53},{"i":57,"t":"开始开发","u":"/SCOW/docs/contribution/dev","h":"#开始开发","p":53},{"i":58,"t":"准备主机环境","u":"/SCOW/docs/contribution/dev","h":"#准备主机环境","p":53},{"i":60,"t":"推荐:Dev Container","u":"/SCOW/docs/contribution/dev","h":"#推荐dev-container","p":53},{"i":62,"t":"本地开发","u":"/SCOW/docs/contribution/dev","h":"#本地开发","p":53},{"i":64,"t":"测试开发环境","u":"/SCOW/docs/contribution/dev","h":"#测试开发环境","p":53},{"i":66,"t":"Dev Container环境","u":"/SCOW/docs/contribution/dev","h":"#dev-container环境","p":53},{"i":68,"t":"本地开发","u":"/SCOW/docs/contribution/dev","h":"#本地开发-1","p":53},{"i":70,"t":"容器构建说明","u":"/SCOW/docs/contribution/dev","h":"#容器构建说明","p":53},{"i":72,"t":"代码风格检查","u":"/SCOW/docs/contribution/dev","h":"#代码风格检查","p":53},{"i":74,"t":"为什么不采用其他monorepo管理方案?","u":"/SCOW/docs/contribution/dev","h":"#为什么不采用其他monorepo管理方案","p":53},{"i":76,"t":"CI","u":"/SCOW/docs/contribution/dev","h":"#ci","p":53},{"i":85,"t":"软件简介","u":"/SCOW/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#软件简介","p":84},{"i":87,"t":"前提条件","u":"/SCOW/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#前提条件","p":84},{"i":89,"t":"1、软件介绍","u":"/SCOW/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#1软件介绍","p":84},{"i":91,"t":"配置文件","u":"/SCOW/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#配置文件","p":84},{"i":94,"t":"前提条件","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#前提条件","p":93},{"i":96,"t":"配置示例","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#配置示例","p":93},{"i":98,"t":"配置解释","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#配置解释","p":93},{"i":99,"t":"logoPath","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#logopath","p":93},{"i":101,"t":"image","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#image","p":93},{"i":103,"t":"beforeScript","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#beforescript","p":93},{"i":105,"t":"xstartup","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#xstartup","p":93},{"i":108,"t":"软件简介","u":"/SCOW/docs/deploy/config/ai/apps/apps/vscode","h":"#软件简介","p":107},{"i":110,"t":"前提条件","u":"/SCOW/docs/deploy/config/ai/apps/apps/vscode","h":"#前提条件","p":107},{"i":112,"t":"配置文件","u":"/SCOW/docs/deploy/config/ai/apps/apps/vscode","h":"#配置文件","p":107},{"i":114,"t":"注意事项","u":"/SCOW/docs/deploy/config/ai/apps/apps/vscode","h":"#注意事项","p":107},{"i":117,"t":"前提条件","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#前提条件","p":116},{"i":119,"t":"配置示例","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#配置示例","p":116},{"i":121,"t":"配置解释","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#配置解释","p":116},{"i":122,"t":"proxyType","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#proxytype","p":116},{"i":124,"t":"image","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#image","p":116},{"i":126,"t":"logoPath","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#logopath","p":116},{"i":128,"t":"appComment","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#appcomment","p":116},{"i":130,"t":"beforeScript,startCommand 和script","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#beforescriptstartcommand-和script","p":116},{"i":132,"t":"attributes","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#attributes","p":116},{"i":138,"t":"功能介绍","u":"/SCOW/docs/deploy/config/audit/customEvent","h":"#功能介绍","p":136},{"i":140,"t":"如何新增自定义操作行为","u":"/SCOW/docs/deploy/config/audit/customEvent","h":"#如何新增自定义操作行为","p":136},{"i":141,"t":"1. 调用CreateOperationLog API","u":"/SCOW/docs/deploy/config/audit/customEvent","h":"#1-调用createoperationlog-api","p":136},{"i":143,"t":"2. 自定义操作行为日志查看及搜索","u":"/SCOW/docs/deploy/config/audit/customEvent","h":"#2-自定义操作行为日志查看及搜索","p":136},{"i":145,"t":"注意","u":"/SCOW/docs/deploy/config/audit/customEvent","h":"#注意","p":136},{"i":149,"t":"修改安装配置文件","u":"/SCOW/docs/deploy/config/audit/intro","h":"#修改安装配置文件","p":147},{"i":151,"t":"编写后端服务配置","u":"/SCOW/docs/deploy/config/audit/intro","h":"#编写后端服务配置","p":147},{"i":153,"t":"启动服务","u":"/SCOW/docs/deploy/config/audit/intro","h":"#启动服务","p":147},{"i":157,"t":"内置认证系统","u":"/SCOW/docs/deploy/config/auth/intro","h":"","p":155},{"i":159,"t":"自定义认证方式","u":"/SCOW/docs/deploy/config/auth/intro","h":"","p":155},{"i":162,"t":"UI 配置","u":"/SCOW/docs/deploy/config/auth/config","h":"#ui-配置","p":161},{"i":164,"t":"允许回调主机名","u":"/SCOW/docs/deploy/config/auth/config","h":"#允许回调主机名","p":161},{"i":166,"t":"验证码功能","u":"/SCOW/docs/deploy/config/auth/config","h":"#验证码功能","p":161},{"i":168,"t":"模仿用户","u":"/SCOW/docs/deploy/config/auth/config","h":"#模仿用户","p":161},{"i":170,"t":"OTP功能","u":"/SCOW/docs/deploy/config/auth/config","h":"#otp功能","p":161},{"i":172,"t":"一、将OTP密钥保存在LDAP中(即otp.type为ldap):","u":"/SCOW/docs/deploy/config/auth/config","h":"#一将otp密钥保存在ldap中即otptype为ldap","p":161},{"i":174,"t":"二、由您自己管理OTP密钥(otp.type为remote):","u":"/SCOW/docs/deploy/config/auth/config","h":"#二由您自己管理otp密钥otptype为remote","p":161},{"i":178,"t":"配置SSH认证服务","u":"/SCOW/docs/deploy/config/auth/ssh","h":"#配置ssh认证服务","p":176},{"i":182,"t":"Beta期间配置","u":"/SCOW/docs/deploy/config/ai/intro","h":"","p":180},{"i":184,"t":"前期准备","u":"/SCOW/docs/deploy/config/ai/intro","h":"#前期准备","p":180},{"i":185,"t":"K8S 集群","u":"/SCOW/docs/deploy/config/ai/intro","h":"#k8s-集群","p":180},{"i":187,"t":"K8S 调度服务","u":"/SCOW/docs/deploy/config/ai/intro","h":"#k8s-调度服务","p":180},{"i":189,"t":"Harbor","u":"/SCOW/docs/deploy/config/ai/intro","h":"#harbor","p":180},{"i":191,"t":"并行文件存储服务","u":"/SCOW/docs/deploy/config/ai/intro","h":"#并行文件存储服务","p":180},{"i":193,"t":"LDAP","u":"/SCOW/docs/deploy/config/ai/intro","h":"#ldap","p":180},{"i":195,"t":"配置文件","u":"/SCOW/docs/deploy/config/ai/intro","h":"#配置文件","p":180},{"i":196,"t":"集群配置文件","u":"/SCOW/docs/deploy/config/ai/intro","h":"#集群配置文件","p":180},{"i":198,"t":"修改安装配置文件","u":"/SCOW/docs/deploy/config/ai/intro","h":"#修改安装配置文件","p":180},{"i":200,"t":"编写 AI 服务配置","u":"/SCOW/docs/deploy/config/ai/intro","h":"#编写-ai-服务配置","p":180},{"i":202,"t":"启动服务","u":"/SCOW/docs/deploy/config/ai/intro","h":"#启动服务","p":180},{"i":206,"t":"编写和配置","u":"/SCOW/docs/deploy/config/cli/plugins","h":"#编写和配置","p":204},{"i":208,"t":"插件功能","u":"/SCOW/docs/deploy/config/cli/plugins","h":"#插件功能","p":204},{"i":209,"t":"覆盖docker-compose.yml","u":"/SCOW/docs/deploy/config/cli/plugins","h":"#覆盖docker-composeyml","p":204},{"i":211,"t":"拓展与集成","u":"/SCOW/docs/deploy/config/cli/plugins","h":"#拓展与集成","p":204},{"i":215,"t":"注意","u":"/SCOW/docs/deploy/config/cluster-config","h":"#注意","p":213},{"i":218,"t":"什么是相对路径(base path)","u":"/SCOW/docs/deploy/config/customization/basepath","h":"#什么是相对路径base-path","p":217},{"i":220,"t":"配置","u":"/SCOW/docs/deploy/config/customization/basepath","h":"#配置","p":217},{"i":226,"t":"配置示例","u":"/SCOW/docs/deploy/config/customization/custom-config-i18n","h":"#配置示例","p":224},{"i":228,"t":"支持国际化文本切换的配置项","u":"/SCOW/docs/deploy/config/customization/custom-config-i18n","h":"#支持国际化文本切换的配置项","p":224},{"i":232,"t":"LDAP认证要求和流程","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#ldap认证要求和流程","p":230},{"i":234,"t":"使用LDAP登录集群","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#使用ldap登录集群","p":230},{"i":236,"t":"登录","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#登录","p":230},{"i":238,"t":"创建用户","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#创建用户","p":230},{"i":240,"t":"配置LDAP认证服务","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#配置ldap认证服务","p":230},{"i":242,"t":"LDAP快速配置脚本","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#ldap快速配置脚本","p":230},{"i":244,"t":"LDAP镜像","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#ldap镜像","p":230},{"i":248,"t":"配置示例","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置示例","p":246},{"i":250,"t":"配置说明","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置说明","p":246},{"i":252,"t":"配置效果展示","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置效果展示","p":246},{"i":254,"t":"entities/JobInfo","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","h":"#entitiesjobinfo","p":246},{"i":258,"t":"门户系统中的配置","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#门户系统中的配置","p":256},{"i":260,"t":"管理系统中的配置","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#管理系统中的配置","p":256},{"i":262,"t":"配置示例","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#配置示例","p":256},{"i":263,"t":"门户系统自定义导航链接配置示例","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#门户系统自定义导航链接配置示例","p":256},{"i":265,"t":"管理系统自定义导航链接配置示例","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#管理系统自定义导航链接配置示例","p":256},{"i":267,"t":"配置解释","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#配置解释","p":256},{"i":269,"t":"自定义图标配置说明","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#自定义图标配置说明","p":256},{"i":271,"t":"角色配置说明","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#角色配置说明","p":256},{"i":275,"t":"增加配置目录及自定义规则js文件","u":"/SCOW/docs/deploy/config/customization/custom-amount-strategies","h":"#增加配置目录及自定义规则js文件","p":273},{"i":277,"t":"mis.yaml增加可选配置","u":"/SCOW/docs/deploy/config/customization/custom-amount-strategies","h":"#misyaml增加可选配置","p":273},{"i":279,"t":"创建新的计费项使用这个新的计量方式","u":"/SCOW/docs/deploy/config/customization/custom-amount-strategies","h":"#创建新的计费项使用这个新的计量方式","p":273},{"i":283,"t":"配置","u":"/SCOW/docs/deploy/config/customization/custom-userlinks","h":"#配置","p":281},{"i":285,"t":"配置示例","u":"/SCOW/docs/deploy/config/customization/custom-userlinks","h":"#配置示例","p":281},{"i":287,"t":"配置解释","u":"/SCOW/docs/deploy/config/customization/custom-userlinks","h":"#配置解释","p":281},{"i":295,"t":"自定义favicon","u":"/SCOW/docs/deploy/config/customization/webui","h":"#自定义favicon","p":293},{"i":297,"t":"自定义导航栏LOGO","u":"/SCOW/docs/deploy/config/customization/webui","h":"#自定义导航栏logo","p":293},{"i":299,"t":"自定义主题色和footer文本","u":"/SCOW/docs/deploy/config/customization/webui","h":"#自定义主题色和footer文本","p":293},{"i":301,"t":"来访的域名","u":"/SCOW/docs/deploy/config/customization/webui","h":"#来访的域名","p":293},{"i":304,"t":"extra","u":"/SCOW/docs/deploy/config/gateway/config","h":"#extra","p":303},{"i":306,"t":"域名白名单配置","u":"/SCOW/docs/deploy/config/gateway/config","h":"#域名白名单配置","p":303},{"i":308,"t":"SCOW 访问协议","u":"/SCOW/docs/deploy/config/gateway/config","h":"#scow-访问协议","p":303},{"i":312,"t":"配置示例","u":"/SCOW/docs/deploy/config/customization/custom-system-language","h":"#配置示例","p":310},{"i":314,"t":"配置结果示例","u":"/SCOW/docs/deploy/config/customization/custom-system-language","h":"#配置结果示例","p":310},{"i":318,"t":"内置创建用户页面","u":"/SCOW/docs/deploy/config/mis/create-user","h":"#内置创建用户页面","p":316},{"i":320,"t":"外置创建用户界面","u":"/SCOW/docs/deploy/config/mis/create-user","h":"#外置创建用户界面","p":316},{"i":322,"t":"关闭SCOW中创建用户功能","u":"/SCOW/docs/deploy/config/mis/create-user","h":"#关闭scow中创建用户功能","p":316},{"i":326,"t":"导入已有用户信息","u":"/SCOW/docs/deploy/config/mis/init","h":"#导入已有用户信息","p":324},{"i":328,"t":"查看系统的用户和账户,设置初始管理员用户","u":"/SCOW/docs/deploy/config/mis/init","h":"#查看系统的用户和账户设置初始管理员用户","p":324},{"i":330,"t":"添加初始管理员用户","u":"/SCOW/docs/deploy/config/mis/init","h":"#添加初始管理员用户","p":324},{"i":332,"t":"编辑作业价格表","u":"/SCOW/docs/deploy/config/mis/init","h":"#编辑作业价格表","p":324},{"i":334,"t":"完成初始化","u":"/SCOW/docs/deploy/config/mis/init","h":"#完成初始化","p":324},{"i":338,"t":"管理系统同步作业信息","u":"/SCOW/docs/deploy/config/mis/intro","h":"#管理系统同步作业信息","p":336},{"i":340,"t":"修改安装配置文件","u":"/SCOW/docs/deploy/config/mis/intro","h":"#修改安装配置文件","p":336},{"i":342,"t":"部署调度器适配器","u":"/SCOW/docs/deploy/config/mis/intro","h":"#部署调度器适配器","p":336},{"i":344,"t":"更新集群配置文件","u":"/SCOW/docs/deploy/config/mis/intro","h":"#更新集群配置文件","p":336},{"i":346,"t":"编写后端服务配置","u":"/SCOW/docs/deploy/config/mis/intro","h":"#编写后端服务配置","p":336},{"i":348,"t":"启动服务","u":"/SCOW/docs/deploy/config/mis/intro","h":"#启动服务","p":336},{"i":350,"t":"系统初始化","u":"/SCOW/docs/deploy/config/mis/intro","h":"#系统初始化","p":336},{"i":353,"t":"选定slurm节点和部署slurm适配器","u":"/SCOW/docs/deploy/config/mis/schedulers/slurm","h":"#选定slurm节点和部署slurm适配器","p":352},{"i":355,"t":"修改集群配置","u":"/SCOW/docs/deploy/config/mis/schedulers/slurm","h":"#修改集群配置","p":352},{"i":357,"t":"导入已有用户信息","u":"/SCOW/docs/deploy/config/mis/schedulers/slurm","h":"#导入已有用户信息","p":352},{"i":359,"t":"SCOW和slurm用户信息的关系","u":"/SCOW/docs/deploy/config/mis/schedulers/slurm","h":"#scow和slurm用户信息的关系","p":352},{"i":362,"t":"资源状态","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","h":"#资源状态","p":361},{"i":364,"t":"1. 直接嵌入","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","h":"#1-直接嵌入","p":361},{"i":366,"t":"2. 代理","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","h":"#2-代理","p":361},{"i":368,"t":"告警日志","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","h":"#告警日志","p":361},{"i":370,"t":"参考配置","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","h":"#参考配置","p":361},{"i":373,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","h":"#软件简介","p":372},{"i":375,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","h":"#前提条件","p":372},{"i":377,"t":"1、TurboVNC安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","h":"#1turbovnc安装","p":372},{"i":379,"t":"2、构建Baltamatica镜像","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","h":"#2构建baltamatica镜像","p":372},{"i":381,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","h":"#配置文件","p":372},{"i":386,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","h":"#软件简介","p":385},{"i":388,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","h":"#前提条件","p":385},{"i":390,"t":"1、TurboVNC安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","h":"#1turbovnc安装","p":385},{"i":392,"t":"2、Emacs安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","h":"#2emacs安装","p":385},{"i":394,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","h":"#配置文件","p":385},{"i":397,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#软件简介","p":396},{"i":399,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#前提条件","p":396},{"i":401,"t":"1、TurboVNC安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#1turbovnc安装","p":396},{"i":403,"t":"3、桌面环境安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#3桌面环境安装","p":396},{"i":405,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#配置文件","p":396},{"i":407,"t":"FAQ","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#faq","p":396},{"i":408,"t":"Q1:首次连接进入到Xfce桌面时,会报XFCE PolicyKit Agent的弹窗错误","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#q1首次连接进入到xfce桌面时会报xfce-policykit-agent的弹窗错误","p":396},{"i":411,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#软件简介","p":410},{"i":413,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#前提条件","p":410},{"i":415,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#配置文件","p":410},{"i":417,"t":"附章","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#附章","p":410},{"i":418,"t":"1、Anaconda安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#1anaconda安装","p":410},{"i":420,"t":"2、添加modulefile文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#2添加modulefile文件","p":410},{"i":423,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#软件简介","p":422},{"i":425,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#前提条件","p":422},{"i":427,"t":"1、软件介绍","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#1软件介绍","p":422},{"i":429,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#配置文件","p":422},{"i":432,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","h":"#软件简介","p":431},{"i":434,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","h":"#前提条件","p":431},{"i":436,"t":"1、TurboVNC安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","h":"#1turbovnc安装","p":431},{"i":438,"t":"2、Octave安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","h":"#2octave安装","p":431},{"i":440,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","h":"#配置文件","p":431},{"i":443,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#软件简介","p":442},{"i":445,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#前提条件","p":442},{"i":447,"t":"1、TurboVNC安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#1turbovnc安装","p":442},{"i":449,"t":"2、Java安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#2java安装","p":442},{"i":451,"t":"4、添加modulefile文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#4添加modulefile文件","p":442},{"i":453,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#配置文件","p":442},{"i":456,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/relion","h":"#软件简介","p":455},{"i":458,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/relion","h":"#前提条件","p":455},{"i":460,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/relion","h":"#配置文件","p":455},{"i":463,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/matlab","h":"#软件简介","p":462},{"i":465,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/matlab","h":"#前提条件","p":462},{"i":467,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/matlab","h":"#配置文件","p":462},{"i":470,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#软件简介","p":469},{"i":472,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#前提条件","p":469},{"i":474,"t":"1、code-server安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#1code-server安装","p":469},{"i":476,"t":"2、添加modulefile文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#2添加modulefile文件","p":469},{"i":478,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#配置文件","p":469},{"i":480,"t":"注意事项","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#注意事项","p":469},{"i":481,"t":"VSCode扩展安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#vscode扩展安装","p":469},{"i":485,"t":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-comment","h":"#配置示例","p":483},{"i":487,"t":"配置解释","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-comment","h":"#配置解释","p":483},{"i":491,"t":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-logo","h":"#配置示例","p":489},{"i":493,"t":"配置解释","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-logo","h":"#配置解释","p":489},{"i":497,"t":"各个集群共享应用","u":"/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#各个集群共享应用","p":495},{"i":499,"t":"特定集群应用","u":"/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#特定集群应用","p":495},{"i":501,"t":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#配置示例","p":495},{"i":504,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#前提条件","p":503},{"i":506,"t":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#配置示例","p":503},{"i":508,"t":"配置解释","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#配置解释","p":503},{"i":509,"t":"beforeScript","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#beforescript","p":503},{"i":511,"t":"xstartup","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#xstartup","p":503},{"i":513,"t":"attributes","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#attributes","p":503},{"i":517,"t":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置示例","p":515},{"i":518,"t":"web类应用配置HTML表单示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#web类应用配置html表单示例","p":515},{"i":520,"t":"VNC类应用配置HTML表单示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#vnc类应用配置html表单示例","p":515},{"i":522,"t":"配置解释","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置解释","p":515},{"i":524,"t":"配置输入类型为文本的HTML表单","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入类型为文本的html表单","p":515},{"i":526,"t":"配置输入类型为数字的HTML表单","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入类型为数字的html表单","p":515},{"i":528,"t":"配置输入为下拉选择器的HTML表单","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入为下拉选择器的html表单","p":515},{"i":530,"t":"配置其他sbatch参数","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置其他sbatch参数","p":515},{"i":534,"t":"实现原理","u":"/SCOW/docs/deploy/config/portal/apps/intro","h":"","p":532},{"i":537,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/desktop","h":"#前提条件","p":535},{"i":539,"t":"支持的桌面","u":"/SCOW/docs/deploy/config/portal/desktop","h":"#支持的桌面","p":535},{"i":542,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#前提条件","p":541},{"i":544,"t":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#配置示例","p":541},{"i":546,"t":"配置解释","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#配置解释","p":541},{"i":547,"t":"proxyType","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#proxytype","p":541},{"i":549,"t":"beforeScript和script","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#beforescript和script","p":541},{"i":551,"t":"connect","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#connect","p":541},{"i":553,"t":"attributes","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#attributes","p":541},{"i":557,"t":"自定义仪表盘LOGO","u":"/SCOW/docs/deploy/config/portal/customization/dashboard","h":"#自定义仪表盘logo","p":555},{"i":561,"t":"修改安装配置文件","u":"/SCOW/docs/deploy/config/portal/intro","h":"#修改安装配置文件","p":559},{"i":563,"t":"编写门户服务配置","u":"/SCOW/docs/deploy/config/portal/intro","h":"#编写门户服务配置","p":559},{"i":565,"t":"更多配置","u":"/SCOW/docs/deploy/config/portal/intro","h":"#更多配置","p":559},{"i":567,"t":"启动服务","u":"/SCOW/docs/deploy/config/portal/intro","h":"#启动服务","p":559},{"i":571,"t":"手动配置","u":"/SCOW/docs/deploy/config/portal/proxy-gateway","h":"","p":569},{"i":573,"t":"自动配置","u":"/SCOW/docs/deploy/config/portal/proxy-gateway","h":"","p":569},{"i":575,"t":"配置要求","u":"/SCOW/docs/deploy/config/portal/proxy-gateway","h":"","p":569},{"i":579,"t":"sopen命令","u":"/SCOW/docs/deploy/config/portal/shell","h":"#sopen命令","p":577},{"i":581,"t":"sup命令","u":"/SCOW/docs/deploy/config/portal/shell","h":"#sup命令","p":577},{"i":583,"t":"sdown命令","u":"/SCOW/docs/deploy/config/portal/shell","h":"#sdown命令","p":577},{"i":585,"t":"sedit命令","u":"/SCOW/docs/deploy/config/portal/shell","h":"#sedit命令","p":577},{"i":587,"t":"注意","u":"/SCOW/docs/deploy/config/portal/shell","h":"#注意","p":577},{"i":590,"t":"1. 为每个集群添加传输节点","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#1-为每个集群添加传输节点","p":589},{"i":591,"t":"网络区分","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#网络区分","p":589},{"i":593,"t":"配置","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#配置","p":589},{"i":595,"t":"2. 建立scow节点到每个传输节点的root用户免密","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#2-建立scow节点到每个传输节点的root用户免密","p":589},{"i":597,"t":"3. 在每个传输节点上安装scow-sync传输软件","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#3-在每个传输节点上安装scow-sync传输软件","p":589},{"i":599,"t":"4. 可选:自定义scow-sync的日志路径","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#4-可选自定义scow-sync的日志路径","p":589},{"i":602,"t":"1. 如何修改节点私网IP","u":"/SCOW/docs/deploy/get-started/vagrant/customization","h":"#1-如何修改节点私网ip","p":601},{"i":604,"t":"2. 如何新增计算节点","u":"/SCOW/docs/deploy/get-started/vagrant/customization","h":"#2-如何新增计算节点","p":601},{"i":607,"t":"1. Invalid value 'WAS' in AudioAdapter/@driver attribute","u":"/SCOW/docs/deploy/get-started/vagrant/faq","h":"#1--invalid-value-was-in-audioadapterdriver-attribute","p":606},{"i":611,"t":"1. 集群一键部署","u":"/SCOW/docs/deploy/get-started/vagrant","h":"#1-集群一键部署","p":609},{"i":613,"t":"2. 集群初始化","u":"/SCOW/docs/deploy/get-started/vagrant","h":"#2-集群初始化","p":609},{"i":615,"t":"3. SCOW运维操作","u":"/SCOW/docs/deploy/get-started/vagrant","h":"#3-scow运维操作","p":609},{"i":617,"t":"4. 集群一键销毁命令","u":"/SCOW/docs/deploy/get-started/vagrant","h":"#4-集群一键销毁命令","p":609},{"i":619,"t":"5. 更多文档","u":"/SCOW/docs/deploy/get-started/vagrant","h":"#5-更多文档","p":609},{"i":622,"t":"1. login/compute节点镜像制作","u":"/SCOW/docs/deploy/get-started/vagrant/images","h":"#1-logincompute节点镜像制作","p":621},{"i":624,"t":"2. slurm节点镜像制作","u":"/SCOW/docs/deploy/get-started/vagrant/images","h":"#2-slurm节点镜像制作","p":621},{"i":626,"t":"3. SCOW节点镜像制作","u":"/SCOW/docs/deploy/get-started/vagrant/images","h":"#3-scow节点镜像制作","p":621},{"i":630,"t":"1. 安装virtualbox","u":"/SCOW/docs/deploy/get-started/vagrant/vagrant-env","h":"#1-安装virtualbox","p":628},{"i":632,"t":"2. 安装vagrant","u":"/SCOW/docs/deploy/get-started/vagrant/vagrant-env","h":"#2-安装vagrant","p":628},{"i":634,"t":"3. vagrant基本操作","u":"/SCOW/docs/deploy/get-started/vagrant/vagrant-env","h":"#3-vagrant基本操作","p":628},{"i":637,"t":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#软件简介","p":636},{"i":639,"t":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#前提条件","p":636},{"i":641,"t":"1、RStudio Server 1.4.1103之前版本的安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#1rstudio-server-141103之前版本的安装","p":636},{"i":643,"t":"2、RStudio Server 1.4.1103及之后版本的安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#2rstudio-server-141103及之后版本的安装","p":636},{"i":645,"t":"2.3、构建RStudio Server镜像","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#23构建rstudio-server镜像","p":636},{"i":647,"t":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#配置文件","p":636},{"i":649,"t":"1、RStudio Server 1.4.1103之前版本","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#1rstudio-server-141103之前版本","p":636},{"i":651,"t":"2、RStudio Server 1.4.1103及之后版本(源码安装R)","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#2rstudio-server-141103及之后版本源码安装r","p":636},{"i":653,"t":"3、RStudio Server 1.4.1103及之后版本(Conda环境安装R)","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#3rstudio-server-141103及之后版本conda环境安装r","p":636},{"i":655,"t":"附章","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#附章","p":636},{"i":656,"t":"1、Singularity安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#1singularity安装","p":636},{"i":658,"t":"2、R安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#2r安装","p":636},{"i":660,"t":"3、构建RStudio Server镜像","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#3构建rstudio-server镜像","p":636},{"i":664,"t":"一. 前提条件","u":"/SCOW/docs/deploy/install","h":"#一--前提条件","p":662},{"i":666,"t":"二. 部署流程","u":"/SCOW/docs/deploy/install","h":"#二--部署流程","p":662},{"i":667,"t":"1. 准备SCOW部署节点","u":"/SCOW/docs/deploy/install","h":"#1-准备scow部署节点","p":662},{"i":669,"t":"2. 编译和部署适配器","u":"/SCOW/docs/deploy/install","h":"#2-编译和部署适配器","p":662},{"i":671,"t":"3. 安装和配置SCOW","u":"/SCOW/docs/deploy/install","h":"#3-安装和配置scow","p":662},{"i":679,"t":"scow-cli","u":"/SCOW/docs/deploy/install/multi-platform","h":"#scow-cli","p":677},{"i":681,"t":"编译支持多架构的镜像","u":"/SCOW/docs/deploy/install/multi-platform","h":"#编译支持多架构的镜像","p":677},{"i":685,"t":"配置","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":687,"t":"使用","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":689,"t":"从scow-deployment迁移","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":691,"t":"常见命令的对照","u":"/SCOW/docs/deploy/install/scow-cli","h":"#常见命令的对照","p":683},{"i":693,"t":"更新scow-cli","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":695,"t":"代理","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":697,"t":"打印调试日志","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":701,"t":"1. 界面添加LDAP用户","u":"/SCOW/docs/hpccluster/add-user","h":"#1-界面添加ldap用户","p":699},{"i":703,"t":"2. 命令添加LDAP用户","u":"/SCOW/docs/hpccluster/add-user","h":"#2-命令添加ldap用户","p":699},{"i":706,"t":"1. 系统报错:查看运行日志","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#1-系统报错查看运行日志","p":705},{"i":708,"t":"1.1 查看日志","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#11-查看日志","p":705},{"i":710,"t":"1.2 设置日志级别","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#12-设置日志级别","p":705},{"i":712,"t":"2. 作业/交互式应用执行失败:查看输出文档","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#2-作业交互式应用执行失败查看输出文档","p":705},{"i":713,"t":"2.1 作业执行失败","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#21-作业执行失败","p":705},{"i":715,"t":"2.2 交互式应用执行失败","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#22-交互式应用执行失败","p":705},{"i":717,"t":"3. 用户操作审计:查看操作日志","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#3-用户操作审计查看操作日志","p":705},{"i":719,"t":"4. 解决特定环境问题:模仿用户登录","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#4-解决特定环境问题模仿用户登录","p":705},{"i":721,"t":"5. 其他","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#5-其他","p":705},{"i":722,"t":"5.1 用户从账户中移除失败","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#51-用户从账户中移除失败","p":705},{"i":724,"t":"5.2 将用户添加到某个账户失败","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#52-将用户添加到某个账户失败","p":705},{"i":728,"t":"更新","u":"/SCOW/docs/deploy/ops","h":"#更新","p":726},{"i":730,"t":"日志","u":"/SCOW/docs/deploy/ops","h":"#日志","p":726},{"i":731,"t":"查看日志","u":"/SCOW/docs/deploy/ops","h":"#查看日志","p":726},{"i":733,"t":"配置日志输出","u":"/SCOW/docs/deploy/ops","h":"#配置日志输出","p":726},{"i":741,"t":"1. 获取安装包","u":"/SCOW/docs/hpccluster/intel","h":"#1-获取安装包","p":739},{"i":743,"t":"2. 安装","u":"/SCOW/docs/hpccluster/intel","h":"#2-安装","p":739},{"i":745,"t":"3. 添加环境变量","u":"/SCOW/docs/hpccluster/intel","h":"#3-添加环境变量","p":739},{"i":747,"t":"4. Linkpack测试","u":"/SCOW/docs/hpccluster/intel","h":"#4-linkpack测试","p":739},{"i":751,"t":"1. tcl安装","u":"/SCOW/docs/hpccluster/module","h":"#1-tcl安装","p":749},{"i":753,"t":"2. module安装","u":"/SCOW/docs/hpccluster/module","h":"#2-module安装","p":749},{"i":755,"t":"3. 配置","u":"/SCOW/docs/hpccluster/module","h":"#3-配置","p":749},{"i":761,"t":"1. 安装NFS服务端","u":"/SCOW/docs/hpccluster/nfs","h":"#1-安装nfs服务端","p":759},{"i":763,"t":"2. 客户端搭建","u":"/SCOW/docs/hpccluster/nfs","h":"#2-客户端搭建","p":759},{"i":765,"t":"3. 使用","u":"/SCOW/docs/hpccluster/nfs","h":"#3-使用","p":759},{"i":771,"t":"功能和特点","u":"/SCOW/docs/info/ai","h":"#功能和特点","p":769},{"i":775,"t":"功能和特点","u":"/SCOW/docs/info","h":"#功能和特点","p":773},{"i":777,"t":"体验环境","u":"/SCOW/docs/info","h":"#体验环境","p":773},{"i":781,"t":"业务模型","u":"/SCOW/docs/info/mis","h":"#业务模型","p":779},{"i":785,"t":"账户状态","u":"/SCOW/docs/info/mis/business/users","h":"#账户状态","p":783},{"i":787,"t":"1.账户处于正常状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#1账户处于正常状态时","p":783},{"i":789,"t":"2.账户处于封锁状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#2账户处于封锁状态时","p":783},{"i":791,"t":"3.账户处于欠费状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#3账户处于欠费状态时","p":783},{"i":793,"t":"用户在账户中的状态","u":"/SCOW/docs/info/mis/business/users","h":"#用户在账户中的状态","p":783},{"i":795,"t":"1.用户在账户中处于正常状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#1用户在账户中处于正常状态时","p":783},{"i":797,"t":"2.用户在账户中处于封锁状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#2用户在账户中处于封锁状态时","p":783},{"i":799,"t":"3.用户在账户中处于限额状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#3用户在账户中处于限额状态时","p":783},{"i":803,"t":"支持的功能","u":"/SCOW/docs/info/portal","h":"","p":801},{"i":807,"t":"交互式应用的分类","u":"/SCOW/docs/info/portal/app","h":"#交互式应用的分类","p":805},{"i":809,"t":"配置","u":"/SCOW/docs/info/portal/app","h":"#配置","p":805},{"i":813,"t":"计费规则","u":"/SCOW/docs/info/mis/business/billing","h":"#计费规则","p":811},{"i":815,"t":"从网页编辑作业价格表","u":"/SCOW/docs/info/mis/business/billing","h":"#从网页编辑作业价格表","p":811},{"i":817,"t":"快速创建计费规则","u":"/SCOW/docs/info/mis/business/billing","h":"#快速创建计费规则","p":811},{"i":823,"t":"分区(队列)","u":"/SCOW/docs/info/portal/job","h":"#分区队列","p":821},{"i":825,"t":"提交作业","u":"/SCOW/docs/info/portal/job","h":"#提交作业","p":821},{"i":829,"t":"使用自定义认证服务","u":"/SCOW/docs/integration/auth/use","h":"#使用自定义认证服务","p":827},{"i":833,"t":"基本概念","u":"/SCOW/docs/integration/auth/impl","h":"#基本概念","p":831},{"i":835,"t":"必须实现的API","u":"/SCOW/docs/integration/auth/impl","h":"#必须实现的api","p":831},{"i":836,"t":"GET /public/auth","u":"/SCOW/docs/integration/auth/impl","h":"#get-publicauth","p":831},{"i":838,"t":"GET /public/validateToken","u":"/SCOW/docs/integration/auth/impl","h":"#get-publicvalidatetoken","p":831},{"i":840,"t":"DELETE /token","u":"/SCOW/docs/integration/auth/impl","h":"#delete-token","p":831},{"i":842,"t":"GET /capabilities","u":"/SCOW/docs/integration/auth/impl","h":"#get-capabilities","p":831},{"i":844,"t":"创建用户功能相关API","u":"/SCOW/docs/integration/auth/impl","h":"#创建用户功能相关api","p":831},{"i":846,"t":"POST /user","u":"/SCOW/docs/integration/auth/impl","h":"#post-user","p":831},{"i":848,"t":"查询用户功能相关API","u":"/SCOW/docs/integration/auth/impl","h":"#查询用户功能相关api","p":831},{"i":849,"t":"GET /user","u":"/SCOW/docs/integration/auth/impl","h":"#get-user","p":831},{"i":851,"t":"修改邮箱相关API","u":"/SCOW/docs/integration/auth/impl","h":"#修改邮箱相关api","p":831},{"i":853,"t":"PATCH /user/email","u":"/SCOW/docs/integration/auth/impl","h":"#patch-useremail","p":831},{"i":855,"t":"验证密码相关API","u":"/SCOW/docs/integration/auth/impl","h":"#验证密码相关api","p":831},{"i":856,"t":"GET /checkPassword","u":"/SCOW/docs/integration/auth/impl","h":"#get-checkpassword","p":831},{"i":858,"t":"修改密码相关API","u":"/SCOW/docs/integration/auth/impl","h":"#修改密码相关api","p":831},{"i":860,"t":"PATCH /password","u":"/SCOW/docs/integration/auth/impl","h":"#patch-password","p":831},{"i":862,"t":"用户账户关系相关API","u":"/SCOW/docs/integration/auth/impl","h":"#用户账户关系相关api","p":831},{"i":864,"t":"POST /account","u":"/SCOW/docs/integration/auth/impl","h":"#post-account","p":831},{"i":866,"t":"POST /account/${accountName}/user","u":"/SCOW/docs/integration/auth/impl","h":"#post-accountaccountnameuser","p":831},{"i":868,"t":"DELETE /account/${accountName}/user/${userId}","u":"/SCOW/docs/integration/auth/impl","h":"#delete-accountaccountnameuseruserid","p":831},{"i":872,"t":"相关API","u":"/SCOW/docs/integration/scow-api-hook/api/statistic","h":"#相关api","p":870},{"i":874,"t":"参数 TimeZone","u":"/SCOW/docs/integration/scow-api-hook/api/statistic","h":"#参数-timezone","p":870},{"i":876,"t":"可用时区名称及UTC偏移量","u":"/SCOW/docs/integration/scow-api-hook/api/statistic","h":"#可用时区名称及utc偏移量","p":870},{"i":880,"t":"准备环境","u":"/SCOW/docs/integration/scow-api-hook/examples/go","h":"#准备环境","p":878},{"i":882,"t":"使用Buf获取Proto文件并生成代码","u":"/SCOW/docs/integration/scow-api-hook/examples/go","h":"#使用buf获取proto文件并生成代码","p":878},{"i":884,"t":"使用SCOW API","u":"/SCOW/docs/integration/scow-api-hook/examples/go","h":"#使用scow-api","p":878},{"i":886,"t":"实现并注册SCOW Hook","u":"/SCOW/docs/integration/scow-api-hook/examples/go","h":"#实现并注册scow-hook","p":878},{"i":890,"t":"打开后端服务网络接口","u":"/SCOW/docs/integration/scow-api-hook/api","h":"#打开后端服务网络接口","p":888},{"i":892,"t":"API认证","u":"/SCOW/docs/integration/scow-api-hook/api","h":"#api认证","p":888},{"i":894,"t":"静态Token认证","u":"/SCOW/docs/integration/scow-api-hook/api","h":"#静态token认证","p":888},{"i":896,"t":"实际项目示例","u":"/SCOW/docs/integration/scow-api-hook/api","h":"#实际项目示例","p":888},{"i":900,"t":"获取Proto文件","u":"/SCOW/docs/integration/scow-api-hook/proto","h":"#获取proto文件","p":898},{"i":902,"t":"1. 使用Buf获取和生成代码(推荐)","u":"/SCOW/docs/integration/scow-api-hook/proto","h":"#1-使用buf获取和生成代码推荐","p":898},{"i":904,"t":"2. 通过npm获取proto文件","u":"/SCOW/docs/integration/scow-api-hook/proto","h":"#2-通过npm获取proto文件","p":898},{"i":906,"t":"API版本控制","u":"/SCOW/docs/integration/scow-api-hook/proto","h":"#api版本控制","p":898},{"i":910,"t":"SCOW服务连接到Hook服务","u":"/SCOW/docs/integration/scow-api-hook/hook","h":"#scow服务连接到hook服务","p":908},{"i":912,"t":"实际项目示例","u":"/SCOW/docs/integration/scow-api-hook/hook","h":"#实际项目示例","p":908},{"i":916,"t":"开发UI扩展","u":"/SCOW/docs/integration/ui-extension","h":"#开发ui扩展","p":914},{"i":918,"t":"配置SCOW使用UI扩展","u":"/SCOW/docs/integration/ui-extension","h":"#配置scow使用ui扩展","p":914},{"i":923,"t":"Top-level Schemas","u":"/SCOW/docs/refs/config/app","h":"#top-level-schemas","p":922},{"i":925,"t":"Other Schemas","u":"/SCOW/docs/refs/config/app","h":"#other-schemas","p":922},{"i":926,"t":"Objects","u":"/SCOW/docs/refs/config/app","h":"#objects","p":922},{"i":928,"t":"Arrays","u":"/SCOW/docs/refs/config/app","h":"#arrays","p":922},{"i":933,"t":"Untitled object in undefined Type","u":"/SCOW/docs/refs/config/app/definition","h":"#untitled-object-in-undefined-type","p":932},{"i":935,"t":"Untitled object in undefined Properties","u":"/SCOW/docs/refs/config/app/definition","h":"","p":932},{"i":937,"t":"name","u":"/SCOW/docs/refs/config/app/definition","h":"#name","p":932},{"i":939,"t":"name Type","u":"/SCOW/docs/refs/config/app/definition","h":"#name-type","p":932},{"i":941,"t":"nodes","u":"/SCOW/docs/refs/config/app/definition","h":"#nodes","p":932},{"i":943,"t":"nodes Type","u":"/SCOW/docs/refs/config/app/definition","h":"#nodes-type","p":932},{"i":945,"t":"type","u":"/SCOW/docs/refs/config/app/definition","h":"#type","p":932},{"i":947,"t":"type Type","u":"/SCOW/docs/refs/config/app/definition","h":"#type-type","p":932},{"i":949,"t":"web","u":"/SCOW/docs/refs/config/app/definition","h":"#web","p":932},{"i":951,"t":"web Type","u":"/SCOW/docs/refs/config/app/definition","h":"#web-type","p":932},{"i":953,"t":"vnc","u":"/SCOW/docs/refs/config/app/definition","h":"#vnc","p":932},{"i":955,"t":"vnc Type","u":"/SCOW/docs/refs/config/app/definition","h":"#vnc-type","p":932},{"i":958,"t":"name Type","u":"/SCOW/docs/refs/config/app/definition-properties-name","h":"#name-type","p":957},{"i":962,"t":"上下文参数","u":"/SCOW/docs/integration/ui-extension/develop","h":"#上下文参数","p":960},{"i":964,"t":"扩展页","u":"/SCOW/docs/integration/ui-extension/develop","h":"#扩展页","p":960},{"i":966,"t":"配置接口","u":"/SCOW/docs/integration/ui-extension/develop","h":"#配置接口","p":960},{"i":968,"t":"重写导航项:POST /api/{portal,mis}/rewriteNavigations","u":"/SCOW/docs/integration/ui-extension/develop","h":"#重写导航项post-apiportalmisrewritenavigations","p":960},{"i":970,"t":"增加导航栏链接:POST /api/{portal,mis}/navbarLinks","u":"/SCOW/docs/integration/ui-extension/develop","h":"#增加导航栏链接post-apiportalmisnavbarlinks","p":960},{"i":972,"t":"注意事项","u":"/SCOW/docs/integration/ui-extension/develop","h":"#注意事项","p":960},{"i":973,"t":"通过发送消息控制扩展页面的高度","u":"/SCOW/docs/integration/ui-extension/develop","h":"#通过发送消息控制扩展页面的高度","p":960},{"i":975,"t":"其他注意事项","u":"/SCOW/docs/integration/ui-extension/develop","h":"#其他注意事项-1","p":960},{"i":978,"t":"nodes Type","u":"/SCOW/docs/refs/config/app/definition-properties-nodes","h":"#nodes-type","p":977},{"i":981,"t":"items Type","u":"/SCOW/docs/refs/config/app/definition-properties-nodes-items","h":"#items-type","p":980},{"i":985,"t":"一、环境准备","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#一环境准备","p":983},{"i":987,"t":"二、创建配置文件","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#二创建配置文件","p":983},{"i":989,"t":"配置 Grafana","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#配置-grafana","p":983},{"i":991,"t":"配置 Prometheus","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#配置-prometheus","p":983},{"i":993,"t":"配置 Alertmanager","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#配置-alertmanager","p":983},{"i":995,"t":"三、启动服务","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#三启动服务","p":983},{"i":996,"t":"编辑集群监控的 docker compose 配置文件","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#编辑集群监控的-docker-compose-配置文件","p":983},{"i":998,"t":"启动集群监控服务相关容器","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#启动集群监控服务相关�容器","p":983},{"i":1000,"t":"初始化 alert-db","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#初始化-alert-db","p":983},{"i":1002,"t":"重启集群监控服务","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#重启集群监控服务","p":983},{"i":1004,"t":"四、启动 exporter 服务","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#四启动-exporter-服务","p":983},{"i":1006,"t":"安装 golang","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#安装-golang","p":983},{"i":1008,"t":"编译安装 exporter","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#编译安装-exporter","p":983},{"i":1010,"t":"五、SCOW 配置开启集群监控功能","u":"/SCOW/docs/hpccluster/cluster-monitor","h":"#五scow-配置开启集群监控功能","p":983},{"i":1013,"t":"type Type","u":"/SCOW/docs/refs/config/app/definition-properties-type","h":"#type-type","p":1012},{"i":1016,"t":"1 Type","u":"/SCOW/docs/refs/config/app/definition-properties-type-anyof-1","h":"#1-type","p":1015},{"i":1018,"t":"1 Constraints","u":"/SCOW/docs/refs/config/app/definition-properties-type-anyof-1","h":"#1-constraints","p":1015},{"i":1021,"t":"xstartup Type","u":"/SCOW/docs/refs/config/app/definition-properties-vnc-properties-xstartup","h":"#xstartup-type","p":1020},{"i":1024,"t":"vnc Type","u":"/SCOW/docs/refs/config/app/definition-properties-vnc","h":"#vnc-type","p":1023},{"i":1026,"t":"vnc Properties","u":"/SCOW/docs/refs/config/app/definition-properties-vnc","h":"","p":1023},{"i":1028,"t":"xstartup","u":"/SCOW/docs/refs/config/app/definition-properties-vnc","h":"#xstartup","p":1023},{"i":1030,"t":"xstartup Type","u":"/SCOW/docs/refs/config/app/definition-properties-vnc","h":"#xstartup-type","p":1023},{"i":1033,"t":"web Type","u":"/SCOW/docs/refs/config/app/definition-properties-web","h":"#web-type","p":1032},{"i":1035,"t":"web Properties","u":"/SCOW/docs/refs/config/app/definition-properties-web","h":"","p":1032},{"i":1037,"t":"beforeScript","u":"/SCOW/docs/refs/config/app/definition-properties-web","h":"#beforescript","p":1032},{"i":1039,"t":"beforeScript Type","u":"/SCOW/docs/refs/config/app/definition-properties-web","h":"#beforescript-type","p":1032},{"i":1041,"t":"script","u":"/SCOW/docs/refs/config/app/definition-properties-web","h":"#script","p":1032},{"i":1043,"t":"script Type","u":"/SCOW/docs/refs/config/app/definition-properties-web","h":"#script-type","p":1032},{"i":1045,"t":"connect","u":"/SCOW/docs/refs/config/app/definition-properties-web","h":"#connect","p":1032},{"i":1047,"t":"connect Type","u":"/SCOW/docs/refs/config/app/definition-properties-web","h":"#connect-type","p":1032},{"i":1050,"t":"beforeScript Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-beforescript","h":"#beforescript-type","p":1049},{"i":1053,"t":"0 Type","u":"/SCOW/docs/refs/config/app/definition-properties-type-anyof-0","h":"#0-type","p":1052},{"i":1055,"t":"0 Constraints","u":"/SCOW/docs/refs/config/app/definition-properties-type-anyof-0","h":"#0-constraints","p":1052},{"i":1058,"t":"connect Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","h":"#connect-type","p":1057},{"i":1060,"t":"connect Properties","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","h":"","p":1057},{"i":1062,"t":"method","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","h":"#method","p":1057},{"i":1064,"t":"method Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","h":"#method-type","p":1057},{"i":1066,"t":"path","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","h":"#path","p":1057},{"i":1068,"t":"path Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","h":"#path-type","p":1057},{"i":1070,"t":"query","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","h":"#query","p":1057},{"i":1072,"t":"query Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","h":"#query-type","p":1057},{"i":1074,"t":"formData","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","h":"#formdata","p":1057},{"i":1076,"t":"formData Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","h":"#formdata-type","p":1057},{"i":1079,"t":"patternProperties Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","h":"#patternproperties-type","p":1078},{"i":1082,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","h":"#-type","p":1081},{"i":1085,"t":"method Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method","h":"#method-type","p":1084},{"i":1088,"t":"formData Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","h":"#formdata-type","p":1087},{"i":1090,"t":"formData Properties","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","h":"","p":1087},{"i":1092,"t":"Pattern: ^.*$","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","h":"#pattern-","p":1087},{"i":1094,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","h":"#-type","p":1087},{"i":1097,"t":"0 Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","h":"#0-type","p":1096},{"i":1099,"t":"0 Constraints","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","h":"#0-constraints","p":1096},{"i":1102,"t":"1 Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","h":"#1-type","p":1101},{"i":1104,"t":"1 Constraints","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","h":"#1-constraints","p":1101},{"i":1107,"t":"path Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-path","h":"#path-type","p":1106},{"i":1110,"t":"patternProperties Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","h":"#patternproperties-type","p":1109},{"i":1113,"t":"script Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-script","h":"#script-type","p":1112},{"i":1116,"t":"Top-level Schemas","u":"/SCOW/docs/refs/config/cluster","h":"#top-level-schemas","p":1115},{"i":1118,"t":"Other Schemas","u":"/SCOW/docs/refs/config/cluster","h":"#other-schemas","p":1115},{"i":1119,"t":"Objects","u":"/SCOW/docs/refs/config/cluster","h":"#objects","p":1115},{"i":1121,"t":"Arrays","u":"/SCOW/docs/refs/config/cluster","h":"#arrays","p":1115},{"i":1124,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","h":"#-type","p":1123},{"i":1127,"t":"query Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","h":"#query-type","p":1126},{"i":1129,"t":"query Properties","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","h":"","p":1126},{"i":1131,"t":"Pattern: ^.*$","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","h":"#pattern-","p":1126},{"i":1133,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","h":"#-type","p":1126},{"i":1136,"t":"Untitled object in undefined Type","u":"/SCOW/docs/refs/config/cluster/definition","h":"#untitled-object-in-undefined-type","p":1135},{"i":1138,"t":"Untitled object in undefined Properties","u":"/SCOW/docs/refs/config/cluster/definition","h":"","p":1135},{"i":1140,"t":"displayName","u":"/SCOW/docs/refs/config/cluster/definition","h":"#displayname","p":1135},{"i":1142,"t":"displayName Type","u":"/SCOW/docs/refs/config/cluster/definition","h":"#displayname-type","p":1135},{"i":1144,"t":"scheduler","u":"/SCOW/docs/refs/config/cluster/definition","h":"#scheduler","p":1135},{"i":1146,"t":"scheduler Type","u":"/SCOW/docs/refs/config/cluster/definition","h":"#scheduler-type","p":1135},{"i":1148,"t":"scheduler Default Value","u":"/SCOW/docs/refs/config/cluster/definition","h":"#scheduler-default-value","p":1135},{"i":1150,"t":"slurm","u":"/SCOW/docs/refs/config/cluster/definition","h":"#slurm","p":1135},{"i":1152,"t":"slurm Type","u":"/SCOW/docs/refs/config/cluster/definition","h":"#slurm-type","p":1135},{"i":1154,"t":"misIgnore","u":"/SCOW/docs/refs/config/cluster/definition","h":"#misignore","p":1135},{"i":1156,"t":"misIgnore Type","u":"/SCOW/docs/refs/config/cluster/definition","h":"#misignore-type","p":1135},{"i":1159,"t":"scheduler Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-scheduler","h":"#scheduler-type","p":1158},{"i":1161,"t":"scheduler Default Value","u":"/SCOW/docs/refs/config/cluster/definition-properties-scheduler","h":"#scheduler-default-value","p":1158},{"i":1164,"t":"displayName Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-displayname","h":"#displayname-type","p":1163},{"i":1167,"t":"misIgnore Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-misignore","h":"#misignore-type","p":1166},{"i":1170,"t":"0 Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","h":"#0-type","p":1169},{"i":1172,"t":"0 Constraints","u":"/SCOW/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","h":"#0-constraints","p":1169},{"i":1175,"t":"computeNodes Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","h":"#computenodes-type","p":1174},{"i":1177,"t":"computeNodes Default Value","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","h":"#computenodes-default-value","p":1174},{"i":1180,"t":"items Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items","h":"#items-type","p":1179},{"i":1183,"t":"loginNodes Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","h":"#loginnodes-type","p":1182},{"i":1185,"t":"loginNodes Default Value","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","h":"#loginnodes-default-value","p":1182},{"i":1188,"t":"slurm Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#slurm-type","p":1187},{"i":1190,"t":"slurm Properties","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"","p":1187},{"i":1192,"t":"loginNodes","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#loginnodes","p":1187},{"i":1194,"t":"loginNodes Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#loginnodes-type","p":1187},{"i":1196,"t":"loginNodes Default Value","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#loginnodes-default-value","p":1187},{"i":1198,"t":"computeNodes","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#computenodes","p":1187},{"i":1200,"t":"computeNodes Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#computenodes-type","p":1187},{"i":1202,"t":"computeNodes Default Value","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#computenodes-default-value","p":1187},{"i":1204,"t":"partitions","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#partitions","p":1187},{"i":1206,"t":"partitions Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#partitions-type","p":1187},{"i":1208,"t":"mis","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#mis","p":1187},{"i":1210,"t":"mis Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","h":"#mis-type","p":1187},{"i":1213,"t":"associationTableName Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","h":"#associationtablename-type","p":1212},{"i":1216,"t":"items Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","h":"#items-type","p":1215},{"i":1219,"t":"managerUrl Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","h":"#managerurl-type","p":1218},{"i":1222,"t":"mis Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#mis-type","p":1221},{"i":1224,"t":"mis Properties","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"","p":1221},{"i":1226,"t":"managerUrl","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#managerurl","p":1221},{"i":1228,"t":"managerUrl Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#managerurl-type","p":1221},{"i":1230,"t":"dbPassword","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#dbpassword","p":1221},{"i":1232,"t":"dbPassword Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#dbpassword-type","p":1221},{"i":1234,"t":"associationTableName","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#associationtablename","p":1221},{"i":1236,"t":"associationTableName Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#associationtablename-type","p":1221},{"i":1238,"t":"scriptPath","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#scriptpath","p":1221},{"i":1240,"t":"scriptPath Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","h":"#scriptpath-type","p":1221},{"i":1243,"t":"dbPassword Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","h":"#dbpassword-type","p":1242},{"i":1246,"t":"partitions Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","h":"#partitions-type","p":1245},{"i":1248,"t":"partitions Properties","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","h":"","p":1245},{"i":1250,"t":"Pattern: ^.*$","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","h":"#pattern-","p":1245},{"i":1252,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","h":"#-type","p":1245},{"i":1255,"t":"patternProperties Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","h":"#patternproperties-type","p":1254},{"i":1258,"t":"comment Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","h":"#comment-type","p":1257},{"i":1261,"t":"scriptPath Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","h":"#scriptpath-type","p":1260},{"i":1264,"t":"gpus Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","h":"#gpus-type","p":1263},{"i":1267,"t":"mem Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","h":"#mem-type","p":1266},{"i":1270,"t":"nodes Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","h":"#nodes-type","p":1269},{"i":1273,"t":"cores Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","h":"#cores-type","p":1272},{"i":1276,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#-type","p":1275},{"i":1278,"t":"^.*$ Properties","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"","p":1275},{"i":1280,"t":"mem","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#mem","p":1275},{"i":1282,"t":"mem Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#mem-type","p":1275},{"i":1284,"t":"cores","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#cores","p":1275},{"i":1286,"t":"cores Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#cores-type","p":1275},{"i":1288,"t":"gpus","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#gpus","p":1275},{"i":1290,"t":"gpus Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#gpus-type","p":1275},{"i":1292,"t":"nodes","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#nodes","p":1275},{"i":1294,"t":"nodes Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#nodes-type","p":1275},{"i":1296,"t":"qos","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#qos","p":1275},{"i":1298,"t":"qos Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#qos-type","p":1275},{"i":1300,"t":"comment","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#comment","p":1275},{"i":1302,"t":"comment Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","h":"#comment-type","p":1275},{"i":1305,"t":"qos Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","h":"#qos-type","p":1304},{"i":1308,"t":"items Type","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","h":"#items-type","p":1307},{"i":1311,"t":"Top-level Schemas","u":"/SCOW/docs/refs/config/clusterTexts","h":"#top-level-schemas","p":1310},{"i":1313,"t":"Other Schemas","u":"/SCOW/docs/refs/config/clusterTexts","h":"#other-schemas","p":1310},{"i":1314,"t":"Objects","u":"/SCOW/docs/refs/config/clusterTexts","h":"#objects","p":1310},{"i":1316,"t":"Arrays","u":"/SCOW/docs/refs/config/clusterTexts","h":"#arrays","p":1310},{"i":1319,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties-","h":"#-type","p":1318},{"i":1321,"t":"^.*$ Properties","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties-","h":"","p":1318},{"i":1323,"t":"clusterComment","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties-","h":"#clustercomment","p":1318},{"i":1325,"t":"clusterComment Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties-","h":"#clustercomment-type","p":1318},{"i":1327,"t":"extras","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties-","h":"#extras","p":1318},{"i":1329,"t":"extras Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties-","h":"#extras-type","p":1318},{"i":1332,"t":"Untitled object in undefined Type","u":"/SCOW/docs/refs/config/clusterTexts/definition","h":"#untitled-object-in-undefined-type","p":1331},{"i":1334,"t":"Untitled object in undefined Properties","u":"/SCOW/docs/refs/config/clusterTexts/definition","h":"","p":1331},{"i":1336,"t":"Pattern: ^.*$","u":"/SCOW/docs/refs/config/clusterTexts/definition","h":"#pattern-","p":1331},{"i":1338,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/clusterTexts/definition","h":"#-type","p":1331},{"i":1341,"t":"patternProperties Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties","h":"#patternproperties-type","p":1340},{"i":1344,"t":"clusterComment Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","h":"#clustercomment-type","p":1343},{"i":1347,"t":"extras Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras","h":"#extras-type","p":1346},{"i":1350,"t":"content Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","h":"#content-type","p":1349},{"i":1353,"t":"title Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","h":"#title-type","p":1352},{"i":1356,"t":"Top-level Schemas","u":"/SCOW/docs/refs/config/mis","h":"#top-level-schemas","p":1355},{"i":1358,"t":"Other Schemas","u":"/SCOW/docs/refs/config/mis","h":"#other-schemas","p":1355},{"i":1359,"t":"Objects","u":"/SCOW/docs/refs/config/mis","h":"#objects","p":1355},{"i":1361,"t":"Arrays","u":"/SCOW/docs/refs/config/mis","h":"#arrays","p":1355},{"i":1364,"t":"items Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"#items-type","p":1363},{"i":1366,"t":"items Properties","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"","p":1363},{"i":1368,"t":"title","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"#title","p":1363},{"i":1370,"t":"title Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"#title-type","p":1363},{"i":1372,"t":"content","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"#content","p":1363},{"i":1374,"t":"content Type","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","h":"#content-type","p":1363},{"i":1377,"t":"accountNamePattern Type","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern","h":"#accountnamepattern-type","p":1376},{"i":1379,"t":"accountNamePattern Properties","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern","h":"","p":1376},{"i":1381,"t":"regex","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern","h":"#regex","p":1376},{"i":1383,"t":"regex Type","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern","h":"#regex-type","p":1376},{"i":1385,"t":"errorMessage","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern","h":"#errormessage","p":1376},{"i":1387,"t":"errorMessage Type","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern","h":"#errormessage-type","p":1376},{"i":1390,"t":"authUrl Type","u":"/SCOW/docs/refs/config/mis/definition-properties-authurl","h":"#authurl-type","p":1389},{"i":1392,"t":"authUrl Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-authurl","h":"#authurl-default-value","p":1389},{"i":1395,"t":"errorMessage Type","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","h":"#errormessage-type","p":1394},{"i":1398,"t":"regex Type","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex","h":"#regex-type","p":1397},{"i":1401,"t":"changeJobPriceType Type","u":"/SCOW/docs/refs/config/mis/definition-properties-changejobpricetype","h":"#changejobpricetype-type","p":1400},{"i":1403,"t":"changeJobPriceType Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-changejobpricetype","h":"#changejobpricetype-default-value","p":1400},{"i":1406,"t":"db Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#db-type","p":1405},{"i":1408,"t":"db Properties","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"","p":1405},{"i":1410,"t":"host","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#host","p":1405},{"i":1412,"t":"host Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#host-type","p":1405},{"i":1414,"t":"port","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#port","p":1405},{"i":1416,"t":"port Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#port-type","p":1405},{"i":1418,"t":"user","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#user","p":1405},{"i":1420,"t":"user Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#user-type","p":1405},{"i":1422,"t":"password","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#password","p":1405},{"i":1424,"t":"password Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#password-type","p":1405},{"i":1426,"t":"dbName","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#dbname","p":1405},{"i":1428,"t":"dbName Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#dbname-type","p":1405},{"i":1430,"t":"debug","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#debug","p":1405},{"i":1432,"t":"debug Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db","h":"#debug-type","p":1405},{"i":1435,"t":"Untitled object in undefined Type","u":"/SCOW/docs/refs/config/mis/definition","h":"#untitled-object-in-undefined-type","p":1434},{"i":1437,"t":"Untitled object in undefined Properties","u":"/SCOW/docs/refs/config/mis/definition","h":"","p":1434},{"i":1439,"t":"db","u":"/SCOW/docs/refs/config/mis/definition","h":"#db","p":1434},{"i":1441,"t":"db Type","u":"/SCOW/docs/refs/config/mis/definition","h":"#db-type","p":1434},{"i":1443,"t":"authUrl","u":"/SCOW/docs/refs/config/mis/definition","h":"#authurl","p":1434},{"i":1445,"t":"authUrl Type","u":"/SCOW/docs/refs/config/mis/definition","h":"#authurl-type","p":1434},{"i":1447,"t":"authUrl Default Value","u":"/SCOW/docs/refs/config/mis/definition","h":"#authurl-default-value","p":1434},{"i":1449,"t":"portalUrl","u":"/SCOW/docs/refs/config/mis/definition","h":"#portalurl","p":1434},{"i":1451,"t":"portalUrl Type","u":"/SCOW/docs/refs/config/mis/definition","h":"#portalurl-type","p":1434},{"i":1453,"t":"predefinedChargingTypes","u":"/SCOW/docs/refs/config/mis/definition","h":"#predefinedchargingtypes","p":1434},{"i":1455,"t":"predefinedChargingTypes Type","u":"/SCOW/docs/refs/config/mis/definition","h":"#predefinedchargingtypes-type","p":1434},{"i":1457,"t":"predefinedChargingTypes Default Value","u":"/SCOW/docs/refs/config/mis/definition","h":"#predefinedchargingtypes-default-value","p":1434},{"i":1459,"t":"accountNamePattern","u":"/SCOW/docs/refs/config/mis/definition","h":"#accountnamepattern","p":1434},{"i":1461,"t":"accountNamePattern Type","u":"/SCOW/docs/refs/config/mis/definition","h":"#accountnamepattern-type","p":1434},{"i":1463,"t":"fetchJobs","u":"/SCOW/docs/refs/config/mis/definition","h":"#fetchjobs","p":1434},{"i":1465,"t":"fetchJobs Type","u":"/SCOW/docs/refs/config/mis/definition","h":"#fetchjobs-type","p":1434},{"i":1467,"t":"jobChargeType","u":"/SCOW/docs/refs/config/mis/definition","h":"#jobchargetype","p":1434},{"i":1469,"t":"jobChargeType Type","u":"/SCOW/docs/refs/config/mis/definition","h":"#jobchargetype-type","p":1434},{"i":1471,"t":"jobChargeType Default Value","u":"/SCOW/docs/refs/config/mis/definition","h":"#jobchargetype-default-value","p":1434},{"i":1473,"t":"changeJobPriceType","u":"/SCOW/docs/refs/config/mis/definition","h":"#changejobpricetype","p":1434},{"i":1475,"t":"changeJobPriceType Type","u":"/SCOW/docs/refs/config/mis/definition","h":"#changejobpricetype-type","p":1434},{"i":1477,"t":"changeJobPriceType Default Value","u":"/SCOW/docs/refs/config/mis/definition","h":"#changejobpricetype-default-value","p":1434},{"i":1479,"t":"jobChargeComment","u":"/SCOW/docs/refs/config/mis/definition","h":"#jobchargecomment","p":1434},{"i":1481,"t":"jobChargeComment Type","u":"/SCOW/docs/refs/config/mis/definition","h":"#jobchargecomment-type","p":1434},{"i":1483,"t":"jobChargeComment Default Value","u":"/SCOW/docs/refs/config/mis/definition","h":"#jobchargecomment-default-value","p":1434},{"i":1486,"t":"debug Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-debug","h":"#debug-type","p":1485},{"i":1489,"t":"port Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-port","h":"#port-type","p":1488},{"i":1492,"t":"host Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-host","h":"#host-type","p":1491},{"i":1495,"t":"dbName Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-dbname","h":"#dbname-type","p":1494},{"i":1498,"t":"user Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-user","h":"#user-type","p":1497},{"i":1501,"t":"password Type","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-password","h":"#password-type","p":1500},{"i":1504,"t":"fetchJobs Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#fetchjobs-type","p":1503},{"i":1506,"t":"fetchJobs Properties","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"","p":1503},{"i":1508,"t":"db","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#db","p":1503},{"i":1510,"t":"db Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#db-type","p":1503},{"i":1512,"t":"startIndex","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#startindex","p":1503},{"i":1514,"t":"startIndex Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#startindex-type","p":1503},{"i":1516,"t":"batchSize","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#batchsize","p":1503},{"i":1518,"t":"batchSize Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#batchsize-type","p":1503},{"i":1520,"t":"batchSize Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#batchsize-default-value","p":1503},{"i":1522,"t":"periodicFetch","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#periodicfetch","p":1503},{"i":1524,"t":"periodicFetch Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#periodicfetch-type","p":1503},{"i":1526,"t":"periodicFetch Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","h":"#periodicfetch-default-value","p":1503},{"i":1529,"t":"db Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#db-type","p":1528},{"i":1531,"t":"db Properties","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"","p":1528},{"i":1533,"t":"host","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#host","p":1528},{"i":1535,"t":"host Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#host-type","p":1528},{"i":1537,"t":"port","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#port","p":1528},{"i":1539,"t":"port Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#port-type","p":1528},{"i":1541,"t":"user","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#user","p":1528},{"i":1543,"t":"user Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#user-type","p":1528},{"i":1545,"t":"password","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#password","p":1528},{"i":1547,"t":"password Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#password-type","p":1528},{"i":1549,"t":"dbName","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#dbname","p":1528},{"i":1551,"t":"dbName Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#dbname-type","p":1528},{"i":1553,"t":"tableName","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#tablename","p":1528},{"i":1555,"t":"tableName Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","h":"#tablename-type","p":1528},{"i":1558,"t":"password Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","h":"#password-type","p":1557},{"i":1561,"t":"host Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","h":"#host-type","p":1560},{"i":1564,"t":"batchSize Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","h":"#batchsize-type","p":1563},{"i":1566,"t":"batchSize Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","h":"#batchsize-default-value","p":1563},{"i":1569,"t":"dbName Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","h":"#dbname-type","p":1568},{"i":1572,"t":"port Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","h":"#port-type","p":1571},{"i":1575,"t":"periodicFetch Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#periodicfetch-type","p":1574},{"i":1577,"t":"periodicFetch Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#periodicfetch-default-value","p":1574},{"i":1579,"t":"periodicFetch Properties","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"","p":1574},{"i":1581,"t":"enabled","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#enabled","p":1574},{"i":1583,"t":"enabled Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#enabled-type","p":1574},{"i":1585,"t":"enabled Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#enabled-default-value","p":1574},{"i":1587,"t":"cron","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#cron","p":1574},{"i":1589,"t":"cron Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#cron-type","p":1574},{"i":1591,"t":"cron Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","h":"#cron-default-value","p":1574},{"i":1594,"t":"tableName Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","h":"#tablename-type","p":1593},{"i":1597,"t":"default Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","h":"#default-type","p":1596},{"i":1600,"t":"cron Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","h":"#cron-type","p":1599},{"i":1602,"t":"cron Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","h":"#cron-default-value","p":1599},{"i":1605,"t":"enabled Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","h":"#enabled-type","p":1604},{"i":1607,"t":"enabled Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","h":"#enabled-default-value","p":1604},{"i":1610,"t":"user Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","h":"#user-type","p":1609},{"i":1613,"t":"startIndex Type","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex","h":"#startindex-type","p":1612},{"i":1616,"t":"jobChargeComment Type","u":"/SCOW/docs/refs/config/mis/definition-properties-jobchargecomment","h":"#jobchargecomment-type","p":1615},{"i":1618,"t":"jobChargeComment Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-jobchargecomment","h":"#jobchargecomment-default-value","p":1615},{"i":1621,"t":"predefinedChargingTypes Type","u":"/SCOW/docs/refs/config/mis/definition-properties-predefinedchargingtypes","h":"#predefinedchargingtypes-type","p":1620},{"i":1623,"t":"predefinedChargingTypes Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-predefinedchargingtypes","h":"#predefinedchargingtypes-default-value","p":1620},{"i":1626,"t":"items Type","u":"/SCOW/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items","h":"#items-type","p":1625},{"i":1629,"t":"portalUrl Type","u":"/SCOW/docs/refs/config/mis/definition-properties-portalurl","h":"#portalurl-type","p":1628},{"i":1632,"t":"Top-level Schemas","u":"/SCOW/docs/refs/config/portal","h":"#top-level-schemas","p":1631},{"i":1634,"t":"Other Schemas","u":"/SCOW/docs/refs/config/portal","h":"#other-schemas","p":1631},{"i":1635,"t":"Objects","u":"/SCOW/docs/refs/config/portal","h":"#objects","p":1631},{"i":1637,"t":"Arrays","u":"/SCOW/docs/refs/config/portal","h":"#arrays","p":1631},{"i":1640,"t":"jobChargeType Type","u":"/SCOW/docs/refs/config/mis/definition-properties-jobchargetype","h":"#jobchargetype-type","p":1639},{"i":1642,"t":"jobChargeType Default Value","u":"/SCOW/docs/refs/config/mis/definition-properties-jobchargetype","h":"#jobchargetype-default-value","p":1639},{"i":1645,"t":"Untitled object in undefined Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#untitled-object-in-undefined-type","p":1644},{"i":1647,"t":"Untitled object in undefined Properties","u":"/SCOW/docs/refs/config/portal/definition","h":"","p":1644},{"i":1649,"t":"jobManagement","u":"/SCOW/docs/refs/config/portal/definition","h":"#jobmanagement","p":1644},{"i":1651,"t":"jobManagement Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#jobmanagement-type","p":1644},{"i":1653,"t":"jobManagement Default Value","u":"/SCOW/docs/refs/config/portal/definition","h":"#jobmanagement-default-value","p":1644},{"i":1655,"t":"loginDesktop","u":"/SCOW/docs/refs/config/portal/definition","h":"#logindesktop","p":1644},{"i":1657,"t":"loginDesktop Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#logindesktop-type","p":1644},{"i":1659,"t":"apps","u":"/SCOW/docs/refs/config/portal/definition","h":"#apps","p":1644},{"i":1661,"t":"apps Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#apps-type","p":1644},{"i":1663,"t":"apps Default Value","u":"/SCOW/docs/refs/config/portal/definition","h":"#apps-default-value","p":1644},{"i":1665,"t":"homeText","u":"/SCOW/docs/refs/config/portal/definition","h":"#hometext","p":1644},{"i":1667,"t":"homeText Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#hometext-type","p":1644},{"i":1669,"t":"homeTitle","u":"/SCOW/docs/refs/config/portal/definition","h":"#hometitle","p":1644},{"i":1671,"t":"homeTitle Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#hometitle-type","p":1644},{"i":1673,"t":"misUrl","u":"/SCOW/docs/refs/config/portal/definition","h":"#misurl","p":1644},{"i":1675,"t":"misUrl Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#misurl-type","p":1644},{"i":1677,"t":"shell","u":"/SCOW/docs/refs/config/portal/definition","h":"#shell","p":1644},{"i":1679,"t":"shell Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#shell-type","p":1644},{"i":1681,"t":"shell Default Value","u":"/SCOW/docs/refs/config/portal/definition","h":"#shell-default-value","p":1644},{"i":1683,"t":"submitJobDefaultPwd","u":"/SCOW/docs/refs/config/portal/definition","h":"#submitjobdefaultpwd","p":1644},{"i":1685,"t":"submitJobDefaultPwd Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#submitjobdefaultpwd-type","p":1644},{"i":1687,"t":"submitJobDefaultPwd Default Value","u":"/SCOW/docs/refs/config/portal/definition","h":"#submitjobdefaultpwd-default-value","p":1644},{"i":1689,"t":"savedJobsDir","u":"/SCOW/docs/refs/config/portal/definition","h":"#savedjobsdir","p":1644},{"i":1691,"t":"savedJobsDir Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#savedjobsdir-type","p":1644},{"i":1693,"t":"savedJobsDir Default Value","u":"/SCOW/docs/refs/config/portal/definition","h":"#savedjobsdir-default-value","p":1644},{"i":1695,"t":"appJobsDir","u":"/SCOW/docs/refs/config/portal/definition","h":"#appjobsdir","p":1644},{"i":1697,"t":"appJobsDir Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#appjobsdir-type","p":1644},{"i":1699,"t":"appJobsDir Default Value","u":"/SCOW/docs/refs/config/portal/definition","h":"#appjobsdir-default-value","p":1644},{"i":1701,"t":"turboVNCPath","u":"/SCOW/docs/refs/config/portal/definition","h":"#turbovncpath","p":1644},{"i":1703,"t":"turboVNCPath Type","u":"/SCOW/docs/refs/config/portal/definition","h":"#turbovncpath-type","p":1644},{"i":1705,"t":"turboVNCPath Default Value","u":"/SCOW/docs/refs/config/portal/definition","h":"#turbovncpath-default-value","p":1644},{"i":1708,"t":"homeText Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext","h":"#hometext-type","p":1707},{"i":1710,"t":"homeText Properties","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext","h":"","p":1707},{"i":1712,"t":"defaultText","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext","h":"#defaulttext","p":1707},{"i":1714,"t":"defaultText Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext","h":"#defaulttext-type","p":1707},{"i":1716,"t":"defaultText Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext","h":"#defaulttext-default-value","p":1707},{"i":1718,"t":"hostnameMap","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext","h":"#hostnamemap","p":1707},{"i":1720,"t":"hostnameMap Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext","h":"#hostnamemap-type","p":1707},{"i":1722,"t":"hostnameMap Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext","h":"#hostnamemap-default-value","p":1707},{"i":1725,"t":"defaultText Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","h":"#defaulttext-type","p":1724},{"i":1727,"t":"defaultText Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","h":"#defaulttext-default-value","p":1724},{"i":1730,"t":"apps Type","u":"/SCOW/docs/refs/config/portal/definition-properties-apps","h":"#apps-type","p":1729},{"i":1732,"t":"apps Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-apps","h":"#apps-default-value","p":1729},{"i":1735,"t":"hostnameMap Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","h":"#hostnamemap-type","p":1734},{"i":1737,"t":"hostnameMap Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","h":"#hostnamemap-default-value","p":1734},{"i":1739,"t":"hostnameMap Properties","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","h":"","p":1734},{"i":1741,"t":"Pattern: ^.*$","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","h":"#pattern-","p":1734},{"i":1743,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","h":"#-type","p":1734},{"i":1746,"t":"appJobsDir Type","u":"/SCOW/docs/refs/config/portal/definition-properties-appjobsdir","h":"#appjobsdir-type","p":1745},{"i":1748,"t":"appJobsDir Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-appjobsdir","h":"#appjobsdir-default-value","p":1745},{"i":1751,"t":"default Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","h":"#default-type","p":1750},{"i":1754,"t":"patternProperties Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","h":"#patternproperties-type","p":1753},{"i":1757,"t":"defaultText Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","h":"#defaulttext-type","p":1756},{"i":1759,"t":"defaultText Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","h":"#defaulttext-default-value","p":1756},{"i":1762,"t":"homeTitle Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle","h":"#hometitle-type","p":1761},{"i":1764,"t":"homeTitle Properties","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle","h":"","p":1761},{"i":1766,"t":"defaultText","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle","h":"#defaulttext","p":1761},{"i":1768,"t":"defaultText Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle","h":"#defaulttext-type","p":1761},{"i":1770,"t":"defaultText Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle","h":"#defaulttext-default-value","p":1761},{"i":1772,"t":"hostnameMap","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle","h":"#hostnamemap","p":1761},{"i":1774,"t":"hostnameMap Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle","h":"#hostnamemap-type","p":1761},{"i":1776,"t":"hostnameMap Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle","h":"#hostnamemap-default-value","p":1761},{"i":1779,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","h":"#-type","p":1778},{"i":1782,"t":"default Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","h":"#default-type","p":1781},{"i":1785,"t":"patternProperties Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","h":"#patternproperties-type","p":1784},{"i":1788,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","h":"#-type","p":1787},{"i":1791,"t":"hostnameMap Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","h":"#hostnamemap-type","p":1790},{"i":1793,"t":"hostnameMap Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","h":"#hostnamemap-default-value","p":1790},{"i":1795,"t":"hostnameMap Properties","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","h":"","p":1790},{"i":1797,"t":"Pattern: ^.*$","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","h":"#pattern-","p":1790},{"i":1799,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","h":"#-type","p":1790},{"i":1802,"t":"enabled Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","h":"#enabled-type","p":1801},{"i":1804,"t":"enabled Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","h":"#enabled-default-value","p":1801},{"i":1807,"t":"jobManagement Type","u":"/SCOW/docs/refs/config/portal/definition-properties-jobmanagement","h":"#jobmanagement-type","p":1806},{"i":1809,"t":"jobManagement Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-jobmanagement","h":"#jobmanagement-default-value","p":1806},{"i":1812,"t":"loginDesktop Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"#logindesktop-type","p":1811},{"i":1814,"t":"loginDesktop Properties","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"","p":1811},{"i":1816,"t":"enabled","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"#enabled","p":1811},{"i":1818,"t":"enabled Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"#enabled-type","p":1811},{"i":1820,"t":"enabled Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"#enabled-default-value","p":1811},{"i":1822,"t":"wms","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"#wms","p":1811},{"i":1824,"t":"wms Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"#wms-type","p":1811},{"i":1826,"t":"wms Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"#wms-default-value","p":1811},{"i":1828,"t":"maxDesktops","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"#maxdesktops","p":1811},{"i":1830,"t":"maxDesktops Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"#maxdesktops-type","p":1811},{"i":1832,"t":"maxDesktops Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","h":"#maxdesktops-default-value","p":1811},{"i":1835,"t":"0 Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","h":"#0-type","p":1834},{"i":1838,"t":"maxDesktops Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","h":"#maxdesktops-type","p":1837},{"i":1840,"t":"maxDesktops Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","h":"#maxdesktops-default-value","p":1837},{"i":1843,"t":"wms Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","h":"#wms-type","p":1842},{"i":1845,"t":"wms Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","h":"#wms-default-value","p":1842},{"i":1848,"t":"items Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"#items-type","p":1847},{"i":1850,"t":"items Properties","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"","p":1847},{"i":1852,"t":"name","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"#name","p":1847},{"i":1854,"t":"name Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"#name-type","p":1847},{"i":1856,"t":"wm","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"#wm","p":1847},{"i":1858,"t":"wm Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","h":"#wm-type","p":1847},{"i":1861,"t":"savedJobsDir Type","u":"/SCOW/docs/refs/config/portal/definition-properties-savedjobsdir","h":"#savedjobsdir-type","p":1860},{"i":1863,"t":"savedJobsDir Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-savedjobsdir","h":"#savedjobsdir-default-value","p":1860},{"i":1866,"t":"misUrl Type","u":"/SCOW/docs/refs/config/portal/definition-properties-misurl","h":"#misurl-type","p":1865},{"i":1869,"t":"shell Type","u":"/SCOW/docs/refs/config/portal/definition-properties-shell","h":"#shell-type","p":1868},{"i":1871,"t":"shell Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-shell","h":"#shell-default-value","p":1868},{"i":1874,"t":"wm Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","h":"#wm-type","p":1873},{"i":1877,"t":"name Type","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","h":"#name-type","p":1876},{"i":1880,"t":"submitJobDefaultPwd Type","u":"/SCOW/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","h":"#submitjobdefaultpwd-type","p":1879},{"i":1882,"t":"submitJobDefaultPwd Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","h":"#submitjobdefaultpwd-default-value","p":1879},{"i":1885,"t":"turboVNCPath Type","u":"/SCOW/docs/refs/config/portal/definition-properties-turbovncpath","h":"#turbovncpath-type","p":1884},{"i":1887,"t":"turboVNCPath Default Value","u":"/SCOW/docs/refs/config/portal/definition-properties-turbovncpath","h":"#turbovncpath-default-value","p":1884},{"i":1890,"t":"Top-level Schemas","u":"/SCOW/docs/refs/config/ui","h":"#top-level-schemas","p":1889},{"i":1892,"t":"Other Schemas","u":"/SCOW/docs/refs/config/ui","h":"#other-schemas","p":1889},{"i":1893,"t":"Objects","u":"/SCOW/docs/refs/config/ui","h":"#objects","p":1889},{"i":1895,"t":"Arrays","u":"/SCOW/docs/refs/config/ui","h":"#arrays","p":1889},{"i":1897,"t":"footer Type","u":"/SCOW/docs/refs/config/ui/definition-properties-footer","h":"#footer-type","p":1896},{"i":1899,"t":"footer Properties","u":"/SCOW/docs/refs/config/ui/definition-properties-footer","h":"","p":1896},{"i":1901,"t":"defaultText","u":"/SCOW/docs/refs/config/ui/definition-properties-footer","h":"#defaulttext","p":1896},{"i":1903,"t":"defaultText Type","u":"/SCOW/docs/refs/config/ui/definition-properties-footer","h":"#defaulttext-type","p":1896},{"i":1905,"t":"hostnameMap","u":"/SCOW/docs/refs/config/ui/definition-properties-footer","h":"#hostnamemap","p":1896},{"i":1907,"t":"hostnameMap Type","u":"/SCOW/docs/refs/config/ui/definition-properties-footer","h":"#hostnamemap-type","p":1896},{"i":1910,"t":"defaultText Type","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-defaulttext","h":"#defaulttext-type","p":1909},{"i":1913,"t":"patternProperties Type","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","h":"#patternproperties-type","p":1912},{"i":1916,"t":"Untitled object in undefined Type","u":"/SCOW/docs/refs/config/ui/definition","h":"#untitled-object-in-undefined-type","p":1915},{"i":1918,"t":"Untitled object in undefined Properties","u":"/SCOW/docs/refs/config/ui/definition","h":"","p":1915},{"i":1920,"t":"footer","u":"/SCOW/docs/refs/config/ui/definition","h":"#footer","p":1915},{"i":1922,"t":"footer Type","u":"/SCOW/docs/refs/config/ui/definition","h":"#footer-type","p":1915},{"i":1924,"t":"primaryColor","u":"/SCOW/docs/refs/config/ui/definition","h":"#primarycolor","p":1915},{"i":1926,"t":"primaryColor Type","u":"/SCOW/docs/refs/config/ui/definition","h":"#primarycolor-type","p":1915},{"i":1929,"t":"hostnameMap Type","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","h":"#hostnamemap-type","p":1928},{"i":1931,"t":"hostnameMap Properties","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","h":"","p":1928},{"i":1933,"t":"Pattern: ^.*$","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","h":"#pattern-","p":1928},{"i":1935,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","h":"#-type","p":1928},{"i":1938,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","h":"#-type","p":1937},{"i":1941,"t":"primaryColor Type","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor","h":"#primarycolor-type","p":1940},{"i":1943,"t":"primaryColor Properties","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor","h":"","p":1940},{"i":1945,"t":"defaultColor","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor","h":"#defaultcolor","p":1940},{"i":1947,"t":"defaultColor Type","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor","h":"#defaultcolor-type","p":1940},{"i":1949,"t":"defaultColor Default Value","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor","h":"#defaultcolor-default-value","p":1940},{"i":1951,"t":"hostnameMap","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor","h":"#hostnamemap","p":1940},{"i":1953,"t":"hostnameMap Type","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor","h":"#hostnamemap-type","p":1940},{"i":1956,"t":"hostnameMap Type","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","h":"#hostnamemap-type","p":1955},{"i":1958,"t":"hostnameMap Properties","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","h":"","p":1955},{"i":1960,"t":"Pattern: ^.*$","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","h":"#pattern-","p":1955},{"i":1962,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","h":"#-type","p":1955},{"i":1965,"t":"defaultColor Type","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","h":"#defaultcolor-type","p":1964},{"i":1967,"t":"defaultColor Default Value","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","h":"#defaultcolor-default-value","p":1964},{"i":1970,"t":"^.*$ Type","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","h":"#-type","p":1969},{"i":1973,"t":"环境变量配置","u":"/SCOW/docs/refs/env/gateway","h":"#环境变量配置","p":1972},{"i":1976,"t":"环境变量配置","u":"/SCOW/docs/refs/env/auth","h":"#环境变量配置","p":1975},{"i":1979,"t":"环境变量配置","u":"/SCOW/docs/refs/env/mis-server","h":"#环境变量配置","p":1978},{"i":1982,"t":"环境变量配置","u":"/SCOW/docs/refs/env/mis-web","h":"#环境变量配置","p":1981},{"i":1985,"t":"patternProperties Type","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","h":"#patternproperties-type","p":1984},{"i":1988,"t":"环境变量配置","u":"/SCOW/docs/refs/env/portal-web","h":"#环境变量配置","p":1987},{"i":1991,"t":"1. 安装Munge","u":"/SCOW/docs/slurm","h":"#1-安装munge","p":1990},{"i":1992,"t":"1.1 创建Munge用户","u":"/SCOW/docs/slurm","h":"#11-创建munge用户","p":1990},{"i":1994,"t":"1.2 生成熵池","u":"/SCOW/docs/slurm","h":"#12-生成熵池","p":1990},{"i":1996,"t":"1.3 部署Munge","u":"/SCOW/docs/slurm","h":"#13-部署munge","p":1990},{"i":1998,"t":"1.4 测试Munge服务","u":"/SCOW/docs/slurm","h":"#14-测试munge服务","p":1990},{"i":2000,"t":"2. 安装slurm","u":"/SCOW/docs/slurm","h":"#2-安装slurm","p":1990},{"i":2001,"t":"2.1 安装mariadb","u":"/SCOW/docs/slurm","h":"#21-安装mariadb","p":1990},{"i":2003,"t":"2.2 创建slurm用户","u":"/SCOW/docs/slurm","h":"#22-创建slurm用户","p":1990},{"i":2005,"t":"2.3 安装slurm依赖","u":"/SCOW/docs/slurm","h":"#23-安装slurm依赖","p":1990},{"i":2007,"t":"2.4 制作rpm包","u":"/SCOW/docs/slurm","h":"#24-制作rpm包","p":1990},{"i":2009,"t":"2.5 安装与配置","u":"/SCOW/docs/slurm","h":"#25-安装与配置","p":1990},{"i":2011,"t":"3. 初始化账户和用户(可选)","u":"/SCOW/docs/slurm","h":"#3-初始化账户和用户可选","p":1990}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/8",[0,4.734,1,4.095,2,4.258,3,3.844]],["t/10",[1,3.623,2,3.767,3,3.401,4,4.555,5,3.767]],["t/12",[6,4.895,7,5.919,8,5.443]],["t/14",[1,3.623,2,3.767,3,3.401,9,2.047,10,3.231]],["t/16",[11,2.457,12,3.497,13,3.028,14,2.851]],["t/18",[15,2.15,16,3.702,17,2.568,18,3.702,19,2.764,20,2.945,21,3.702]],["t/24",[11,2.173,22,3.094,23,4.189,24,3.094,25,3.034]],["t/26",[12,3.497,15,2.99,26,3.742,27,4.734]],["t/28",[3,4.419,10,4.199,28,3.871]],["t/30",[12,3.497,14,2.851,29,3.96,30,3.204]],["t/32",[31,4.084,32,3.378,33,2.969,34,3.378,35,3.756,36,3.249]],["t/34",[22,2.774,36,3.249,37,4.084,38,3.378,39,3.539,40,4.084]],["t/36",[41,5.919,42,5.443,43,3.354]],["t/40",[9,2.314,13,3.028,43,2.918,44,5.148]],["t/42",[11,2.824,14,3.278,45,5.919]],["t/44",[8,6.402,15,4.043]],["t/47",[9,2.66,46,5.919,47,3.943]],["t/49",[11,2.824,43,3.354,47,3.943]],["t/55",[48,6.962,49,6.962]],["t/57",[50,6.962,51,5.537]],["t/58",[52,4.708,53,5.919,54,4.302]],["t/60",[55,5.443,56,5.443,57,5.443]],["t/62",[51,5.537,58,6.402]],["t/64",[51,4.708,54,4.302,59,5.129]],["t/66",[54,4.302,56,5.443,57,5.443]],["t/68",[51,5.537,58,6.402]],["t/70",[60,5.443,61,4.895,62,4.895]],["t/72",[63,5.129,64,5.919,65,5.919]],["t/74",[66,4.084,67,4.084,68,3.378,69,4.084,70,3.756,71,4.084]],["t/76",[72,8.45]],["t/85",[73,4.333,74,4.553]],["t/87",[75,5.037]],["t/89",[9,2.66,73,3.684,76,5.129]],["t/91",[14,4.68]],["t/94",[75,5.037]],["t/96",[77,2.637,78,4.095]],["t/98",[77,2.637,79,4.938]],["t/99",[80,7.77]],["t/101",[81,7.77]],["t/103",[82,6.308]],["t/105",[83,6.721]],["t/108",[73,4.333,74,4.553]],["t/110",[75,5.037]],["t/112",[14,4.68]],["t/114",[84,6.988]],["t/117",[75,5.037]],["t/119",[77,2.637,78,4.095]],["t/121",[77,2.637,79,4.938]],["t/122",[85,7.77]],["t/124",[81,7.77]],["t/126",[80,7.77]],["t/128",[86,8.45]],["t/130",[82,4.419,87,5.919,88,4.708]],["t/132",[89,6.988]],["t/138",[25,4.637,76,6.033]],["t/140",[6,3.767,90,4.189,91,2.979,92,3.767,93,4.189]],["t/141",[9,2.314,94,5.148,95,5.148,96,3.309]],["t/143",[11,1.766,24,2.515,91,2.421,92,3.062,93,3.404,97,2.764,98,3.702]],["t/145",[99,7.322]],["t/149",[12,4.021,14,3.278,100,2.919]],["t/151",[43,2.918,77,1.95,101,4.095,102,4.461]],["t/153",[43,3.945,103,5.197]],["t/157",[104,5.443,105,4.302,106,4.552]],["t/159",[91,3.871,105,4.302,107,5.443]],["t/162",[77,2.637,108,6.033]],["t/164",[109,5.919,110,5.919,111,5.919]],["t/166",[25,4.637,112,6.962]],["t/168",[113,6.402,114,3.813]],["t/170",[25,4.637,115,6.033]],["t/172",[115,4.418,116,2.867,117,2.867,118,3.118,119,3.616,120,2.212,121,0.648]],["t/174",[70,3.113,115,4.722,117,3.113,121,0.704,122,2.933,123,3.385,124,3.385]],["t/178",[43,2.918,77,1.95,105,3.742,125,5.148]],["t/182",[77,2.242,126,5.919,127,5.919]],["t/184",[52,5.537,128,6.962]],["t/185",[30,4.333,129,6.402]],["t/187",[1,4.708,43,3.354,129,5.443]],["t/189",[130,8.45]],["t/191",[43,2.918,131,5.148,132,3.742,133,5.148]],["t/193",[119,5.994]],["t/195",[14,4.68]],["t/196",[14,3.856,30,4.333]],["t/198",[12,4.021,14,3.278,100,2.919]],["t/200",[43,2.918,77,1.95,101,4.095,134,5.148]],["t/202",[43,3.945,103,5.197]],["t/206",[77,2.637,101,5.537]],["t/208",[25,4.637,135,6.962]],["t/209",[136,5.148,137,4.734,138,4.734,139,5.148]],["t/211",[140,6.962,141,6.962]],["t/215",[99,7.322]],["t/218",[0,4.734,142,5.148,143,5.148,144,4.258]],["t/220",[77,3.201]],["t/226",[77,2.637,78,4.095]],["t/228",[77,1.547,145,3.378,146,4.084,147,3.539,148,4.084,149,3.539]],["t/232",[105,3.742,119,3.652,150,4.734,151,4.734]],["t/234",[17,3.571,30,3.204,38,4.258,119,3.652]],["t/236",[38,6.988]],["t/238",[114,3.813,152,4.828]],["t/240",[43,2.918,77,1.95,105,3.742,119,3.652]],["t/242",[77,1.95,119,3.652,153,4.734,154,5.148]],["t/244",[119,4.938,155,5.06]],["t/248",[77,2.637,78,4.095]],["t/250",[62,5.757,77,2.637]],["t/252",[77,2.242,156,5.919,157,5.919]],["t/254",[158,6.962,159,6.962]],["t/258",[77,1.95,106,3.96,120,3.652,160,4.461]],["t/260",[77,2.242,120,4.199,161,5.129]],["t/262",[77,2.637,78,4.095]],["t/263",[77,1.402,78,2.178,91,2.421,106,2.847,160,3.208,162,2.945,163,3.208]],["t/265",[77,1.547,78,2.403,91,2.671,161,3.539,162,3.249,163,3.539]],["t/267",[77,2.637,79,4.938]],["t/269",[35,4.734,62,4.258,77,1.95,91,3.367]],["t/271",[62,4.895,77,2.242,164,5.919]],["t/275",[34,3.062,77,1.402,91,2.421,132,2.691,165,3.702,166,3.208,167,3.702]],["t/277",[26,3.311,27,4.189,34,3.767,36,3.623,77,1.725]],["t/279",[17,2.163,107,2.867,149,2.702,152,2.163,168,5.098,169,2.702,170,3.118,171,3.118]],["t/283",[77,3.201]],["t/285",[77,2.637,78,4.095]],["t/287",[77,2.637,79,4.938]],["t/295",[91,4.553,172,6.962]],["t/297",[91,3.367,162,4.095,173,4.734,174,4.734]],["t/299",[91,2.979,147,3.947,175,4.555,176,4.555,177,3.623]],["t/301",[178,6.962,179,6.402]],["t/304",[180,6.988]],["t/306",[77,2.242,179,5.443,181,5.919]],["t/308",[13,3.482,182,5.919,183,5.919]],["t/312",[77,2.637,78,4.095]],["t/314",[77,2.242,78,3.482,184,5.919]],["t/318",[39,4.461,104,4.734,114,2.82,152,3.571]],["t/320",[152,4.105,185,5.919,186,5.919]],["t/322",[13,2.403,25,2.721,114,2.237,120,2.897,152,2.833,187,4.084]],["t/326",[20,4.095,114,2.82,188,4.734,189,4.734]],["t/328",[97,2.527,106,2.603,114,2.985,190,2.214,191,3.113,192,3.113,193,3.113]],["t/330",[22,3.497,114,2.82,192,4.734,193,4.734]],["t/332",[19,4.419,194,5.129,195,5.443]],["t/334",[196,6.962,197,5.537]],["t/338",[19,3.844,20,4.095,161,4.461,198,5.148]],["t/340",[12,4.021,14,3.278,100,2.919]],["t/342",[1,4.095,2,4.258,3,3.844,10,3.652]],["t/344",[14,3.278,30,3.684,199,5.129]],["t/346",[43,2.918,77,1.95,101,4.095,102,4.461]],["t/348",[43,3.945,103,5.197]],["t/350",[106,5.354,197,5.537]],["t/353",[3,3.049,10,2.897,47,2.721,200,4.084,201,4.384]],["t/355",[12,4.021,30,3.684,77,2.242]],["t/357",[20,4.095,114,2.82,188,4.734,189,4.734]],["t/359",[13,2.679,20,3.623,114,2.495,201,3.159,202,4.189]],["t/362",[203,6.962,204,4.938]],["t/364",[9,2.66,205,5.919,206,5.919]],["t/366",[11,3.322,207,6.402]],["t/368",[24,4.729,208,6.962]],["t/370",[77,2.637,209,6.962]],["t/373",[73,4.333,74,4.553]],["t/375",[75,5.037]],["t/377",[9,2.66,100,2.919,210,4.708]],["t/379",[11,2.457,61,4.258,155,3.742,211,5.148]],["t/381",[14,4.68]],["t/386",[73,4.333,74,4.553]],["t/388",[75,5.037]],["t/390",[9,2.66,100,2.919,210,4.708]],["t/392",[11,2.824,100,2.919,212,5.919]],["t/394",[14,4.68]],["t/397",[73,4.333,74,4.553]],["t/399",[75,5.037]],["t/401",[9,2.66,100,2.919,210,4.708]],["t/403",[15,3.437,100,2.919,213,5.919]],["t/405",[14,4.68]],["t/407",[214,8.45]],["t/408",[215,2.236,216,2.236,217,2.056,218,2.236,219,3.855,220,2.056,221,1.625,222,2.236,223,2.236,224,2.236,225,2.236,226,2.236,227,2.236]],["t/411",[73,4.333,74,4.553]],["t/413",[75,5.037]],["t/415",[14,4.68]],["t/417",[228,6.402,229,6.402]],["t/418",[9,2.66,100,2.919,230,5.919]],["t/420",[11,2.457,22,3.497,132,3.742,231,4.461]],["t/423",[73,4.333,74,4.553]],["t/425",[75,5.037]],["t/427",[9,2.66,73,3.684,76,5.129]],["t/429",[14,4.68]],["t/432",[73,4.333,74,4.553]],["t/434",[75,5.037]],["t/436",[9,2.66,100,2.919,210,4.708]],["t/438",[11,2.824,100,2.919,232,5.919]],["t/440",[14,4.68]],["t/443",[73,4.333,74,4.553]],["t/445",[75,5.037]],["t/447",[9,2.66,100,2.919,210,4.708]],["t/449",[11,2.824,100,2.919,233,5.919]],["t/451",[22,3.497,28,3.367,132,3.742,231,4.461]],["t/453",[14,4.68]],["t/456",[73,4.333,74,4.553]],["t/458",[75,5.037]],["t/460",[14,4.68]],["t/463",[73,4.333,74,4.553]],["t/465",[75,5.037]],["t/467",[14,4.68]],["t/470",[73,4.333,74,4.553]],["t/472",[75,5.037]],["t/474",[9,2.314,100,2.539,234,5.148,235,3.742]],["t/476",[11,2.457,22,3.497,132,3.742,231,4.461]],["t/478",[14,4.68]],["t/480",[84,6.988]],["t/481",[100,2.919,236,5.919,237,4.708]],["t/485",[77,2.637,78,4.095]],["t/487",[77,2.637,79,4.938]],["t/491",[77,2.637,78,4.095]],["t/493",[77,2.637,79,4.938]],["t/497",[30,3.204,33,3.742,238,5.148,239,5.148]],["t/499",[30,3.684,33,4.302,240,5.443]],["t/501",[77,2.637,78,4.095]],["t/504",[75,5.037]],["t/506",[77,2.637,78,4.095]],["t/508",[77,2.637,79,4.938]],["t/509",[82,6.308]],["t/511",[83,6.721]],["t/513",[89,6.988]],["t/517",[77,2.637,78,4.095]],["t/518",[33,2.691,77,1.402,78,2.178,241,2.945,242,3.404,243,2.945,244,2.945]],["t/520",[33,2.691,77,1.402,78,2.178,242,3.404,243,2.945,244,2.945,245,2.945]],["t/522",[77,2.637,79,4.938]],["t/524",[77,1.547,147,3.539,243,3.249,244,3.249,246,3.539,247,3.756]],["t/526",[77,1.547,243,3.249,244,3.249,246,3.539,247,3.756,248,4.084]],["t/528",[77,1.547,243,3.249,244,3.249,246,3.539,249,4.084,250,4.084]],["t/530",[68,4.258,77,1.95,251,5.148,252,4.461]],["t/534",[5,5.757,253,6.962]],["t/537",[75,5.037]],["t/539",[145,5.757,220,6.402]],["t/542",[75,5.037]],["t/544",[77,2.637,78,4.095]],["t/546",[77,2.637,79,4.938]],["t/547",[85,7.77]],["t/549",[82,5.197,88,5.537]],["t/551",[254,6.721]],["t/553",[89,6.988]],["t/557",[91,3.871,174,5.443,255,5.919]],["t/561",[12,4.021,14,3.278,100,2.919]],["t/563",[43,2.918,77,1.95,101,4.095,160,4.461]],["t/565",[77,2.242,256,5.443,257,5.129]],["t/567",[43,3.945,103,5.197]],["t/571",[77,2.637,258,6.962]],["t/573",[77,2.637,259,6.962]],["t/575",[77,2.637,150,6.402]],["t/579",[260,6.962,261,5.197]],["t/581",[261,5.197,262,6.962]],["t/583",[261,5.197,263,6.962]],["t/585",[261,5.197,264,6.962]],["t/587",[99,7.322]],["t/590",[9,1.836,22,2.774,30,2.542,47,2.721,265,3.539,266,3.539]],["t/591",[267,6.962,268,6.962]],["t/593",[77,3.201]],["t/595",[11,1.285,13,1.584,47,3.008,114,1.475,265,2.334,266,2.334,269,2.693,270,2.693,271,2.693,272,2.693]],["t/597",[13,1.834,15,1.811,47,2.077,73,1.941,100,1.538,265,2.702,266,4.418,273,2.867]],["t/599",[13,2.178,24,2.515,28,2.421,36,2.945,91,2.421,273,3.404,274,3.702]],["t/602",[6,3.062,9,1.664,12,2.515,47,2.466,275,3.702,276,3.702,277,3.702]],["t/604",[6,3.767,11,2.173,47,3.034,90,4.189,278,4.555]],["t/607",[9,1.836,89,3.378,279,4.084,280,1.762,281,4.084,282,4.084]],["t/611",[9,2.314,10,3.652,30,3.204,283,4.734]],["t/613",[11,2.824,30,3.684,197,4.708]],["t/615",[13,2.679,15,2.645,92,3.767,284,4.555,285,4.555]],["t/617",[28,2.979,30,2.835,261,3.401,283,4.189,286,4.555]],["t/619",[29,3.96,256,4.734,257,4.461,287,4.734]],["t/622",[9,1.836,47,2.721,155,2.969,288,4.084,289,4.084,290,3.378]],["t/624",[11,2.173,47,3.034,155,3.311,201,3.159,290,3.767]],["t/626",[13,2.679,15,2.645,47,3.034,155,3.311,290,3.767]],["t/630",[9,2.66,100,2.919,291,5.919]],["t/632",[11,2.824,100,2.919,292,5.443]],["t/634",[15,3.437,292,5.443,293,5.919]],["t/637",[73,4.333,74,4.553]],["t/639",[75,5.037]],["t/641",[9,2.291,28,2.039,100,1.538,235,2.266,294,2.328,295,2.48,296,2.867,297,2.48]],["t/643",[9,1.401,11,1.488,28,2.039,100,1.538,235,2.266,294,2.328,295,2.48,297,2.48,298,2.702]],["t/645",[11,1.949,15,2.372,61,3.378,155,2.969,235,2.969,294,3.049]],["t/647",[14,4.68]],["t/649",[9,2.449,28,2.214,235,2.46,294,2.527,295,2.692,296,3.113,297,2.692]],["t/651",[9,1.21,11,1.285,28,1.761,100,1.328,235,1.958,294,2.011,295,2.142,297,2.142,298,2.334,299,2.693,300,2.334]],["t/653",[9,1.133,15,1.464,28,1.649,54,1.833,100,1.243,235,1.833,294,1.882,295,2.005,297,2.005,298,2.185,300,2.185,301,2.521]],["t/655",[228,6.402,229,6.402]],["t/656",[9,2.66,100,2.919,302,5.919]],["t/658",[11,2.824,100,2.919,300,5.129]],["t/660",[15,2.645,61,3.767,155,3.311,235,3.311,294,3.401]],["t/664",[75,5.037]],["t/666",[10,4.199,122,5.129,151,5.443]],["t/667",[9,2.047,10,3.231,13,2.679,47,3.034,52,3.623]],["t/669",[3,3.844,10,3.652,11,2.457,303,4.461]],["t/671",[13,3.028,15,2.99,77,1.95,100,2.539]],["t/679",[13,4.095,304,6.402]],["t/681",[145,3.767,155,3.311,257,3.947,303,3.947,305,4.555]],["t/685",[77,3.201]],["t/687",[17,5.86]],["t/689",[13,3.482,306,5.919,307,5.919]],["t/691",[261,4.419,308,5.919,309,5.919]],["t/693",[13,3.482,199,5.129,304,5.443]],["t/695",[207,7.77]],["t/697",[24,4.021,310,5.919,311,5.919]],["t/701",[9,2.047,22,3.094,114,2.495,119,3.231,312,4.555]],["t/703",[11,2.173,22,3.094,114,2.495,119,3.231,261,3.401]],["t/706",[9,2.047,97,3.401,106,3.503,313,4.555,314,4.555]],["t/708",[9,3.381,24,3.497,97,3.844]],["t/710",[9,2.047,11,2.173,24,3.094,191,4.189,315,4.555]],["t/712",[11,1.488,19,2.328,32,2.579,33,2.266,97,2.328,287,2.867,316,2.702,317,2.48,318,2.867]],["t/713",[9,2.047,11,2.173,19,3.401,316,3.947,317,3.623]],["t/715",[11,3.016,32,3.378,33,2.969,316,3.539,317,3.249]],["t/717",[15,2.15,23,3.404,24,2.515,92,4.84,97,2.764,114,2.028]],["t/719",[28,2.214,38,2.799,54,2.46,113,3.113,114,1.854,240,3.113,319,3.385,320,3.385]],["t/721",[29,5.354,68,5.757]],["t/722",[9,1.664,29,2.847,114,2.028,120,2.626,190,2.421,317,2.945,321,3.702]],["t/724",[11,1.615,22,2.299,29,2.603,114,1.854,116,3.113,190,2.214,317,2.692,322,3.385]],["t/728",[199,7.322]],["t/730",[24,5.739]],["t/731",[24,4.729,97,5.197]],["t/733",[24,4.021,77,2.242,318,5.443]],["t/741",[9,2.66,323,4.708,324,5.919]],["t/743",[11,3.322,100,3.433]],["t/745",[15,3.437,22,4.021,325,4.552]],["t/747",[28,3.871,59,5.129,326,5.919]],["t/751",[9,2.66,100,2.919,327,5.919]],["t/753",[11,2.824,100,2.919,328,5.919]],["t/755",[15,4.043,77,2.637]],["t/761",[9,2.314,100,2.539,329,5.148,330,5.148]],["t/763",[11,2.824,331,5.919,332,5.919]],["t/765",[15,4.043,17,4.828]],["t/771",[25,4.637,333,6.402]],["t/775",[25,4.637,333,6.402]],["t/777",[54,5.06,334,6.962]],["t/781",[335,6.962,336,6.962]],["t/785",[190,4.553,204,4.938]],["t/787",[9,1.836,190,2.671,204,2.897,221,2.969,337,3.141,338,3.756]],["t/789",[11,1.949,190,2.671,204,2.897,221,2.969,337,3.141,339,3.756]],["t/791",[15,2.372,190,2.671,204,2.897,221,2.969,337,3.141,340,4.084]],["t/793",[114,2.82,120,3.652,190,3.367,204,3.652]],["t/795",[9,1.521,114,1.854,120,2.401,190,2.214,204,2.401,221,2.46,337,2.603,338,3.113]],["t/797",[11,1.615,114,1.854,120,2.401,190,2.214,204,2.401,221,2.46,337,2.603,339,3.113]],["t/799",[15,1.966,114,1.854,120,2.401,190,2.214,204,2.401,221,2.46,337,2.603,341,3.385]],["t/803",[25,4.637,145,5.757]],["t/807",[32,4.895,33,4.302,342,5.919]],["t/809",[77,3.201]],["t/813",[166,6.033,169,6.033]],["t/815",[19,3.844,194,4.461,195,4.734,343,5.148]],["t/817",[152,3.571,153,4.734,166,4.461,169,4.461]],["t/823",[344,6.962,345,6.962]],["t/825",[19,5.197,346,6.962]],["t/829",[17,3.571,43,2.918,91,3.367,105,3.742]],["t/833",[347,8.45]],["t/835",[5,4.895,96,3.805,348,5.919]],["t/836",[349,6.402,350,6.962]],["t/838",[349,6.402,351,6.962]],["t/840",[352,6.402,353,6.402]],["t/842",[354,8.45]],["t/844",[25,3.034,96,2.928,114,2.495,152,3.159,355,3.311]],["t/846",[356,5.537,357,4.729]],["t/848",[25,3.034,96,2.928,114,2.495,355,3.311,358,4.555]],["t/849",[357,5.739]],["t/851",[12,3.497,96,3.309,355,3.742,359,5.148]],["t/853",[357,4.021,360,5.443,361,5.919]],["t/855",[96,3.309,355,3.742,362,5.148,363,4.734]],["t/856",[364,8.45]],["t/858",[12,3.497,96,3.309,355,3.742,363,4.734]],["t/860",[360,6.402,365,5.197]],["t/862",[96,2.928,114,2.495,190,2.979,202,4.189,355,3.311]],["t/864",[356,5.537,366,6.033]],["t/866",[356,4.095,357,3.497,366,4.461,367,4.734]],["t/868",[352,4.189,357,3.094,366,3.947,367,4.189,368,4.555]],["t/872",[96,4.475,355,5.06]],["t/874",[252,6.033,369,6.962]],["t/876",[221,2.969,370,4.084,371,4.084,372,4.084,373,4.084,374,4.084]],["t/880",[52,5.537,54,5.06]],["t/882",[17,2.568,63,3.208,132,2.691,323,2.945,375,3.404,376,3.208,377,3.208]],["t/884",[13,3.482,17,4.105,96,3.805]],["t/886",[5,4.258,13,3.028,378,5.148,379,4.734]],["t/890",[43,2.918,102,4.461,380,5.148,381,5.148]],["t/892",[96,4.475,105,5.06]],["t/894",[105,4.302,353,5.443,382,5.919]],["t/896",[78,3.482,383,5.443,384,5.443]],["t/900",[132,4.302,323,4.708,376,5.129]],["t/902",[9,1.664,17,2.568,55,3.404,63,3.208,323,2.945,375,3.404,377,3.208]],["t/904",[11,1.949,132,2.969,323,3.249,376,3.539,385,3.756,386,4.084]],["t/906",[96,4.475,387,6.962]],["t/910",[13,2.679,43,3.893,217,4.189,379,4.189]],["t/912",[78,3.482,383,5.443,384,5.443]],["t/916",[51,4.708,108,5.129,237,4.708]],["t/918",[13,2.679,17,3.159,77,1.725,108,3.947,237,3.623]],["t/923",[388,4.552,389,4.552,390,3.943]],["t/925",[390,5.628]],["t/926",[391,5.107]],["t/928",[392,6.499]],["t/933",[121,1.07,391,3.112,393,3.429,394,3.429]],["t/935",[391,3.112,393,3.429,394,3.429,395,2.655]],["t/937",[396,6.499]],["t/939",[121,1.447,396,5.354]],["t/941",[397,6.499]],["t/943",[121,1.447,397,5.354]],["t/945",[121,1.756]],["t/947",[121,1.931]],["t/949",[241,6.721]],["t/951",[121,1.447,241,5.537]],["t/953",[245,6.721]],["t/955",[121,1.447,245,5.537]],["t/958",[121,1.447,396,5.354]],["t/962",[252,6.033,398,6.962]],["t/964",[237,5.537,399,6.962]],["t/966",[77,2.637,400,6.962]],["t/968",[26,2.46,96,2.176,149,2.933,162,2.692,356,2.692,401,3.385,402,3.113,403,3.385]],["t/970",[26,2.266,34,2.579,96,2.004,162,2.48,163,2.702,173,2.867,356,2.48,402,2.867,404,3.118]],["t/972",[84,6.988]],["t/973",[39,3.208,237,2.945,385,3.404,405,3.702,406,3.702,407,3.702,408,3.702]],["t/975",[68,5.757,84,5.757]],["t/978",[121,1.447,397,5.354]],["t/981",[121,1.447,409,4.938]],["t/985",[52,5.537,54,5.06]],["t/987",[14,3.278,122,5.129,152,4.105]],["t/989",[77,2.637,410,6.962]],["t/991",[77,2.637,411,6.962]],["t/993",[77,2.637,412,6.962]],["t/995",[43,3.354,103,4.419,413,5.919]],["t/996",[14,2.262,30,2.542,137,3.756,138,3.756,194,3.539,414,3.378]],["t/998",[30,2.542,43,2.315,60,3.756,103,3.049,355,2.969,414,3.378]],["t/1000",[197,4.708,415,5.919,416,4.199]],["t/1002",[30,3.204,42,4.734,43,2.918,414,4.258]],["t/1004",[43,2.918,103,3.844,417,5.148,418,4.734]],["t/1006",[100,3.433,419,6.962]],["t/1008",[100,2.919,303,5.129,418,5.443]],["t/1010",[13,2.178,25,2.466,30,2.304,77,1.402,414,3.062,420,3.702,421,3.702]],["t/1013",[121,1.931]],["t/1016",[9,3.129,121,1.447]],["t/1018",[9,3.129,422,5.537]],["t/1021",[83,5.537,121,1.447]],["t/1024",[121,1.447,245,5.537]],["t/1026",[245,5.537,395,3.59]],["t/1028",[83,6.721]],["t/1030",[83,5.537,121,1.447]],["t/1033",[121,1.447,241,5.537]],["t/1035",[241,5.537,395,3.59]],["t/1037",[82,6.308]],["t/1039",[82,5.197,121,1.447]],["t/1041",[88,6.721]],["t/1043",[88,5.537,121,1.447]],["t/1045",[254,6.721]],["t/1047",[121,1.447,254,5.537]],["t/1050",[82,5.197,121,1.447]],["t/1053",[121,1.447,423,5.197]],["t/1055",[422,5.537,423,5.197]],["t/1058",[121,1.447,254,5.537]],["t/1060",[254,5.537,395,3.59]],["t/1062",[424,7.322]],["t/1064",[121,1.447,424,6.033]],["t/1066",[144,6.988]],["t/1068",[121,1.447,144,5.757]],["t/1070",[425,6.988]],["t/1072",[121,1.447,425,5.757]],["t/1074",[426,6.988]],["t/1076",[121,1.447,426,5.757]],["t/1079",[121,1.447,427,5.06]],["t/1082",[121,1.756]],["t/1085",[121,1.447,424,6.033]],["t/1088",[121,1.447,426,5.757]],["t/1090",[395,3.59,426,5.757]],["t/1092",[428,6.142]],["t/1094",[121,1.756]],["t/1097",[121,1.447,423,5.197]],["t/1099",[422,5.537,423,5.197]],["t/1102",[9,3.129,121,1.447]],["t/1104",[9,3.129,422,5.537]],["t/1107",[121,1.447,144,5.757]],["t/1110",[121,1.447,427,5.06]],["t/1113",[88,5.537,121,1.447]],["t/1116",[388,4.552,389,4.552,390,3.943]],["t/1118",[390,5.628]],["t/1119",[391,5.107]],["t/1121",[392,6.499]],["t/1124",[121,1.756]],["t/1127",[121,1.447,425,5.757]],["t/1129",[395,3.59,425,5.757]],["t/1131",[428,6.142]],["t/1133",[121,1.756]],["t/1136",[121,1.07,391,3.112,393,3.429,394,3.429]],["t/1138",[391,3.112,393,3.429,394,3.429,395,2.655]],["t/1140",[429,7.322]],["t/1142",[121,1.447,429,6.033]],["t/1144",[430,6.721]],["t/1146",[121,1.447,430,5.537]],["t/1148",[280,2.553,430,4.708,431,2.52]],["t/1150",[201,5.86]],["t/1152",[121,1.447,201,4.828]],["t/1154",[432,7.322]],["t/1156",[121,1.447,432,6.033]],["t/1159",[121,1.447,430,5.537]],["t/1161",[280,2.553,430,4.708,431,2.52]],["t/1164",[121,1.447,429,6.033]],["t/1167",[121,1.447,432,6.033]],["t/1170",[121,1.447,423,5.197]],["t/1172",[422,5.537,423,5.197]],["t/1175",[121,1.447,433,5.537]],["t/1177",[280,2.553,431,2.52,433,4.708]],["t/1180",[121,1.447,409,4.938]],["t/1183",[121,1.447,434,5.537]],["t/1185",[280,2.553,431,2.52,434,4.708]],["t/1188",[121,1.447,201,4.828]],["t/1190",[201,4.828,395,3.59]],["t/1192",[434,6.721]],["t/1194",[121,1.447,434,5.537]],["t/1196",[280,2.553,431,2.52,434,4.708]],["t/1198",[433,6.721]],["t/1200",[121,1.447,433,5.537]],["t/1202",[280,2.553,431,2.52,433,4.708]],["t/1204",[435,6.988]],["t/1206",[121,1.447,435,5.757]],["t/1208",[26,6.142]],["t/1210",[26,5.06,121,1.447]],["t/1213",[121,1.447,436,6.033]],["t/1216",[121,1.447,409,4.938]],["t/1219",[121,1.447,437,6.033]],["t/1222",[26,5.06,121,1.447]],["t/1224",[26,5.06,395,3.59]],["t/1226",[437,7.322]],["t/1228",[121,1.447,437,6.033]],["t/1230",[438,7.322]],["t/1232",[121,1.447,438,6.033]],["t/1234",[436,7.322]],["t/1236",[121,1.447,436,6.033]],["t/1238",[439,7.322]],["t/1240",[121,1.447,439,6.033]],["t/1243",[121,1.447,438,6.033]],["t/1246",[121,1.447,435,5.757]],["t/1248",[395,3.59,435,5.757]],["t/1250",[428,6.142]],["t/1252",[121,1.756]],["t/1255",[121,1.447,427,5.06]],["t/1258",[121,1.447,440,6.033]],["t/1261",[121,1.447,439,6.033]],["t/1264",[121,1.447,441,6.033]],["t/1267",[121,1.447,442,6.033]],["t/1270",[121,1.447,397,5.354]],["t/1273",[121,1.447,443,6.033]],["t/1276",[121,1.756]],["t/1278",[395,4.357]],["t/1280",[442,7.322]],["t/1282",[121,1.447,442,6.033]],["t/1284",[443,7.322]],["t/1286",[121,1.447,443,6.033]],["t/1288",[441,7.322]],["t/1290",[121,1.447,441,6.033]],["t/1292",[397,6.499]],["t/1294",[121,1.447,397,5.354]],["t/1296",[444,7.322]],["t/1298",[121,1.447,444,6.033]],["t/1300",[440,7.322]],["t/1302",[121,1.447,440,6.033]],["t/1305",[121,1.447,444,6.033]],["t/1308",[121,1.447,409,4.938]],["t/1311",[388,4.552,389,4.552,390,3.943]],["t/1313",[390,5.628]],["t/1314",[391,5.107]],["t/1316",[392,6.499]],["t/1319",[121,1.756]],["t/1321",[395,4.357]],["t/1323",[445,7.322]],["t/1325",[121,1.447,445,6.033]],["t/1327",[180,6.988]],["t/1329",[121,1.447,180,5.757]],["t/1332",[121,1.07,391,3.112,393,3.429,394,3.429]],["t/1334",[391,3.112,393,3.429,394,3.429,395,2.655]],["t/1336",[428,6.142]],["t/1338",[121,1.756]],["t/1341",[121,1.447,427,5.06]],["t/1344",[121,1.447,445,6.033]],["t/1347",[121,1.447,180,5.757]],["t/1350",[121,1.447,446,6.033]],["t/1353",[121,1.447,447,6.033]],["t/1356",[388,4.552,389,4.552,390,3.943]],["t/1358",[390,5.628]],["t/1359",[391,5.107]],["t/1361",[392,6.499]],["t/1364",[121,1.447,409,4.938]],["t/1366",[395,3.59,409,4.938]],["t/1368",[447,7.322]],["t/1370",[121,1.447,447,6.033]],["t/1372",[446,7.322]],["t/1374",[121,1.447,446,6.033]],["t/1377",[121,1.447,448,5.757]],["t/1379",[395,3.59,448,5.757]],["t/1381",[449,7.322]],["t/1383",[121,1.447,449,6.033]],["t/1385",[450,7.322]],["t/1387",[121,1.447,450,6.033]],["t/1390",[121,1.447,451,5.537]],["t/1392",[280,2.553,431,2.52,451,4.708]],["t/1395",[121,1.447,450,6.033]],["t/1398",[121,1.447,449,6.033]],["t/1401",[121,1.447,452,5.537]],["t/1403",[280,2.553,431,2.52,452,4.708]],["t/1406",[121,1.447,416,4.938]],["t/1408",[395,3.59,416,4.938]],["t/1410",[453,6.499]],["t/1412",[121,1.447,453,5.354]],["t/1414",[454,6.499]],["t/1416",[121,1.447,454,5.354]],["t/1418",[357,5.739]],["t/1420",[121,1.447,357,4.729]],["t/1422",[365,6.308]],["t/1424",[121,1.447,365,5.197]],["t/1426",[455,6.499]],["t/1428",[121,1.447,455,5.354]],["t/1430",[456,7.322]],["t/1432",[121,1.447,456,6.033]],["t/1435",[121,1.07,391,3.112,393,3.429,394,3.429]],["t/1437",[391,3.112,393,3.429,394,3.429,395,2.655]],["t/1439",[416,5.994]],["t/1441",[121,1.447,416,4.938]],["t/1443",[451,6.721]],["t/1445",[121,1.447,451,5.537]],["t/1447",[280,2.553,431,2.52,451,4.708]],["t/1449",[457,7.322]],["t/1451",[121,1.447,457,6.033]],["t/1453",[458,6.721]],["t/1455",[121,1.447,458,5.537]],["t/1457",[280,2.553,431,2.52,458,4.708]],["t/1459",[448,6.988]],["t/1461",[121,1.447,448,5.757]],["t/1463",[459,6.988]],["t/1465",[121,1.447,459,5.757]],["t/1467",[460,6.721]],["t/1469",[121,1.447,460,5.537]],["t/1471",[280,2.553,431,2.52,460,4.708]],["t/1473",[452,6.721]],["t/1475",[121,1.447,452,5.537]],["t/1477",[280,2.553,431,2.52,452,4.708]],["t/1479",[461,6.721]],["t/1481",[121,1.447,461,5.537]],["t/1483",[280,2.553,431,2.52,461,4.708]],["t/1486",[121,1.447,456,6.033]],["t/1489",[121,1.447,454,5.354]],["t/1492",[121,1.447,453,5.354]],["t/1495",[121,1.447,455,5.354]],["t/1498",[121,1.447,357,4.729]],["t/1501",[121,1.447,365,5.197]],["t/1504",[121,1.447,459,5.757]],["t/1506",[395,3.59,459,5.757]],["t/1508",[416,5.994]],["t/1510",[121,1.447,416,4.938]],["t/1512",[462,7.322]],["t/1514",[121,1.447,462,6.033]],["t/1516",[463,6.721]],["t/1518",[121,1.447,463,5.537]],["t/1520",[280,2.553,431,2.52,463,4.708]],["t/1522",[464,6.499]],["t/1524",[121,1.447,464,5.354]],["t/1526",[280,2.553,431,2.52,464,4.552]],["t/1529",[121,1.447,416,4.938]],["t/1531",[395,3.59,416,4.938]],["t/1533",[453,6.499]],["t/1535",[121,1.447,453,5.354]],["t/1537",[454,6.499]],["t/1539",[121,1.447,454,5.354]],["t/1541",[357,5.739]],["t/1543",[121,1.447,357,4.729]],["t/1545",[365,6.308]],["t/1547",[121,1.447,365,5.197]],["t/1549",[455,6.499]],["t/1551",[121,1.447,455,5.354]],["t/1553",[465,7.322]],["t/1555",[121,1.447,465,6.033]],["t/1558",[121,1.447,365,5.197]],["t/1561",[121,1.447,453,5.354]],["t/1564",[121,1.447,463,5.537]],["t/1566",[280,2.553,431,2.52,463,4.708]],["t/1569",[121,1.447,455,5.354]],["t/1572",[121,1.447,454,5.354]],["t/1575",[121,1.447,464,5.354]],["t/1577",[280,2.553,431,2.52,464,4.552]],["t/1579",[395,3.59,464,5.354]],["t/1581",[466,5.86]],["t/1583",[121,1.447,466,4.828]],["t/1585",[280,2.553,431,2.52,466,4.105]],["t/1587",[467,6.721]],["t/1589",[121,1.447,467,5.537]],["t/1591",[280,2.553,431,2.52,467,4.708]],["t/1594",[121,1.447,465,6.033]],["t/1597",[121,1.447,431,2.964]],["t/1600",[121,1.447,467,5.537]],["t/1602",[280,2.553,431,2.52,467,4.708]],["t/1605",[121,1.447,466,4.828]],["t/1607",[280,2.553,431,2.52,466,4.105]],["t/1610",[121,1.447,357,4.729]],["t/1613",[121,1.447,462,6.033]],["t/1616",[121,1.447,461,5.537]],["t/1618",[280,2.553,431,2.52,461,4.708]],["t/1621",[121,1.447,458,5.537]],["t/1623",[280,2.553,431,2.52,458,4.708]],["t/1626",[121,1.447,409,4.938]],["t/1629",[121,1.447,457,6.033]],["t/1632",[388,4.552,389,4.552,390,3.943]],["t/1634",[390,5.628]],["t/1635",[391,5.107]],["t/1637",[392,6.499]],["t/1640",[121,1.447,460,5.537]],["t/1642",[280,2.553,431,2.52,460,4.708]],["t/1645",[121,1.07,391,3.112,393,3.429,394,3.429]],["t/1647",[391,3.112,393,3.429,394,3.429,395,2.655]],["t/1649",[468,6.721]],["t/1651",[121,1.447,468,5.537]],["t/1653",[280,2.553,431,2.52,468,4.708]],["t/1655",[469,6.988]],["t/1657",[121,1.447,469,5.757]],["t/1659",[470,6.721]],["t/1661",[121,1.447,470,5.537]],["t/1663",[280,2.553,431,2.52,470,4.708]],["t/1665",[471,6.988]],["t/1667",[121,1.447,471,5.757]],["t/1669",[472,6.988]],["t/1671",[121,1.447,472,5.757]],["t/1673",[473,7.322]],["t/1675",[121,1.447,473,6.033]],["t/1677",[474,6.721]],["t/1679",[121,1.447,474,5.537]],["t/1681",[280,2.553,431,2.52,474,4.708]],["t/1683",[475,6.721]],["t/1685",[121,1.447,475,5.537]],["t/1687",[280,2.553,431,2.52,475,4.708]],["t/1689",[476,6.721]],["t/1691",[121,1.447,476,5.537]],["t/1693",[280,2.553,431,2.52,476,4.708]],["t/1695",[477,6.721]],["t/1697",[121,1.447,477,5.537]],["t/1699",[280,2.553,431,2.52,477,4.708]],["t/1701",[478,6.721]],["t/1703",[121,1.447,478,5.537]],["t/1705",[280,2.553,431,2.52,478,4.708]],["t/1708",[121,1.447,471,5.757]],["t/1710",[395,3.59,471,5.757]],["t/1712",[479,5.526]],["t/1714",[121,1.447,479,4.553]],["t/1716",[280,2.553,431,2.52,479,3.871]],["t/1718",[480,4.97]],["t/1720",[121,1.447,480,4.095]],["t/1722",[280,2.553,431,2.52,480,3.482]],["t/1725",[121,1.447,479,4.553]],["t/1727",[280,2.553,431,2.52,479,3.871]],["t/1730",[121,1.447,470,5.537]],["t/1732",[280,2.553,431,2.52,470,4.708]],["t/1735",[121,1.447,480,4.095]],["t/1737",[280,2.553,431,2.52,480,3.482]],["t/1739",[395,3.59,480,4.095]],["t/1741",[428,6.142]],["t/1743",[121,1.756]],["t/1746",[121,1.447,477,5.537]],["t/1748",[280,2.553,431,2.52,477,4.708]],["t/1751",[121,1.447,431,2.964]],["t/1754",[121,1.447,427,5.06]],["t/1757",[121,1.447,479,4.553]],["t/1759",[280,2.553,431,2.52,479,3.871]],["t/1762",[121,1.447,472,5.757]],["t/1764",[395,3.59,472,5.757]],["t/1766",[479,5.526]],["t/1768",[121,1.447,479,4.553]],["t/1770",[280,2.553,431,2.52,479,3.871]],["t/1772",[480,4.97]],["t/1774",[121,1.447,480,4.095]],["t/1776",[280,2.553,431,2.52,480,3.482]],["t/1779",[121,1.756]],["t/1782",[121,1.447,431,2.964]],["t/1785",[121,1.447,427,5.06]],["t/1788",[121,1.756]],["t/1791",[121,1.447,480,4.095]],["t/1793",[280,2.553,431,2.52,480,3.482]],["t/1795",[395,3.59,480,4.095]],["t/1797",[428,6.142]],["t/1799",[121,1.756]],["t/1802",[121,1.447,466,4.828]],["t/1804",[280,2.553,431,2.52,466,4.105]],["t/1807",[121,1.447,468,5.537]],["t/1809",[280,2.553,431,2.52,468,4.708]],["t/1812",[121,1.447,469,5.757]],["t/1814",[395,3.59,469,5.757]],["t/1816",[466,5.86]],["t/1818",[121,1.447,466,4.828]],["t/1820",[280,2.553,431,2.52,466,4.105]],["t/1822",[481,6.142]],["t/1824",[121,1.447,481,5.06]],["t/1826",[280,2.553,431,2.52,481,4.302]],["t/1828",[482,6.721]],["t/1830",[121,1.447,482,5.537]],["t/1832",[280,2.553,431,2.52,482,4.708]],["t/1835",[121,1.447,423,5.197]],["t/1838",[121,1.447,482,5.537]],["t/1840",[280,2.553,431,2.52,482,4.708]],["t/1843",[121,1.447,481,5.06]],["t/1845",[280,2.553,431,2.52,481,4.302]],["t/1848",[121,1.447,409,4.938]],["t/1850",[395,3.59,409,4.938]],["t/1852",[396,6.499]],["t/1854",[121,1.447,396,5.354]],["t/1856",[481,6.142]],["t/1858",[121,1.447,481,5.06]],["t/1861",[121,1.447,476,5.537]],["t/1863",[280,2.553,431,2.52,476,4.708]],["t/1866",[121,1.447,473,6.033]],["t/1869",[121,1.447,474,5.537]],["t/1871",[280,2.553,431,2.52,474,4.708]],["t/1874",[121,1.447,481,5.06]],["t/1877",[121,1.447,396,5.354]],["t/1880",[121,1.447,475,5.537]],["t/1882",[280,2.553,431,2.52,475,4.708]],["t/1885",[121,1.447,478,5.537]],["t/1887",[280,2.553,431,2.52,478,4.708]],["t/1890",[388,4.552,389,4.552,390,3.943]],["t/1892",[390,5.628]],["t/1893",[391,5.107]],["t/1895",[392,6.499]],["t/1897",[121,1.447,177,5.537]],["t/1899",[177,5.537,395,3.59]],["t/1901",[479,5.526]],["t/1903",[121,1.447,479,4.553]],["t/1905",[480,4.97]],["t/1907",[121,1.447,480,4.095]],["t/1910",[121,1.447,479,4.553]],["t/1913",[121,1.447,427,5.06]],["t/1916",[121,1.07,391,3.112,393,3.429,394,3.429]],["t/1918",[391,3.112,393,3.429,394,3.429,395,2.655]],["t/1920",[177,6.721]],["t/1922",[121,1.447,177,5.537]],["t/1924",[483,6.988]],["t/1926",[121,1.447,483,5.757]],["t/1929",[121,1.447,480,4.095]],["t/1931",[395,3.59,480,4.095]],["t/1933",[428,6.142]],["t/1935",[121,1.756]],["t/1938",[121,1.756]],["t/1941",[121,1.447,483,5.757]],["t/1943",[395,3.59,483,5.757]],["t/1945",[484,6.721]],["t/1947",[121,1.447,484,5.537]],["t/1949",[280,2.553,431,2.52,484,4.708]],["t/1951",[480,4.97]],["t/1953",[121,1.447,480,4.095]],["t/1956",[121,1.447,480,4.095]],["t/1958",[395,3.59,480,4.095]],["t/1960",[428,6.142]],["t/1962",[121,1.756]],["t/1965",[121,1.447,484,5.537]],["t/1967",[280,2.553,431,2.52,484,4.708]],["t/1970",[121,1.756]],["t/1973",[77,2.637,325,5.354]],["t/1976",[77,2.637,325,5.354]],["t/1979",[77,2.637,325,5.354]],["t/1982",[77,2.637,325,5.354]],["t/1985",[121,1.447,427,5.06]],["t/1988",[77,2.637,325,5.354]],["t/1991",[9,2.66,100,2.919,485,4.895]],["t/1992",[9,3.087,114,2.495,152,3.159,485,3.767]],["t/1994",[9,2.047,11,2.173,377,3.947,486,4.555,487,4.555]],["t/1996",[9,2.314,10,3.652,15,2.99,485,4.258]],["t/1998",[9,2.047,28,2.979,43,2.581,59,3.947,485,3.767]],["t/2000",[11,2.824,100,2.919,201,4.105]],["t/2001",[9,2.314,11,2.457,100,2.539,488,5.148]],["t/2003",[11,3.278,114,2.495,152,3.159,201,3.159]],["t/2005",[11,2.173,15,2.645,100,2.246,201,3.159,489,4.555]],["t/2007",[11,2.173,28,2.979,290,3.767,490,4.555,491,4.555]],["t/2009",[11,2.457,29,3.96,77,1.95,100,2.539]],["t/2011",[15,2.645,36,3.623,114,2.495,190,2.979,197,3.623]]],"invertedIndex":[["0",{"_index":423,"t":{"1053":{"position":[[0,1]]},"1055":{"position":[[0,1]]},"1097":{"position":[[0,1]]},"1099":{"position":[[0,1]]},"1170":{"position":[[0,1]]},"1172":{"position":[[0,1]]},"1835":{"position":[[0,1]]}}}],["1",{"_index":9,"t":{"14":{"position":[[0,1]]},"40":{"position":[[0,1]]},"47":{"position":[[0,1]]},"89":{"position":[[0,1]]},"141":{"position":[[0,1]]},"364":{"position":[[0,1]]},"377":{"position":[[0,1]]},"390":{"position":[[0,1]]},"401":{"position":[[0,1]]},"418":{"position":[[0,1]]},"427":{"position":[[0,1]]},"436":{"position":[[0,1]]},"447":{"position":[[0,1]]},"474":{"position":[[0,1]]},"590":{"position":[[0,1]]},"602":{"position":[[0,1]]},"607":{"position":[[0,1]]},"611":{"position":[[0,1]]},"622":{"position":[[0,1]]},"630":{"position":[[0,1]]},"641":{"position":[[0,1],[17,1]]},"643":{"position":[[17,1]]},"649":{"position":[[0,1],[17,1]]},"651":{"position":[[17,1]]},"653":{"position":[[17,1]]},"656":{"position":[[0,1]]},"667":{"position":[[0,1]]},"701":{"position":[[0,1]]},"706":{"position":[[0,1]]},"708":{"position":[[0,1],[2,1]]},"710":{"position":[[0,1]]},"713":{"position":[[2,1]]},"722":{"position":[[2,1]]},"741":{"position":[[0,1]]},"751":{"position":[[0,1]]},"761":{"position":[[0,1]]},"787":{"position":[[0,1]]},"795":{"position":[[0,1]]},"902":{"position":[[0,1]]},"1016":{"position":[[0,1]]},"1018":{"position":[[0,1]]},"1102":{"position":[[0,1]]},"1104":{"position":[[0,1]]},"1991":{"position":[[0,1]]},"1992":{"position":[[0,1],[2,1]]},"1994":{"position":[[0,1]]},"1996":{"position":[[0,1]]},"1998":{"position":[[0,1]]},"2001":{"position":[[2,1]]}}}],["1103",{"_index":295,"t":{"641":{"position":[[21,4]]},"643":{"position":[[21,4]]},"649":{"position":[[21,4]]},"651":{"position":[[21,4]]},"653":{"position":[[21,4]]}}}],["2",{"_index":11,"t":{"16":{"position":[[0,1]]},"24":{"position":[[0,1]]},"42":{"position":[[0,1]]},"49":{"position":[[0,1]]},"143":{"position":[[0,1]]},"366":{"position":[[0,1]]},"379":{"position":[[0,1]]},"392":{"position":[[0,1]]},"420":{"position":[[0,1]]},"438":{"position":[[0,1]]},"449":{"position":[[0,1]]},"476":{"position":[[0,1]]},"595":{"position":[[0,1]]},"604":{"position":[[0,1]]},"613":{"position":[[0,1]]},"624":{"position":[[0,1]]},"632":{"position":[[0,1]]},"643":{"position":[[0,1]]},"645":{"position":[[0,1]]},"651":{"position":[[0,1]]},"658":{"position":[[0,1]]},"669":{"position":[[0,1]]},"703":{"position":[[0,1]]},"710":{"position":[[2,1]]},"712":{"position":[[0,1]]},"713":{"position":[[0,1]]},"715":{"position":[[0,1],[2,1]]},"724":{"position":[[2,1]]},"743":{"position":[[0,1]]},"753":{"position":[[0,1]]},"763":{"position":[[0,1]]},"789":{"position":[[0,1]]},"797":{"position":[[0,1]]},"904":{"position":[[0,1]]},"1994":{"position":[[2,1]]},"2000":{"position":[[0,1]]},"2001":{"position":[[0,1]]},"2003":{"position":[[0,1],[2,1]]},"2005":{"position":[[0,1]]},"2007":{"position":[[0,1]]},"2009":{"position":[[0,1]]}}}],["3",{"_index":15,"t":{"18":{"position":[[0,1]]},"26":{"position":[[0,1]]},"44":{"position":[[0,1]]},"403":{"position":[[0,1]]},"597":{"position":[[0,1]]},"615":{"position":[[0,1]]},"626":{"position":[[0,1]]},"634":{"position":[[0,1]]},"645":{"position":[[2,1]]},"653":{"position":[[0,1]]},"660":{"position":[[0,1]]},"671":{"position":[[0,1]]},"717":{"position":[[0,1]]},"745":{"position":[[0,1]]},"755":{"position":[[0,1]]},"765":{"position":[[0,1]]},"791":{"position":[[0,1]]},"799":{"position":[[0,1]]},"1996":{"position":[[2,1]]},"2005":{"position":[[2,1]]},"2011":{"position":[[0,1]]}}}],["4",{"_index":28,"t":{"28":{"position":[[0,1]]},"451":{"position":[[0,1]]},"599":{"position":[[0,1]]},"617":{"position":[[0,1]]},"641":{"position":[[19,1]]},"643":{"position":[[19,1]]},"649":{"position":[[19,1]]},"651":{"position":[[19,1]]},"653":{"position":[[19,1]]},"719":{"position":[[0,1]]},"747":{"position":[[0,1]]},"1998":{"position":[[2,1]]},"2007":{"position":[[2,1]]}}}],["5",{"_index":29,"t":{"30":{"position":[[0,1]]},"619":{"position":[[0,1]]},"721":{"position":[[0,1]]},"722":{"position":[[0,1]]},"724":{"position":[[0,1]]},"2009":{"position":[[2,1]]}}}],["6",{"_index":31,"t":{"32":{"position":[[0,1]]}}}],["7",{"_index":37,"t":{"34":{"position":[[0,1]]}}}],["8",{"_index":41,"t":{"36":{"position":[[0,1]]}}}],["account",{"_index":366,"t":{"864":{"position":[[6,7]]},"866":{"position":[[6,7]]},"868":{"position":[[8,7]]}}}],["accountnam",{"_index":367,"t":{"866":{"position":[[16,11]]},"868":{"position":[[18,11]]}}}],["accountnamepattern",{"_index":448,"t":{"1377":{"position":[[0,18]]},"1379":{"position":[[0,18]]},"1459":{"position":[[0,18]]},"1461":{"position":[[0,18]]}}}],["agent",{"_index":225,"t":{"408":{"position":[[35,5]]}}}],["ai",{"_index":134,"t":{"200":{"position":[[3,2]]}}}],["alert",{"_index":415,"t":{"1000":{"position":[[4,5]]}}}],["alertmanag",{"_index":412,"t":{"993":{"position":[[3,12]]}}}],["anaconda",{"_index":230,"t":{"418":{"position":[[2,8]]}}}],["api",{"_index":96,"t":{"141":{"position":[[24,3]]},"835":{"position":[[5,3]]},"844":{"position":[[8,3]]},"848":{"position":[[8,3]]},"851":{"position":[[6,3]]},"855":{"position":[[6,3]]},"858":{"position":[[6,3]]},"862":{"position":[[8,3]]},"872":{"position":[[2,3]]},"884":{"position":[[7,3]]},"892":{"position":[[0,3]]},"906":{"position":[[0,3]]},"968":{"position":[[12,3]]},"970":{"position":[[14,3]]}}}],["app",{"_index":470,"t":{"1659":{"position":[[0,4]]},"1661":{"position":[[0,4]]},"1663":{"position":[[0,4]]},"1730":{"position":[[0,4]]},"1732":{"position":[[0,4]]}}}],["appcom",{"_index":86,"t":{"128":{"position":[[0,10]]}}}],["appjobsdir",{"_index":477,"t":{"1695":{"position":[[0,10]]},"1697":{"position":[[0,10]]},"1699":{"position":[[0,10]]},"1746":{"position":[[0,10]]},"1748":{"position":[[0,10]]}}}],["array",{"_index":392,"t":{"928":{"position":[[0,6]]},"1121":{"position":[[0,6]]},"1316":{"position":[[0,6]]},"1361":{"position":[[0,6]]},"1637":{"position":[[0,6]]},"1895":{"position":[[0,6]]}}}],["associationtablenam",{"_index":436,"t":{"1213":{"position":[[0,20]]},"1234":{"position":[[0,20]]},"1236":{"position":[[0,20]]}}}],["attribut",{"_index":89,"t":{"132":{"position":[[0,10]]},"513":{"position":[[0,10]]},"553":{"position":[[0,10]]},"607":{"position":[[48,9]]}}}],["audioadapt",{"_index":281,"t":{"607":{"position":[[27,12]]}}}],["auth",{"_index":350,"t":{"836":{"position":[[12,4]]}}}],["authurl",{"_index":451,"t":{"1390":{"position":[[0,7]]},"1392":{"position":[[0,7]]},"1443":{"position":[[0,7]]},"1445":{"position":[[0,7]]},"1447":{"position":[[0,7]]}}}],["baltamatica",{"_index":211,"t":{"379":{"position":[[4,11]]}}}],["base",{"_index":143,"t":{"218":{"position":[[8,4]]}}}],["batchsiz",{"_index":463,"t":{"1516":{"position":[[0,9]]},"1518":{"position":[[0,9]]},"1520":{"position":[[0,9]]},"1564":{"position":[[0,9]]},"1566":{"position":[[0,9]]}}}],["beforescript",{"_index":82,"t":{"103":{"position":[[0,12]]},"130":{"position":[[0,12]]},"509":{"position":[[0,12]]},"549":{"position":[[0,12]]},"1037":{"position":[[0,12]]},"1039":{"position":[[0,12]]},"1050":{"position":[[0,12]]}}}],["beta",{"_index":126,"t":{"182":{"position":[[0,4]]}}}],["buf",{"_index":375,"t":{"882":{"position":[[2,3]]},"902":{"position":[[5,3]]}}}],["capabl",{"_index":354,"t":{"842":{"position":[[5,12]]}}}],["changejobpricetyp",{"_index":452,"t":{"1401":{"position":[[0,18]]},"1403":{"position":[[0,18]]},"1473":{"position":[[0,18]]},"1475":{"position":[[0,18]]},"1477":{"position":[[0,18]]}}}],["checkpassword",{"_index":364,"t":{"856":{"position":[[5,13]]}}}],["ci",{"_index":72,"t":{"76":{"position":[[0,2]]}}}],["cli",{"_index":304,"t":{"679":{"position":[[5,3]]},"693":{"position":[[7,3]]}}}],["clustercom",{"_index":445,"t":{"1323":{"position":[[0,14]]},"1325":{"position":[[0,14]]},"1344":{"position":[[0,14]]}}}],["code",{"_index":234,"t":{"474":{"position":[[2,4]]}}}],["comment",{"_index":440,"t":{"1258":{"position":[[0,7]]},"1300":{"position":[[0,7]]},"1302":{"position":[[0,7]]}}}],["compos",{"_index":138,"t":{"209":{"position":[[9,7]]},"996":{"position":[[15,7]]}}}],["comput",{"_index":289,"t":{"622":{"position":[[9,7]]}}}],["computenod",{"_index":433,"t":{"1175":{"position":[[0,12]]},"1177":{"position":[[0,12]]},"1198":{"position":[[0,12]]},"1200":{"position":[[0,12]]},"1202":{"position":[[0,12]]}}}],["conda",{"_index":301,"t":{"653":{"position":[[31,5]]}}}],["connect",{"_index":254,"t":{"551":{"position":[[0,7]]},"1045":{"position":[[0,7]]},"1047":{"position":[[0,7]]},"1058":{"position":[[0,7]]},"1060":{"position":[[0,7]]}}}],["constraint",{"_index":422,"t":{"1018":{"position":[[2,11]]},"1055":{"position":[[2,11]]},"1099":{"position":[[2,11]]},"1104":{"position":[[2,11]]},"1172":{"position":[[2,11]]}}}],["contain",{"_index":57,"t":{"60":{"position":[[7,9]]},"66":{"position":[[4,9]]}}}],["content",{"_index":446,"t":{"1350":{"position":[[0,7]]},"1372":{"position":[[0,7]]},"1374":{"position":[[0,7]]}}}],["core",{"_index":443,"t":{"1273":{"position":[[0,5]]},"1284":{"position":[[0,5]]},"1286":{"position":[[0,5]]}}}],["createoperationlog",{"_index":95,"t":{"141":{"position":[[5,18]]}}}],["cron",{"_index":467,"t":{"1587":{"position":[[0,4]]},"1589":{"position":[[0,4]]},"1591":{"position":[[0,4]]},"1600":{"position":[[0,4]]},"1602":{"position":[[0,4]]}}}],["db",{"_index":416,"t":{"1000":{"position":[[10,2]]},"1406":{"position":[[0,2]]},"1408":{"position":[[0,2]]},"1439":{"position":[[0,2]]},"1441":{"position":[[0,2]]},"1508":{"position":[[0,2]]},"1510":{"position":[[0,2]]},"1529":{"position":[[0,2]]},"1531":{"position":[[0,2]]}}}],["dbname",{"_index":455,"t":{"1426":{"position":[[0,6]]},"1428":{"position":[[0,6]]},"1495":{"position":[[0,6]]},"1549":{"position":[[0,6]]},"1551":{"position":[[0,6]]},"1569":{"position":[[0,6]]}}}],["dbpassword",{"_index":438,"t":{"1230":{"position":[[0,10]]},"1232":{"position":[[0,10]]},"1243":{"position":[[0,10]]}}}],["debug",{"_index":456,"t":{"1430":{"position":[[0,5]]},"1432":{"position":[[0,5]]},"1486":{"position":[[0,5]]}}}],["default",{"_index":431,"t":{"1148":{"position":[[10,7]]},"1161":{"position":[[10,7]]},"1177":{"position":[[13,7]]},"1185":{"position":[[11,7]]},"1196":{"position":[[11,7]]},"1202":{"position":[[13,7]]},"1392":{"position":[[8,7]]},"1403":{"position":[[19,7]]},"1447":{"position":[[8,7]]},"1457":{"position":[[24,7]]},"1471":{"position":[[14,7]]},"1477":{"position":[[19,7]]},"1483":{"position":[[17,7]]},"1520":{"position":[[10,7]]},"1526":{"position":[[14,7]]},"1566":{"position":[[10,7]]},"1577":{"position":[[14,7]]},"1585":{"position":[[8,7]]},"1591":{"position":[[5,7]]},"1597":{"position":[[0,7]]},"1602":{"position":[[5,7]]},"1607":{"position":[[8,7]]},"1618":{"position":[[17,7]]},"1623":{"position":[[24,7]]},"1642":{"position":[[14,7]]},"1653":{"position":[[14,7]]},"1663":{"position":[[5,7]]},"1681":{"position":[[6,7]]},"1687":{"position":[[20,7]]},"1693":{"position":[[13,7]]},"1699":{"position":[[11,7]]},"1705":{"position":[[13,7]]},"1716":{"position":[[12,7]]},"1722":{"position":[[12,7]]},"1727":{"position":[[12,7]]},"1732":{"position":[[5,7]]},"1737":{"position":[[12,7]]},"1748":{"position":[[11,7]]},"1751":{"position":[[0,7]]},"1759":{"position":[[12,7]]},"1770":{"position":[[12,7]]},"1776":{"position":[[12,7]]},"1782":{"position":[[0,7]]},"1793":{"position":[[12,7]]},"1804":{"position":[[8,7]]},"1809":{"position":[[14,7]]},"1820":{"position":[[8,7]]},"1826":{"position":[[4,7]]},"1832":{"position":[[12,7]]},"1840":{"position":[[12,7]]},"1845":{"position":[[4,7]]},"1863":{"position":[[13,7]]},"1871":{"position":[[6,7]]},"1882":{"position":[[20,7]]},"1887":{"position":[[13,7]]},"1949":{"position":[[13,7]]},"1967":{"position":[[13,7]]}}}],["defaultcolor",{"_index":484,"t":{"1945":{"position":[[0,12]]},"1947":{"position":[[0,12]]},"1949":{"position":[[0,12]]},"1965":{"position":[[0,12]]},"1967":{"position":[[0,12]]}}}],["defaulttext",{"_index":479,"t":{"1712":{"position":[[0,11]]},"1714":{"position":[[0,11]]},"1716":{"position":[[0,11]]},"1725":{"position":[[0,11]]},"1727":{"position":[[0,11]]},"1757":{"position":[[0,11]]},"1759":{"position":[[0,11]]},"1766":{"position":[[0,11]]},"1768":{"position":[[0,11]]},"1770":{"position":[[0,11]]},"1901":{"position":[[0,11]]},"1903":{"position":[[0,11]]},"1910":{"position":[[0,11]]}}}],["delet",{"_index":352,"t":{"840":{"position":[[0,6]]},"868":{"position":[[0,6]]}}}],["deploy",{"_index":306,"t":{"689":{"position":[[6,10]]}}}],["dev",{"_index":56,"t":{"60":{"position":[[3,3]]},"66":{"position":[[0,3]]}}}],["displaynam",{"_index":429,"t":{"1140":{"position":[[0,11]]},"1142":{"position":[[0,11]]},"1164":{"position":[[0,11]]}}}],["docker",{"_index":137,"t":{"209":{"position":[[2,6]]},"996":{"position":[[8,6]]}}}],["driver",{"_index":282,"t":{"607":{"position":[[41,6]]}}}],["emac",{"_index":212,"t":{"392":{"position":[[2,5]]}}}],["email",{"_index":361,"t":{"853":{"position":[[12,5]]}}}],["enabl",{"_index":466,"t":{"1581":{"position":[[0,7]]},"1583":{"position":[[0,7]]},"1585":{"position":[[0,7]]},"1605":{"position":[[0,7]]},"1607":{"position":[[0,7]]},"1802":{"position":[[0,7]]},"1804":{"position":[[0,7]]},"1816":{"position":[[0,7]]},"1818":{"position":[[0,7]]},"1820":{"position":[[0,7]]}}}],["entiti",{"_index":158,"t":{"254":{"position":[[0,8]]}}}],["errormessag",{"_index":450,"t":{"1385":{"position":[[0,12]]},"1387":{"position":[[0,12]]},"1395":{"position":[[0,12]]}}}],["export",{"_index":418,"t":{"1004":{"position":[[5,8]]},"1008":{"position":[[5,8]]}}}],["extra",{"_index":180,"t":{"304":{"position":[[0,5]]},"1327":{"position":[[0,6]]},"1329":{"position":[[0,6]]},"1347":{"position":[[0,6]]}}}],["faq",{"_index":214,"t":{"407":{"position":[[0,3]]}}}],["favicon",{"_index":172,"t":{"295":{"position":[[3,7]]}}}],["fetchjob",{"_index":459,"t":{"1463":{"position":[[0,9]]},"1465":{"position":[[0,9]]},"1504":{"position":[[0,9]]},"1506":{"position":[[0,9]]}}}],["footer",{"_index":177,"t":{"299":{"position":[[7,6]]},"1897":{"position":[[0,6]]},"1899":{"position":[[0,6]]},"1920":{"position":[[0,6]]},"1922":{"position":[[0,6]]}}}],["formdata",{"_index":426,"t":{"1074":{"position":[[0,8]]},"1076":{"position":[[0,8]]},"1088":{"position":[[0,8]]},"1090":{"position":[[0,8]]}}}],["golang",{"_index":419,"t":{"1006":{"position":[[3,6]]}}}],["gpu",{"_index":441,"t":{"1264":{"position":[[0,4]]},"1288":{"position":[[0,4]]},"1290":{"position":[[0,4]]}}}],["grafana",{"_index":410,"t":{"989":{"position":[[3,7]]}}}],["harbor",{"_index":130,"t":{"189":{"position":[[0,6]]}}}],["hometext",{"_index":471,"t":{"1665":{"position":[[0,8]]},"1667":{"position":[[0,8]]},"1708":{"position":[[0,8]]},"1710":{"position":[[0,8]]}}}],["hometitl",{"_index":472,"t":{"1669":{"position":[[0,9]]},"1671":{"position":[[0,9]]},"1762":{"position":[[0,9]]},"1764":{"position":[[0,9]]}}}],["hook",{"_index":379,"t":{"886":{"position":[[10,4]]},"910":{"position":[[9,4]]}}}],["host",{"_index":453,"t":{"1410":{"position":[[0,4]]},"1412":{"position":[[0,4]]},"1492":{"position":[[0,4]]},"1533":{"position":[[0,4]]},"1535":{"position":[[0,4]]},"1561":{"position":[[0,4]]}}}],["hostnamemap",{"_index":480,"t":{"1718":{"position":[[0,11]]},"1720":{"position":[[0,11]]},"1722":{"position":[[0,11]]},"1735":{"position":[[0,11]]},"1737":{"position":[[0,11]]},"1739":{"position":[[0,11]]},"1772":{"position":[[0,11]]},"1774":{"position":[[0,11]]},"1776":{"position":[[0,11]]},"1791":{"position":[[0,11]]},"1793":{"position":[[0,11]]},"1795":{"position":[[0,11]]},"1905":{"position":[[0,11]]},"1907":{"position":[[0,11]]},"1929":{"position":[[0,11]]},"1931":{"position":[[0,11]]},"1951":{"position":[[0,11]]},"1953":{"position":[[0,11]]},"1956":{"position":[[0,11]]},"1958":{"position":[[0,11]]}}}],["html",{"_index":243,"t":{"518":{"position":[[8,4]]},"520":{"position":[[8,4]]},"524":{"position":[[10,4]]},"526":{"position":[[10,4]]},"528":{"position":[[11,4]]}}}],["imag",{"_index":81,"t":{"101":{"position":[[0,5]]},"124":{"position":[[0,5]]}}}],["invalid",{"_index":279,"t":{"607":{"position":[[4,7]]}}}],["ip",{"_index":277,"t":{"602":{"position":[[11,2]]}}}],["item",{"_index":409,"t":{"981":{"position":[[0,5]]},"1180":{"position":[[0,5]]},"1216":{"position":[[0,5]]},"1308":{"position":[[0,5]]},"1364":{"position":[[0,5]]},"1366":{"position":[[0,5]]},"1626":{"position":[[0,5]]},"1848":{"position":[[0,5]]},"1850":{"position":[[0,5]]}}}],["java",{"_index":233,"t":{"449":{"position":[[2,4]]}}}],["jobchargecom",{"_index":461,"t":{"1479":{"position":[[0,16]]},"1481":{"position":[[0,16]]},"1483":{"position":[[0,16]]},"1616":{"position":[[0,16]]},"1618":{"position":[[0,16]]}}}],["jobchargetyp",{"_index":460,"t":{"1467":{"position":[[0,13]]},"1469":{"position":[[0,13]]},"1471":{"position":[[0,13]]},"1640":{"position":[[0,13]]},"1642":{"position":[[0,13]]}}}],["jobinfo",{"_index":159,"t":{"254":{"position":[[9,7]]}}}],["jobmanag",{"_index":468,"t":{"1649":{"position":[[0,13]]},"1651":{"position":[[0,13]]},"1653":{"position":[[0,13]]},"1807":{"position":[[0,13]]},"1809":{"position":[[0,13]]}}}],["js",{"_index":167,"t":{"275":{"position":[[12,2]]}}}],["k8",{"_index":129,"t":{"185":{"position":[[0,3]]},"187":{"position":[[0,3]]}}}],["ldap",{"_index":119,"t":{"172":{"position":[[11,4],[27,4]]},"193":{"position":[[0,4]]},"232":{"position":[[0,4]]},"234":{"position":[[2,4]]},"240":{"position":[[2,4]]},"242":{"position":[[0,4]]},"244":{"position":[[0,4]]},"701":{"position":[[7,4]]},"703":{"position":[[7,4]]}}}],["level",{"_index":389,"t":{"923":{"position":[[4,5]]},"1116":{"position":[[4,5]]},"1311":{"position":[[4,5]]},"1356":{"position":[[4,5]]},"1632":{"position":[[4,5]]},"1890":{"position":[[4,5]]}}}],["linkpack",{"_index":326,"t":{"747":{"position":[[3,8]]}}}],["login",{"_index":288,"t":{"622":{"position":[[3,5]]}}}],["logindesktop",{"_index":469,"t":{"1655":{"position":[[0,12]]},"1657":{"position":[[0,12]]},"1812":{"position":[[0,12]]},"1814":{"position":[[0,12]]}}}],["loginnod",{"_index":434,"t":{"1183":{"position":[[0,10]]},"1185":{"position":[[0,10]]},"1192":{"position":[[0,10]]},"1194":{"position":[[0,10]]},"1196":{"position":[[0,10]]}}}],["logo",{"_index":174,"t":{"297":{"position":[[6,4]]},"557":{"position":[[6,4]]}}}],["logopath",{"_index":80,"t":{"99":{"position":[[0,8]]},"126":{"position":[[0,8]]}}}],["managerurl",{"_index":437,"t":{"1219":{"position":[[0,10]]},"1226":{"position":[[0,10]]},"1228":{"position":[[0,10]]}}}],["mariadb",{"_index":488,"t":{"2001":{"position":[[6,7]]}}}],["maxdesktop",{"_index":482,"t":{"1828":{"position":[[0,11]]},"1830":{"position":[[0,11]]},"1832":{"position":[[0,11]]},"1838":{"position":[[0,11]]},"1840":{"position":[[0,11]]}}}],["mem",{"_index":442,"t":{"1267":{"position":[[0,3]]},"1280":{"position":[[0,3]]},"1282":{"position":[[0,3]]}}}],["method",{"_index":424,"t":{"1062":{"position":[[0,6]]},"1064":{"position":[[0,6]]},"1085":{"position":[[0,6]]}}}],["mi",{"_index":26,"t":{"26":{"position":[[5,3]]},"277":{"position":[[0,3]]},"968":{"position":[[24,3]]},"970":{"position":[[26,3]]},"1208":{"position":[[0,3]]},"1210":{"position":[[0,3]]},"1222":{"position":[[0,3]]},"1224":{"position":[[0,3]]}}}],["misignor",{"_index":432,"t":{"1154":{"position":[[0,9]]},"1156":{"position":[[0,9]]},"1167":{"position":[[0,9]]}}}],["misurl",{"_index":473,"t":{"1673":{"position":[[0,6]]},"1675":{"position":[[0,6]]},"1866":{"position":[[0,6]]}}}],["modul",{"_index":328,"t":{"753":{"position":[[3,6]]}}}],["modulefil",{"_index":231,"t":{"420":{"position":[[4,10]]},"451":{"position":[[4,10]]},"476":{"position":[[4,10]]}}}],["monorepo",{"_index":69,"t":{"74":{"position":[[8,8]]}}}],["mung",{"_index":485,"t":{"1991":{"position":[[5,5]]},"1992":{"position":[[6,5]]},"1996":{"position":[[6,5]]},"1998":{"position":[[6,5]]}}}],["name",{"_index":396,"t":{"937":{"position":[[0,4]]},"939":{"position":[[0,4]]},"958":{"position":[[0,4]]},"1852":{"position":[[0,4]]},"1854":{"position":[[0,4]]},"1877":{"position":[[0,4]]}}}],["navbarlink",{"_index":404,"t":{"970":{"position":[[31,11]]}}}],["nf",{"_index":329,"t":{"761":{"position":[[5,3]]}}}],["node",{"_index":397,"t":{"941":{"position":[[0,5]]},"943":{"position":[[0,5]]},"978":{"position":[[0,5]]},"1270":{"position":[[0,5]]},"1292":{"position":[[0,5]]},"1294":{"position":[[0,5]]}}}],["npm",{"_index":386,"t":{"904":{"position":[[5,3]]}}}],["object",{"_index":391,"t":{"926":{"position":[[0,7]]},"933":{"position":[[9,6]]},"935":{"position":[[9,6]]},"1119":{"position":[[0,7]]},"1136":{"position":[[9,6]]},"1138":{"position":[[9,6]]},"1314":{"position":[[0,7]]},"1332":{"position":[[9,6]]},"1334":{"position":[[9,6]]},"1359":{"position":[[0,7]]},"1435":{"position":[[9,6]]},"1437":{"position":[[9,6]]},"1635":{"position":[[0,7]]},"1645":{"position":[[9,6]]},"1647":{"position":[[9,6]]},"1893":{"position":[[0,7]]},"1916":{"position":[[9,6]]},"1918":{"position":[[9,6]]}}}],["octav",{"_index":232,"t":{"438":{"position":[[2,6]]}}}],["otp",{"_index":115,"t":{"170":{"position":[[0,3]]},"172":{"position":[[3,3],[18,3]]},"174":{"position":[[8,3],[14,3]]}}}],["partit",{"_index":435,"t":{"1204":{"position":[[0,10]]},"1206":{"position":[[0,10]]},"1246":{"position":[[0,10]]},"1248":{"position":[[0,10]]}}}],["password",{"_index":365,"t":{"860":{"position":[[7,8]]},"1422":{"position":[[0,8]]},"1424":{"position":[[0,8]]},"1501":{"position":[[0,8]]},"1545":{"position":[[0,8]]},"1547":{"position":[[0,8]]},"1558":{"position":[[0,8]]}}}],["patch",{"_index":360,"t":{"853":{"position":[[0,5]]},"860":{"position":[[0,5]]}}}],["path",{"_index":144,"t":{"218":{"position":[[13,4]]},"1066":{"position":[[0,4]]},"1068":{"position":[[0,4]]},"1107":{"position":[[0,4]]}}}],["pattern",{"_index":428,"t":{"1092":{"position":[[0,7]]},"1131":{"position":[[0,7]]},"1250":{"position":[[0,7]]},"1336":{"position":[[0,7]]},"1741":{"position":[[0,7]]},"1797":{"position":[[0,7]]},"1933":{"position":[[0,7]]},"1960":{"position":[[0,7]]}}}],["patternproperti",{"_index":427,"t":{"1079":{"position":[[0,17]]},"1110":{"position":[[0,17]]},"1255":{"position":[[0,17]]},"1341":{"position":[[0,17]]},"1754":{"position":[[0,17]]},"1785":{"position":[[0,17]]},"1913":{"position":[[0,17]]},"1985":{"position":[[0,17]]}}}],["periodicfetch",{"_index":464,"t":{"1522":{"position":[[0,13]]},"1524":{"position":[[0,13]]},"1526":{"position":[[0,13]]},"1575":{"position":[[0,13]]},"1577":{"position":[[0,13]]},"1579":{"position":[[0,13]]}}}],["policykit",{"_index":224,"t":{"408":{"position":[[25,9]]}}}],["port",{"_index":454,"t":{"1414":{"position":[[0,4]]},"1416":{"position":[[0,4]]},"1489":{"position":[[0,4]]},"1537":{"position":[[0,4]]},"1539":{"position":[[0,4]]},"1572":{"position":[[0,4]]}}}],["portal",{"_index":402,"t":{"968":{"position":[[17,6]]},"970":{"position":[[19,6]]}}}],["portalurl",{"_index":457,"t":{"1449":{"position":[[0,9]]},"1451":{"position":[[0,9]]},"1629":{"position":[[0,9]]}}}],["post",{"_index":356,"t":{"846":{"position":[[0,4]]},"864":{"position":[[0,4]]},"866":{"position":[[0,4]]},"968":{"position":[[6,4]]},"970":{"position":[[8,4]]}}}],["predefinedchargingtyp",{"_index":458,"t":{"1453":{"position":[[0,23]]},"1455":{"position":[[0,23]]},"1457":{"position":[[0,23]]},"1621":{"position":[[0,23]]},"1623":{"position":[[0,23]]}}}],["primarycolor",{"_index":483,"t":{"1924":{"position":[[0,12]]},"1926":{"position":[[0,12]]},"1941":{"position":[[0,12]]},"1943":{"position":[[0,12]]}}}],["prometheu",{"_index":411,"t":{"991":{"position":[[3,10]]}}}],["properti",{"_index":395,"t":{"935":{"position":[[29,10]]},"1026":{"position":[[4,10]]},"1035":{"position":[[4,10]]},"1060":{"position":[[8,10]]},"1090":{"position":[[9,10]]},"1129":{"position":[[6,10]]},"1138":{"position":[[29,10]]},"1190":{"position":[[6,10]]},"1224":{"position":[[4,10]]},"1248":{"position":[[11,10]]},"1278":{"position":[[5,10]]},"1321":{"position":[[5,10]]},"1334":{"position":[[29,10]]},"1366":{"position":[[6,10]]},"1379":{"position":[[19,10]]},"1408":{"position":[[3,10]]},"1437":{"position":[[29,10]]},"1506":{"position":[[10,10]]},"1531":{"position":[[3,10]]},"1579":{"position":[[14,10]]},"1647":{"position":[[29,10]]},"1710":{"position":[[9,10]]},"1739":{"position":[[12,10]]},"1764":{"position":[[10,10]]},"1795":{"position":[[12,10]]},"1814":{"position":[[13,10]]},"1850":{"position":[[6,10]]},"1899":{"position":[[7,10]]},"1918":{"position":[[29,10]]},"1931":{"position":[[12,10]]},"1943":{"position":[[13,10]]},"1958":{"position":[[12,10]]}}}],["proto",{"_index":376,"t":{"882":{"position":[[7,5]]},"900":{"position":[[2,5]]},"904":{"position":[[10,5]]}}}],["proxytyp",{"_index":85,"t":{"122":{"position":[[0,9]]},"547":{"position":[[0,9]]}}}],["public",{"_index":349,"t":{"836":{"position":[[5,6]]},"838":{"position":[[5,6]]}}}],["q1",{"_index":215,"t":{"408":{"position":[[0,2]]}}}],["qo",{"_index":444,"t":{"1296":{"position":[[0,3]]},"1298":{"position":[[0,3]]},"1305":{"position":[[0,3]]}}}],["queri",{"_index":425,"t":{"1070":{"position":[[0,5]]},"1072":{"position":[[0,5]]},"1127":{"position":[[0,5]]},"1129":{"position":[[0,5]]}}}],["r",{"_index":300,"t":{"651":{"position":[[35,1]]},"653":{"position":[[40,1]]},"658":{"position":[[2,1]]}}}],["regex",{"_index":449,"t":{"1381":{"position":[[0,5]]},"1383":{"position":[[0,5]]},"1398":{"position":[[0,5]]}}}],["remot",{"_index":124,"t":{"174":{"position":[[23,6]]}}}],["repo",{"_index":48,"t":{"55":{"position":[[0,4]]}}}],["rewritenavig",{"_index":403,"t":{"968":{"position":[[29,18]]}}}],["root",{"_index":270,"t":{"595":{"position":[[19,4]]}}}],["rpm",{"_index":490,"t":{"2007":{"position":[[6,3]]}}}],["rstudio",{"_index":294,"t":{"641":{"position":[[2,7]]},"643":{"position":[[2,7]]},"645":{"position":[[6,7]]},"649":{"position":[[2,7]]},"651":{"position":[[2,7]]},"653":{"position":[[2,7]]},"660":{"position":[[4,7]]}}}],["savedjobsdir",{"_index":476,"t":{"1689":{"position":[[0,12]]},"1691":{"position":[[0,12]]},"1693":{"position":[[0,12]]},"1861":{"position":[[0,12]]},"1863":{"position":[[0,12]]}}}],["sbatch",{"_index":251,"t":{"530":{"position":[[4,6]]}}}],["schedul",{"_index":430,"t":{"1144":{"position":[[0,9]]},"1146":{"position":[[0,9]]},"1148":{"position":[[0,9]]},"1159":{"position":[[0,9]]},"1161":{"position":[[0,9]]}}}],["schema",{"_index":390,"t":{"923":{"position":[[10,7]]},"925":{"position":[[6,7]]},"1116":{"position":[[10,7]]},"1118":{"position":[[6,7]]},"1311":{"position":[[10,7]]},"1313":{"position":[[6,7]]},"1356":{"position":[[10,7]]},"1358":{"position":[[6,7]]},"1632":{"position":[[10,7]]},"1634":{"position":[[6,7]]},"1890":{"position":[[10,7]]},"1892":{"position":[[6,7]]}}}],["scow",{"_index":13,"t":{"16":{"position":[[5,4]]},"40":{"position":[[5,4]]},"308":{"position":[[0,4]]},"322":{"position":[[2,4]]},"359":{"position":[[0,4]]},"595":{"position":[[5,4]]},"597":{"position":[[13,4]]},"599":{"position":[[9,4]]},"615":{"position":[[3,4]]},"626":{"position":[[3,4]]},"667":{"position":[[5,4]]},"671":{"position":[[8,4]]},"679":{"position":[[0,4]]},"689":{"position":[[1,4]]},"693":{"position":[[2,4]]},"884":{"position":[[2,4]]},"886":{"position":[[5,4]]},"910":{"position":[[0,4]]},"918":{"position":[[2,4]]},"1010":{"position":[[2,4]]}}}],["script",{"_index":88,"t":{"130":{"position":[[27,6]]},"549":{"position":[[13,6]]},"1041":{"position":[[0,6]]},"1043":{"position":[[0,6]]},"1113":{"position":[[0,6]]}}}],["scriptpath",{"_index":439,"t":{"1238":{"position":[[0,10]]},"1240":{"position":[[0,10]]},"1261":{"position":[[0,10]]}}}],["sdown",{"_index":263,"t":{"583":{"position":[[0,5]]}}}],["sedit",{"_index":264,"t":{"585":{"position":[[0,5]]}}}],["server",{"_index":235,"t":{"474":{"position":[[7,6]]},"641":{"position":[[10,6]]},"643":{"position":[[10,6]]},"645":{"position":[[14,6]]},"649":{"position":[[10,6]]},"651":{"position":[[10,6]]},"653":{"position":[[10,6]]},"660":{"position":[[12,6]]}}}],["shell",{"_index":474,"t":{"1677":{"position":[[0,5]]},"1679":{"position":[[0,5]]},"1681":{"position":[[0,5]]},"1869":{"position":[[0,5]]},"1871":{"position":[[0,5]]}}}],["singular",{"_index":302,"t":{"656":{"position":[[2,11]]}}}],["slogan",{"_index":40,"t":{"34":{"position":[[9,6]]}}}],["slurm",{"_index":201,"t":{"353":{"position":[[2,5],[12,5]]},"359":{"position":[[5,5]]},"624":{"position":[[3,5]]},"1150":{"position":[[0,5]]},"1152":{"position":[[0,5]]},"1188":{"position":[[0,5]]},"1190":{"position":[[0,5]]},"2000":{"position":[[5,5]]},"2003":{"position":[[6,5]]},"2005":{"position":[[6,5]]}}}],["sopen",{"_index":260,"t":{"579":{"position":[[0,5]]}}}],["ssh",{"_index":125,"t":{"178":{"position":[[2,3]]}}}],["startcommand",{"_index":87,"t":{"130":{"position":[[13,12]]}}}],["startindex",{"_index":462,"t":{"1512":{"position":[[0,10]]},"1514":{"position":[[0,10]]},"1613":{"position":[[0,10]]}}}],["submitjobdefaultpwd",{"_index":475,"t":{"1683":{"position":[[0,19]]},"1685":{"position":[[0,19]]},"1687":{"position":[[0,19]]},"1880":{"position":[[0,19]]},"1882":{"position":[[0,19]]}}}],["sup",{"_index":262,"t":{"581":{"position":[[0,3]]}}}],["sync",{"_index":273,"t":{"597":{"position":[[18,4]]},"599":{"position":[[14,4]]}}}],["tablenam",{"_index":465,"t":{"1553":{"position":[[0,9]]},"1555":{"position":[[0,9]]},"1594":{"position":[[0,9]]}}}],["tcl",{"_index":327,"t":{"751":{"position":[[3,3]]}}}],["timezon",{"_index":369,"t":{"874":{"position":[[3,8]]}}}],["titl",{"_index":447,"t":{"1353":{"position":[[0,5]]},"1368":{"position":[[0,5]]},"1370":{"position":[[0,5]]}}}],["token",{"_index":353,"t":{"840":{"position":[[8,5]]},"894":{"position":[[2,5]]}}}],["top",{"_index":388,"t":{"923":{"position":[[0,3]]},"1116":{"position":[[0,3]]},"1311":{"position":[[0,3]]},"1356":{"position":[[0,3]]},"1632":{"position":[[0,3]]},"1890":{"position":[[0,3]]}}}],["turbovnc",{"_index":210,"t":{"377":{"position":[[2,8]]},"390":{"position":[[2,8]]},"401":{"position":[[2,8]]},"436":{"position":[[2,8]]},"447":{"position":[[2,8]]}}}],["turbovncpath",{"_index":478,"t":{"1701":{"position":[[0,12]]},"1703":{"position":[[0,12]]},"1705":{"position":[[0,12]]},"1885":{"position":[[0,12]]},"1887":{"position":[[0,12]]}}}],["type",{"_index":121,"t":{"172":{"position":[[22,4]]},"174":{"position":[[18,4]]},"933":{"position":[[29,4]]},"939":{"position":[[5,4]]},"943":{"position":[[6,4]]},"945":{"position":[[0,4]]},"947":{"position":[[0,4],[5,4]]},"951":{"position":[[4,4]]},"955":{"position":[[4,4]]},"958":{"position":[[5,4]]},"978":{"position":[[6,4]]},"981":{"position":[[6,4]]},"1013":{"position":[[0,4],[5,4]]},"1016":{"position":[[2,4]]},"1021":{"position":[[9,4]]},"1024":{"position":[[4,4]]},"1030":{"position":[[9,4]]},"1033":{"position":[[4,4]]},"1039":{"position":[[13,4]]},"1043":{"position":[[7,4]]},"1047":{"position":[[8,4]]},"1050":{"position":[[13,4]]},"1053":{"position":[[2,4]]},"1058":{"position":[[8,4]]},"1064":{"position":[[7,4]]},"1068":{"position":[[5,4]]},"1072":{"position":[[6,4]]},"1076":{"position":[[9,4]]},"1079":{"position":[[18,4]]},"1082":{"position":[[5,4]]},"1085":{"position":[[7,4]]},"1088":{"position":[[9,4]]},"1094":{"position":[[5,4]]},"1097":{"position":[[2,4]]},"1102":{"position":[[2,4]]},"1107":{"position":[[5,4]]},"1110":{"position":[[18,4]]},"1113":{"position":[[7,4]]},"1124":{"position":[[5,4]]},"1127":{"position":[[6,4]]},"1133":{"position":[[5,4]]},"1136":{"position":[[29,4]]},"1142":{"position":[[12,4]]},"1146":{"position":[[10,4]]},"1152":{"position":[[6,4]]},"1156":{"position":[[10,4]]},"1159":{"position":[[10,4]]},"1164":{"position":[[12,4]]},"1167":{"position":[[10,4]]},"1170":{"position":[[2,4]]},"1175":{"position":[[13,4]]},"1180":{"position":[[6,4]]},"1183":{"position":[[11,4]]},"1188":{"position":[[6,4]]},"1194":{"position":[[11,4]]},"1200":{"position":[[13,4]]},"1206":{"position":[[11,4]]},"1210":{"position":[[4,4]]},"1213":{"position":[[21,4]]},"1216":{"position":[[6,4]]},"1219":{"position":[[11,4]]},"1222":{"position":[[4,4]]},"1228":{"position":[[11,4]]},"1232":{"position":[[11,4]]},"1236":{"position":[[21,4]]},"1240":{"position":[[11,4]]},"1243":{"position":[[11,4]]},"1246":{"position":[[11,4]]},"1252":{"position":[[5,4]]},"1255":{"position":[[18,4]]},"1258":{"position":[[8,4]]},"1261":{"position":[[11,4]]},"1264":{"position":[[5,4]]},"1267":{"position":[[4,4]]},"1270":{"position":[[6,4]]},"1273":{"position":[[6,4]]},"1276":{"position":[[5,4]]},"1282":{"position":[[4,4]]},"1286":{"position":[[6,4]]},"1290":{"position":[[5,4]]},"1294":{"position":[[6,4]]},"1298":{"position":[[4,4]]},"1302":{"position":[[8,4]]},"1305":{"position":[[4,4]]},"1308":{"position":[[6,4]]},"1319":{"position":[[5,4]]},"1325":{"position":[[15,4]]},"1329":{"position":[[7,4]]},"1332":{"position":[[29,4]]},"1338":{"position":[[5,4]]},"1341":{"position":[[18,4]]},"1344":{"position":[[15,4]]},"1347":{"position":[[7,4]]},"1350":{"position":[[8,4]]},"1353":{"position":[[6,4]]},"1364":{"position":[[6,4]]},"1370":{"position":[[6,4]]},"1374":{"position":[[8,4]]},"1377":{"position":[[19,4]]},"1383":{"position":[[6,4]]},"1387":{"position":[[13,4]]},"1390":{"position":[[8,4]]},"1395":{"position":[[13,4]]},"1398":{"position":[[6,4]]},"1401":{"position":[[19,4]]},"1406":{"position":[[3,4]]},"1412":{"position":[[5,4]]},"1416":{"position":[[5,4]]},"1420":{"position":[[5,4]]},"1424":{"position":[[9,4]]},"1428":{"position":[[7,4]]},"1432":{"position":[[6,4]]},"1435":{"position":[[29,4]]},"1441":{"position":[[3,4]]},"1445":{"position":[[8,4]]},"1451":{"position":[[10,4]]},"1455":{"position":[[24,4]]},"1461":{"position":[[19,4]]},"1465":{"position":[[10,4]]},"1469":{"position":[[14,4]]},"1475":{"position":[[19,4]]},"1481":{"position":[[17,4]]},"1486":{"position":[[6,4]]},"1489":{"position":[[5,4]]},"1492":{"position":[[5,4]]},"1495":{"position":[[7,4]]},"1498":{"position":[[5,4]]},"1501":{"position":[[9,4]]},"1504":{"position":[[10,4]]},"1510":{"position":[[3,4]]},"1514":{"position":[[11,4]]},"1518":{"position":[[10,4]]},"1524":{"position":[[14,4]]},"1529":{"position":[[3,4]]},"1535":{"position":[[5,4]]},"1539":{"position":[[5,4]]},"1543":{"position":[[5,4]]},"1547":{"position":[[9,4]]},"1551":{"position":[[7,4]]},"1555":{"position":[[10,4]]},"1558":{"position":[[9,4]]},"1561":{"position":[[5,4]]},"1564":{"position":[[10,4]]},"1569":{"position":[[7,4]]},"1572":{"position":[[5,4]]},"1575":{"position":[[14,4]]},"1583":{"position":[[8,4]]},"1589":{"position":[[5,4]]},"1594":{"position":[[10,4]]},"1597":{"position":[[8,4]]},"1600":{"position":[[5,4]]},"1605":{"position":[[8,4]]},"1610":{"position":[[5,4]]},"1613":{"position":[[11,4]]},"1616":{"position":[[17,4]]},"1621":{"position":[[24,4]]},"1626":{"position":[[6,4]]},"1629":{"position":[[10,4]]},"1640":{"position":[[14,4]]},"1645":{"position":[[29,4]]},"1651":{"position":[[14,4]]},"1657":{"position":[[13,4]]},"1661":{"position":[[5,4]]},"1667":{"position":[[9,4]]},"1671":{"position":[[10,4]]},"1675":{"position":[[7,4]]},"1679":{"position":[[6,4]]},"1685":{"position":[[20,4]]},"1691":{"position":[[13,4]]},"1697":{"position":[[11,4]]},"1703":{"position":[[13,4]]},"1708":{"position":[[9,4]]},"1714":{"position":[[12,4]]},"1720":{"position":[[12,4]]},"1725":{"position":[[12,4]]},"1730":{"position":[[5,4]]},"1735":{"position":[[12,4]]},"1743":{"position":[[5,4]]},"1746":{"position":[[11,4]]},"1751":{"position":[[8,4]]},"1754":{"position":[[18,4]]},"1757":{"position":[[12,4]]},"1762":{"position":[[10,4]]},"1768":{"position":[[12,4]]},"1774":{"position":[[12,4]]},"1779":{"position":[[5,4]]},"1782":{"position":[[8,4]]},"1785":{"position":[[18,4]]},"1788":{"position":[[5,4]]},"1791":{"position":[[12,4]]},"1799":{"position":[[5,4]]},"1802":{"position":[[8,4]]},"1807":{"position":[[14,4]]},"1812":{"position":[[13,4]]},"1818":{"position":[[8,4]]},"1824":{"position":[[4,4]]},"1830":{"position":[[12,4]]},"1835":{"position":[[2,4]]},"1838":{"position":[[12,4]]},"1843":{"position":[[4,4]]},"1848":{"position":[[6,4]]},"1854":{"position":[[5,4]]},"1858":{"position":[[3,4]]},"1861":{"position":[[13,4]]},"1866":{"position":[[7,4]]},"1869":{"position":[[6,4]]},"1874":{"position":[[3,4]]},"1877":{"position":[[5,4]]},"1880":{"position":[[20,4]]},"1885":{"position":[[13,4]]},"1897":{"position":[[7,4]]},"1903":{"position":[[12,4]]},"1907":{"position":[[12,4]]},"1910":{"position":[[12,4]]},"1913":{"position":[[18,4]]},"1916":{"position":[[29,4]]},"1922":{"position":[[7,4]]},"1926":{"position":[[13,4]]},"1929":{"position":[[12,4]]},"1935":{"position":[[5,4]]},"1938":{"position":[[5,4]]},"1941":{"position":[[13,4]]},"1947":{"position":[[13,4]]},"1953":{"position":[[12,4]]},"1956":{"position":[[12,4]]},"1962":{"position":[[5,4]]},"1965":{"position":[[13,4]]},"1970":{"position":[[5,4]]},"1985":{"position":[[18,4]]}}}],["ui",{"_index":108,"t":{"162":{"position":[[0,2]]},"916":{"position":[[2,2]]},"918":{"position":[[8,2]]}}}],["undefin",{"_index":394,"t":{"933":{"position":[[19,9]]},"935":{"position":[[19,9]]},"1136":{"position":[[19,9]]},"1138":{"position":[[19,9]]},"1332":{"position":[[19,9]]},"1334":{"position":[[19,9]]},"1435":{"position":[[19,9]]},"1437":{"position":[[19,9]]},"1645":{"position":[[19,9]]},"1647":{"position":[[19,9]]},"1916":{"position":[[19,9]]},"1918":{"position":[[19,9]]}}}],["untitl",{"_index":393,"t":{"933":{"position":[[0,8]]},"935":{"position":[[0,8]]},"1136":{"position":[[0,8]]},"1138":{"position":[[0,8]]},"1332":{"position":[[0,8]]},"1334":{"position":[[0,8]]},"1435":{"position":[[0,8]]},"1437":{"position":[[0,8]]},"1645":{"position":[[0,8]]},"1647":{"position":[[0,8]]},"1916":{"position":[[0,8]]},"1918":{"position":[[0,8]]}}}],["user",{"_index":357,"t":{"846":{"position":[[6,4]]},"849":{"position":[[5,4]]},"853":{"position":[[7,4]]},"866":{"position":[[29,4]]},"868":{"position":[[31,4]]},"1418":{"position":[[0,4]]},"1420":{"position":[[0,4]]},"1498":{"position":[[0,4]]},"1541":{"position":[[0,4]]},"1543":{"position":[[0,4]]},"1610":{"position":[[0,4]]}}}],["userid",{"_index":368,"t":{"868":{"position":[[38,6]]}}}],["utc",{"_index":373,"t":{"876":{"position":[[7,3]]}}}],["vagrant",{"_index":292,"t":{"632":{"position":[[5,7]]},"634":{"position":[[3,7]]}}}],["validatetoken",{"_index":351,"t":{"838":{"position":[[12,13]]}}}],["valu",{"_index":280,"t":{"607":{"position":[[12,5]]},"1148":{"position":[[18,5]]},"1161":{"position":[[18,5]]},"1177":{"position":[[21,5]]},"1185":{"position":[[19,5]]},"1196":{"position":[[19,5]]},"1202":{"position":[[21,5]]},"1392":{"position":[[16,5]]},"1403":{"position":[[27,5]]},"1447":{"position":[[16,5]]},"1457":{"position":[[32,5]]},"1471":{"position":[[22,5]]},"1477":{"position":[[27,5]]},"1483":{"position":[[25,5]]},"1520":{"position":[[18,5]]},"1526":{"position":[[22,5]]},"1566":{"position":[[18,5]]},"1577":{"position":[[22,5]]},"1585":{"position":[[16,5]]},"1591":{"position":[[13,5]]},"1602":{"position":[[13,5]]},"1607":{"position":[[16,5]]},"1618":{"position":[[25,5]]},"1623":{"position":[[32,5]]},"1642":{"position":[[22,5]]},"1653":{"position":[[22,5]]},"1663":{"position":[[13,5]]},"1681":{"position":[[14,5]]},"1687":{"position":[[28,5]]},"1693":{"position":[[21,5]]},"1699":{"position":[[19,5]]},"1705":{"position":[[21,5]]},"1716":{"position":[[20,5]]},"1722":{"position":[[20,5]]},"1727":{"position":[[20,5]]},"1732":{"position":[[13,5]]},"1737":{"position":[[20,5]]},"1748":{"position":[[19,5]]},"1759":{"position":[[20,5]]},"1770":{"position":[[20,5]]},"1776":{"position":[[20,5]]},"1793":{"position":[[20,5]]},"1804":{"position":[[16,5]]},"1809":{"position":[[22,5]]},"1820":{"position":[[16,5]]},"1826":{"position":[[12,5]]},"1832":{"position":[[20,5]]},"1840":{"position":[[20,5]]},"1845":{"position":[[12,5]]},"1863":{"position":[[21,5]]},"1871":{"position":[[14,5]]},"1882":{"position":[[28,5]]},"1887":{"position":[[21,5]]},"1949":{"position":[[21,5]]},"1967":{"position":[[21,5]]}}}],["virtualbox",{"_index":291,"t":{"630":{"position":[[5,10]]}}}],["vnc",{"_index":245,"t":{"520":{"position":[[0,3]]},"953":{"position":[[0,3]]},"955":{"position":[[0,3]]},"1024":{"position":[[0,3]]},"1026":{"position":[[0,3]]}}}],["vscode",{"_index":236,"t":{"481":{"position":[[0,6]]}}}],["web",{"_index":241,"t":{"518":{"position":[[0,3]]},"949":{"position":[[0,3]]},"951":{"position":[[0,3]]},"1033":{"position":[[0,3]]},"1035":{"position":[[0,3]]}}}],["wm",{"_index":481,"t":{"1822":{"position":[[0,3]]},"1824":{"position":[[0,3]]},"1826":{"position":[[0,3]]},"1843":{"position":[[0,3]]},"1845":{"position":[[0,3]]},"1856":{"position":[[0,2]]},"1858":{"position":[[0,2]]},"1874":{"position":[[0,2]]}}}],["xfce",{"_index":219,"t":{"408":{"position":[[10,4],[20,4]]}}}],["xstartup",{"_index":83,"t":{"105":{"position":[[0,8]]},"511":{"position":[[0,8]]},"1021":{"position":[[0,8]]},"1028":{"position":[[0,8]]},"1030":{"position":[[0,8]]}}}],["yaml",{"_index":27,"t":{"26":{"position":[[9,4]]},"277":{"position":[[4,4]]}}}],["yml",{"_index":139,"t":{"209":{"position":[[17,3]]}}}],["一键",{"_index":283,"t":{"611":{"position":[[5,2]]},"617":{"position":[[5,2]]}}}],["三",{"_index":413,"t":{"995":{"position":[[0,1]]}}}],["上下文",{"_index":398,"t":{"962":{"position":[[0,3]]}}}],["不再",{"_index":16,"t":{"18":{"position":[[3,2]]}}}],["业务",{"_index":335,"t":{"781":{"position":[[0,2]]}}}],["中",{"_index":120,"t":{"172":{"position":[[15,1]]},"258":{"position":[[4,1]]},"260":{"position":[[4,1]]},"322":{"position":[[6,1]]},"722":{"position":[[9,1]]},"793":{"position":[[5,1]]},"795":{"position":[[7,1]]},"797":{"position":[[7,1]]},"799":{"position":[[7,1]]}}}],["为什么",{"_index":66,"t":{"74":{"position":[[0,3]]}}}],["主机",{"_index":53,"t":{"58":{"position":[[2,2]]}}}],["主机名",{"_index":111,"t":{"164":{"position":[[4,3]]}}}],["主题",{"_index":175,"t":{"299":{"position":[[3,2]]}}}],["之前",{"_index":296,"t":{"641":{"position":[[25,2]]},"649":{"position":[[25,2]]}}}],["之后",{"_index":298,"t":{"643":{"position":[[26,2]]},"651":{"position":[[26,2]]},"653":{"position":[[26,2]]}}}],["二",{"_index":122,"t":{"174":{"position":[[0,1]]},"666":{"position":[[0,1]]},"987":{"position":[[0,1]]}}}],["五",{"_index":420,"t":{"1010":{"position":[[0,1]]}}}],["交互式",{"_index":32,"t":{"32":{"position":[[3,3]]},"712":{"position":[[6,3]]},"715":{"position":[[4,3]]},"807":{"position":[[0,3]]}}}],["什么",{"_index":0,"t":{"8":{"position":[[0,2]]},"218":{"position":[[0,2]]}}}],["介绍",{"_index":76,"t":{"89":{"position":[[4,2]]},"138":{"position":[[2,2]]},"427":{"position":[[4,2]]}}}],["代理",{"_index":207,"t":{"366":{"position":[[3,2]]},"695":{"position":[[0,2]]}}}],["代码",{"_index":63,"t":{"72":{"position":[[0,2]]},"882":{"position":[[17,2]]},"902":{"position":[[13,2]]}}}],["仪表盘",{"_index":255,"t":{"557":{"position":[[3,3]]}}}],["价格表",{"_index":195,"t":{"332":{"position":[[4,3]]},"815":{"position":[[7,3]]}}}],["会",{"_index":222,"t":{"408":{"position":[[18,1]]}}}],["传输",{"_index":266,"t":{"590":{"position":[[10,2]]},"595":{"position":[[14,2]]},"597":{"position":[[6,2],[22,2]]}}}],["体验",{"_index":334,"t":{"777":{"position":[[0,2]]}}}],["作业",{"_index":19,"t":{"18":{"position":[[8,2]]},"332":{"position":[[2,2]]},"338":{"position":[[6,2]]},"712":{"position":[[3,2]]},"713":{"position":[[4,2]]},"815":{"position":[[5,2]]},"825":{"position":[[2,2]]}}}],["使用",{"_index":17,"t":{"18":{"position":[[5,2]]},"234":{"position":[[0,2]]},"279":{"position":[[7,2]]},"687":{"position":[[0,2]]},"765":{"position":[[3,2]]},"829":{"position":[[0,2]]},"882":{"position":[[0,2]]},"884":{"position":[[0,2]]},"902":{"position":[[3,2]]},"918":{"position":[[6,2]]}}}],["依赖",{"_index":489,"t":{"2005":{"position":[[11,2]]}}}],["保存",{"_index":118,"t":{"172":{"position":[[8,2]]}}}],["信息",{"_index":20,"t":{"18":{"position":[[10,2]]},"326":{"position":[[6,2]]},"338":{"position":[[8,2]]},"357":{"position":[[6,2]]},"359":{"position":[[12,2]]}}}],["修改",{"_index":12,"t":{"16":{"position":[[3,2]]},"26":{"position":[[3,2]]},"30":{"position":[[3,2]]},"149":{"position":[[0,2]]},"198":{"position":[[0,2]]},"340":{"position":[[0,2]]},"355":{"position":[[0,2]]},"561":{"position":[[0,2]]},"602":{"position":[[5,2]]},"851":{"position":[[0,2]]},"858":{"position":[[0,2]]}}}],["偏移量",{"_index":374,"t":{"876":{"position":[[10,3]]}}}],["停止",{"_index":44,"t":{"40":{"position":[[3,2]]}}}],["允许",{"_index":109,"t":{"164":{"position":[[0,2]]}}}],["免",{"_index":271,"t":{"595":{"position":[[25,1]]}}}],["共享",{"_index":239,"t":{"497":{"position":[[4,2]]}}}],["关系",{"_index":202,"t":{"359":{"position":[[15,2]]},"862":{"position":[[4,2]]}}}],["关闭",{"_index":187,"t":{"322":{"position":[[0,2]]}}}],["其他",{"_index":68,"t":{"74":{"position":[[6,2]]},"530":{"position":[[2,2]]},"721":{"position":[[3,2]]},"975":{"position":[[0,2]]}}}],["内置",{"_index":104,"t":{"157":{"position":[[0,2]]},"318":{"position":[[0,2]]}}}],["准备",{"_index":52,"t":{"58":{"position":[[0,2]]},"184":{"position":[[2,2]]},"667":{"position":[[3,2]]},"880":{"position":[[0,2]]},"985":{"position":[[4,2]]}}}],["分区",{"_index":344,"t":{"823":{"position":[[0,2]]}}}],["分类",{"_index":342,"t":{"807":{"position":[[6,2]]}}}],["切换",{"_index":148,"t":{"228":{"position":[[7,2]]}}}],["创建",{"_index":152,"t":{"238":{"position":[[0,2]]},"279":{"position":[[0,2]]},"318":{"position":[[2,2]]},"320":{"position":[[2,2]]},"322":{"position":[[7,2]]},"817":{"position":[[2,2]]},"844":{"position":[[0,2]]},"987":{"position":[[2,2]]},"1992":{"position":[[4,2]]},"2003":{"position":[[4,2]]}}}],["初始",{"_index":192,"t":{"328":{"position":[[13,2]]},"330":{"position":[[2,2]]}}}],["初始化",{"_index":197,"t":{"334":{"position":[[2,3]]},"350":{"position":[[2,3]]},"613":{"position":[[5,3]]},"1000":{"position":[[0,3]]},"2011":{"position":[[3,3]]}}}],["制作",{"_index":290,"t":{"622":{"position":[[20,2]]},"624":{"position":[[12,2]]},"626":{"position":[[11,2]]},"2007":{"position":[[4,2]]}}}],["前提条件",{"_index":75,"t":{"87":{"position":[[0,4]]},"94":{"position":[[0,4]]},"110":{"position":[[0,4]]},"117":{"position":[[0,4]]},"375":{"position":[[0,4]]},"388":{"position":[[0,4]]},"399":{"position":[[0,4]]},"413":{"position":[[0,4]]},"425":{"position":[[0,4]]},"434":{"position":[[0,4]]},"445":{"position":[[0,4]]},"458":{"position":[[0,4]]},"465":{"position":[[0,4]]},"472":{"position":[[0,4]]},"504":{"position":[[0,4]]},"537":{"position":[[0,4]]},"542":{"position":[[0,4]]},"639":{"position":[[0,4]]},"664":{"position":[[4,4]]}}}],["前期",{"_index":128,"t":{"184":{"position":[[0,2]]}}}],["功能",{"_index":25,"t":{"24":{"position":[[9,2]]},"138":{"position":[[0,2]]},"166":{"position":[[3,2]]},"170":{"position":[[3,2]]},"208":{"position":[[2,2]]},"322":{"position":[[11,2]]},"771":{"position":[[0,2]]},"775":{"position":[[0,2]]},"803":{"position":[[3,2]]},"844":{"position":[[4,2]]},"848":{"position":[[4,2]]},"1010":{"position":[[15,2]]}}}],["包",{"_index":491,"t":{"2007":{"position":[[9,1]]}}}],["区",{"_index":371,"t":{"876":{"position":[[3,1]]}}}],["区分",{"_index":268,"t":{"591":{"position":[[2,2]]}}}],["升级",{"_index":8,"t":{"12":{"position":[[4,2]]},"44":{"position":[[4,2]]}}}],["协议",{"_index":183,"t":{"308":{"position":[[7,2]]}}}],["原理",{"_index":253,"t":{"534":{"position":[[2,2]]}}}],["参数",{"_index":252,"t":{"530":{"position":[[10,2]]},"874":{"position":[[0,2]]},"962":{"position":[[3,2]]}}}],["参考",{"_index":209,"t":{"370":{"position":[[0,2]]}}}],["发送",{"_index":405,"t":{"973":{"position":[[2,2]]}}}],["可用",{"_index":370,"t":{"876":{"position":[[0,2]]}}}],["各个",{"_index":238,"t":{"497":{"position":[[0,2]]}}}],["同步",{"_index":198,"t":{"338":{"position":[[4,2]]}}}],["名称",{"_index":372,"t":{"876":{"position":[[4,2]]}}}],["启动",{"_index":103,"t":{"153":{"position":[[0,2]]},"202":{"position":[[0,2]]},"348":{"position":[[0,2]]},"567":{"position":[[0,2]]},"995":{"position":[[2,2]]},"998":{"position":[[0,2]]},"1004":{"position":[[2,2]]}}}],["告警",{"_index":208,"t":{"368":{"position":[[0,2]]}}}],["命令",{"_index":261,"t":{"579":{"position":[[5,2]]},"581":{"position":[[3,2]]},"583":{"position":[[5,2]]},"585":{"position":[[5,2]]},"617":{"position":[[9,2]]},"691":{"position":[[2,2]]},"703":{"position":[[3,2]]}}}],["器",{"_index":2,"t":{"8":{"position":[[5,1]]},"10":{"position":[[6,1]]},"14":{"position":[[7,1]]},"342":{"position":[[4,1]]}}}],["四",{"_index":417,"t":{"1004":{"position":[[0,1]]}}}],["回调",{"_index":110,"t":{"164":{"position":[[2,2]]}}}],["国际化",{"_index":146,"t":{"228":{"position":[[2,3]]}}}],["图标",{"_index":35,"t":{"32":{"position":[[10,2]]},"269":{"position":[[3,2]]}}}],["域名",{"_index":179,"t":{"301":{"position":[[3,2]]},"306":{"position":[[0,2]]}}}],["基本操作",{"_index":293,"t":{"634":{"position":[[10,4]]}}}],["基本概念",{"_index":347,"t":{"833":{"position":[[0,4]]}}}],["增加",{"_index":34,"t":{"32":{"position":[[8,2]]},"275":{"position":[[0,2]]},"277":{"position":[[8,2]]},"970":{"position":[[0,2]]}}}],["处于",{"_index":337,"t":{"787":{"position":[[4,2]]},"789":{"position":[[4,2]]},"791":{"position":[[4,2]]},"795":{"position":[[8,2]]},"797":{"position":[[8,2]]},"799":{"position":[[8,2]]}}}],["备份",{"_index":45,"t":{"42":{"position":[[3,2]]}}}],["外置",{"_index":185,"t":{"320":{"position":[[0,2]]}}}],["多",{"_index":257,"t":{"565":{"position":[[1,1]]},"619":{"position":[[4,1]]},"681":{"position":[[4,1]]}}}],["失败",{"_index":317,"t":{"712":{"position":[[13,2]]},"713":{"position":[[8,2]]},"715":{"position":[[11,2]]},"722":{"position":[[12,2]]},"724":{"position":[[14,2]]}}}],["如何",{"_index":6,"t":{"12":{"position":[[0,2]]},"140":{"position":[[0,2]]},"602":{"position":[[3,2]]},"604":{"position":[[3,2]]}}}],["存储",{"_index":133,"t":{"191":{"position":[[4,2]]}}}],["安装",{"_index":100,"t":{"149":{"position":[[2,2]]},"198":{"position":[[2,2]]},"340":{"position":[[2,2]]},"377":{"position":[[10,2]]},"390":{"position":[[10,2]]},"392":{"position":[[7,2]]},"401":{"position":[[10,2]]},"403":{"position":[[6,2]]},"418":{"position":[[10,2]]},"436":{"position":[[10,2]]},"438":{"position":[[8,2]]},"447":{"position":[[10,2]]},"449":{"position":[[6,2]]},"474":{"position":[[13,2]]},"481":{"position":[[8,2]]},"561":{"position":[[2,2]]},"597":{"position":[[11,2]]},"630":{"position":[[3,2]]},"632":{"position":[[3,2]]},"641":{"position":[[30,2]]},"643":{"position":[[31,2]]},"651":{"position":[[33,2]]},"653":{"position":[[38,2]]},"656":{"position":[[13,2]]},"658":{"position":[[3,2]]},"671":{"position":[[3,2]]},"743":{"position":[[3,2]]},"751":{"position":[[6,2]]},"753":{"position":[[9,2]]},"761":{"position":[[3,2]]},"1006":{"position":[[0,2]]},"1008":{"position":[[2,2]]},"1991":{"position":[[3,2]]},"2000":{"position":[[3,2]]},"2001":{"position":[[4,2]]},"2005":{"position":[[4,2]]},"2009":{"position":[[4,2]]}}}],["安装包",{"_index":324,"t":{"741":{"position":[[5,3]]}}}],["完成",{"_index":196,"t":{"334":{"position":[[0,2]]}}}],["实现",{"_index":5,"t":{"10":{"position":[[2,2]]},"534":{"position":[[0,2]]},"835":{"position":[[2,2]]},"886":{"position":[[0,2]]}}}],["实际",{"_index":383,"t":{"896":{"position":[[0,2]]},"912":{"position":[[0,2]]}}}],["审计",{"_index":23,"t":{"24":{"position":[[5,2]]},"717":{"position":[[7,2]]}}}],["客户端",{"_index":331,"t":{"763":{"position":[[3,3]]}}}],["容器",{"_index":60,"t":{"70":{"position":[[0,2]]},"998":{"position":[[10,2]]}}}],["密",{"_index":272,"t":{"595":{"position":[[26,1]]}}}],["密码",{"_index":363,"t":{"855":{"position":[[2,2]]},"858":{"position":[[2,2]]}}}],["密钥",{"_index":117,"t":{"172":{"position":[[6,2]]},"174":{"position":[[11,2]]}}}],["对照",{"_index":309,"t":{"691":{"position":[[5,2]]}}}],["导入",{"_index":188,"t":{"326":{"position":[[0,2]]},"357":{"position":[[0,2]]}}}],["导航",{"_index":162,"t":{"263":{"position":[[7,2]]},"265":{"position":[[7,2]]},"297":{"position":[[3,2]]},"968":{"position":[[2,2]]},"970":{"position":[[2,2]]}}}],["封锁",{"_index":339,"t":{"789":{"position":[[6,2]]},"797":{"position":[[10,2]]}}}],["将",{"_index":116,"t":{"172":{"position":[[2,1]]},"724":{"position":[[4,1]]}}}],["展示",{"_index":157,"t":{"252":{"position":[[4,2]]}}}],["嵌入",{"_index":206,"t":{"364":{"position":[[5,2]]}}}],["已有",{"_index":189,"t":{"326":{"position":[[2,2]]},"357":{"position":[[2,2]]}}}],["常见",{"_index":308,"t":{"691":{"position":[[0,2]]}}}],["平滑",{"_index":7,"t":{"12":{"position":[[2,2]]}}}],["并行",{"_index":131,"t":{"191":{"position":[[0,2]]}}}],["应用",{"_index":33,"t":{"32":{"position":[[6,2]]},"497":{"position":[[6,2]]},"499":{"position":[[4,2]]},"518":{"position":[[4,2]]},"520":{"position":[[4,2]]},"712":{"position":[[9,2]]},"715":{"position":[[7,2]]},"807":{"position":[[3,2]]}}}],["建立",{"_index":269,"t":{"595":{"position":[[3,2]]}}}],["开发",{"_index":51,"t":{"57":{"position":[[2,2]]},"62":{"position":[[2,2]]},"64":{"position":[[2,2]]},"68":{"position":[[2,2]]},"916":{"position":[[0,2]]}}}],["开启",{"_index":421,"t":{"1010":{"position":[[9,2]]}}}],["开始",{"_index":50,"t":{"57":{"position":[[0,2]]}}}],["弹窗",{"_index":226,"t":{"408":{"position":[[41,2]]}}}],["必须",{"_index":348,"t":{"835":{"position":[[0,2]]}}}],["快速",{"_index":153,"t":{"242":{"position":[[4,2]]},"817":{"position":[[0,2]]}}}],["怎样",{"_index":4,"t":{"10":{"position":[[0,2]]}}}],["所有",{"_index":46,"t":{"47":{"position":[[3,2]]}}}],["手动",{"_index":258,"t":{"571":{"position":[[0,2]]}}}],["打印",{"_index":310,"t":{"697":{"position":[[0,2]]}}}],["打开",{"_index":380,"t":{"890":{"position":[[0,2]]}}}],["执行",{"_index":316,"t":{"712":{"position":[[11,2]]},"713":{"position":[[6,2]]},"715":{"position":[[9,2]]}}}],["扩展",{"_index":237,"t":{"481":{"position":[[6,2]]},"916":{"position":[[4,2]]},"918":{"position":[[10,2]]},"964":{"position":[[0,2]]},"973":{"position":[[8,2]]}}}],["报",{"_index":223,"t":{"408":{"position":[[19,1]]}}}],["报错",{"_index":313,"t":{"706":{"position":[[5,2]]}}}],["拉",{"_index":249,"t":{"528":{"position":[[6,1]]}}}],["拓展",{"_index":140,"t":{"211":{"position":[[0,2]]}}}],["接口",{"_index":400,"t":{"966":{"position":[[2,2]]}}}],["控制",{"_index":407,"t":{"973":{"position":[[6,2]]}}}],["推荐",{"_index":55,"t":{"60":{"position":[[0,2]]},"902":{"position":[[16,2]]}}}],["提交",{"_index":346,"t":{"825":{"position":[[0,2]]}}}],["插件",{"_index":135,"t":{"208":{"position":[[0,2]]}}}],["搜索",{"_index":98,"t":{"143":{"position":[[15,2]]}}}],["搭建",{"_index":332,"t":{"763":{"position":[[6,2]]}}}],["操作",{"_index":92,"t":{"140":{"position":[[7,2]]},"143":{"position":[[6,2]]},"615":{"position":[[9,2]]},"717":{"position":[[5,2],[12,2]]}}}],["支持",{"_index":145,"t":{"228":{"position":[[0,2]]},"539":{"position":[[0,2]]},"681":{"position":[[2,2]]},"803":{"position":[[0,2]]}}}],["效果",{"_index":156,"t":{"252":{"position":[[2,2]]}}}],["数字",{"_index":248,"t":{"526":{"position":[[7,2]]}}}],["数据库",{"_index":21,"t":{"18":{"position":[[12,3]]}}}],["文件",{"_index":132,"t":{"191":{"position":[[2,2]]},"275":{"position":[[14,2]]},"420":{"position":[[14,2]]},"451":{"position":[[14,2]]},"476":{"position":[[14,2]]},"882":{"position":[[12,2]]},"900":{"position":[[7,2]]},"904":{"position":[[15,2]]}}}],["文本",{"_index":147,"t":{"228":{"position":[[5,2]]},"299":{"position":[[13,2]]},"524":{"position":[[7,2]]}}}],["文档",{"_index":287,"t":{"619":{"position":[[5,2]]},"712":{"position":[[20,2]]}}}],["新",{"_index":168,"t":{"279":{"position":[[2,1],[11,1]]}}}],["新增",{"_index":90,"t":{"140":{"position":[[2,2]]},"604":{"position":[[5,2]]}}}],["方式",{"_index":107,"t":{"159":{"position":[[5,2]]},"279":{"position":[[15,2]]}}}],["方案",{"_index":71,"t":{"74":{"position":[[18,2]]}}}],["日志",{"_index":24,"t":{"24":{"position":[[7,2]]},"143":{"position":[[10,2]]},"368":{"position":[[2,2]]},"599":{"position":[[19,2]]},"697":{"position":[[4,2]]},"708":{"position":[[6,2]]},"710":{"position":[[6,2]]},"717":{"position":[[14,2]]},"730":{"position":[[0,2]]},"731":{"position":[[2,2]]},"733":{"position":[[2,2]]}}}],["时",{"_index":221,"t":{"408":{"position":[[16,1]]},"787":{"position":[[10,1]]},"789":{"position":[[10,1]]},"791":{"position":[[10,1]]},"795":{"position":[[14,1]]},"797":{"position":[[14,1]]},"799":{"position":[[14,1]]},"876":{"position":[[2,1]]}}}],["更",{"_index":256,"t":{"565":{"position":[[0,1]]},"619":{"position":[[3,1]]}}}],["更新",{"_index":199,"t":{"344":{"position":[[0,2]]},"693":{"position":[[0,2]]},"728":{"position":[[0,2]]}}}],["服务",{"_index":43,"t":{"36":{"position":[[5,2]]},"40":{"position":[[9,2]]},"49":{"position":[[3,2]]},"151":{"position":[[4,2]]},"153":{"position":[[2,2]]},"178":{"position":[[7,2]]},"187":{"position":[[6,2]]},"191":{"position":[[6,2]]},"200":{"position":[[6,2]]},"202":{"position":[[2,2]]},"240":{"position":[[8,2]]},"346":{"position":[[4,2]]},"348":{"position":[[2,2]]},"563":{"position":[[4,2]]},"567":{"position":[[2,2]]},"829":{"position":[[7,2]]},"890":{"position":[[4,2]]},"910":{"position":[[4,2],[13,2]]},"995":{"position":[[4,2]]},"998":{"position":[[6,2]]},"1002":{"position":[[6,2]]},"1004":{"position":[[14,2]]},"1998":{"position":[[11,2]]}}}],["服务端",{"_index":330,"t":{"761":{"position":[[8,3]]}}}],["期间",{"_index":127,"t":{"182":{"position":[[4,2]]}}}],["本地",{"_index":58,"t":{"62":{"position":[[0,2]]},"68":{"position":[[0,2]]}}}],["来访",{"_index":178,"t":{"301":{"position":[[0,2]]}}}],["构建",{"_index":61,"t":{"70":{"position":[[2,2]]},"379":{"position":[[2,2]]},"645":{"position":[[4,2]]},"660":{"position":[[2,2]]}}}],["架构",{"_index":305,"t":{"681":{"position":[[5,2]]}}}],["某个",{"_index":322,"t":{"724":{"position":[[10,2]]}}}],["查看",{"_index":97,"t":{"143":{"position":[[12,2]]},"328":{"position":[[0,2]]},"706":{"position":[[8,2]]},"708":{"position":[[4,2]]},"712":{"position":[[16,2]]},"717":{"position":[[10,2]]},"731":{"position":[[0,2]]}}}],["查询",{"_index":358,"t":{"848":{"position":[[0,2]]}}}],["栏",{"_index":173,"t":{"297":{"position":[[5,1]]},"970":{"position":[[4,1]]}}}],["桌面",{"_index":220,"t":{"408":{"position":[[14,2]]},"539":{"position":[[3,2]]}}}],["桌面环境",{"_index":213,"t":{"403":{"position":[[2,4]]}}}],["检查",{"_index":65,"t":{"72":{"position":[[4,2]]}}}],["模仿",{"_index":113,"t":{"168":{"position":[[0,2]]},"719":{"position":[[12,2]]}}}],["模型",{"_index":336,"t":{"781":{"position":[[2,2]]}}}],["欠费",{"_index":340,"t":{"791":{"position":[[6,2]]}}}],["正常",{"_index":338,"t":{"787":{"position":[[6,2]]},"795":{"position":[[10,2]]}}}],["每个",{"_index":265,"t":{"590":{"position":[[4,2]]},"595":{"position":[[12,2]]},"597":{"position":[[4,2]]}}}],["池",{"_index":487,"t":{"1994":{"position":[[7,1]]}}}],["注册",{"_index":378,"t":{"886":{"position":[[3,2]]}}}],["注意",{"_index":99,"t":{"145":{"position":[[0,2]]},"215":{"position":[[0,2]]},"587":{"position":[[0,2]]}}}],["注意事项",{"_index":84,"t":{"114":{"position":[[0,4]]},"480":{"position":[[0,4]]},"972":{"position":[[0,4]]},"975":{"position":[[2,4]]}}}],["流程",{"_index":151,"t":{"232":{"position":[[9,2]]},"666":{"position":[[6,2]]}}}],["测试",{"_index":59,"t":{"64":{"position":[[0,2]]},"747":{"position":[[11,2]]},"1998":{"position":[[4,2]]}}}],["消息",{"_index":406,"t":{"973":{"position":[[4,2]]}}}],["添加",{"_index":22,"t":{"24":{"position":[[3,2]]},"34":{"position":[[7,2]]},"330":{"position":[[0,2]]},"420":{"position":[[2,2]]},"451":{"position":[[2,2]]},"476":{"position":[[2,2]]},"590":{"position":[[8,2]]},"701":{"position":[[5,2]]},"703":{"position":[[5,2]]},"724":{"position":[[7,2]]},"745":{"position":[[3,2]]}}}],["源",{"_index":18,"t":{"18":{"position":[[7,1]]}}}],["源码",{"_index":299,"t":{"651":{"position":[[31,2]]}}}],["熵",{"_index":486,"t":{"1994":{"position":[[6,1]]}}}],["版本",{"_index":297,"t":{"641":{"position":[[27,2]]},"643":{"position":[[28,2]]},"649":{"position":[[27,2]]},"651":{"position":[[28,2]]},"653":{"position":[[28,2]]}}}],["版本控制",{"_index":387,"t":{"906":{"position":[[3,4]]}}}],["特定",{"_index":240,"t":{"499":{"position":[[0,2]]},"719":{"position":[[5,2]]}}}],["特点",{"_index":333,"t":{"771":{"position":[[3,2]]},"775":{"position":[[3,2]]}}}],["状态",{"_index":204,"t":{"362":{"position":[[2,2]]},"785":{"position":[[2,2]]},"787":{"position":[[8,2]]},"789":{"position":[[8,2]]},"791":{"position":[[8,2]]},"793":{"position":[[7,2]]},"795":{"position":[[12,2]]},"797":{"position":[[12,2]]},"799":{"position":[[12,2]]}}}],["环境",{"_index":54,"t":{"58":{"position":[[4,2]]},"64":{"position":[[4,2]]},"66":{"position":[[13,2]]},"653":{"position":[[36,2]]},"719":{"position":[[7,2]]},"777":{"position":[[2,2]]},"880":{"position":[[2,2]]},"985":{"position":[[2,2]]}}}],["环境变量",{"_index":325,"t":{"745":{"position":[[5,4]]},"1973":{"position":[[0,4]]},"1976":{"position":[[0,4]]},"1979":{"position":[[0,4]]},"1982":{"position":[[0,4]]},"1988":{"position":[[0,4]]}}}],["生成",{"_index":377,"t":{"882":{"position":[[15,2]]},"902":{"position":[[11,2]]},"1994":{"position":[[4,2]]}}}],["用户",{"_index":114,"t":{"168":{"position":[[2,2]]},"238":{"position":[[2,2]]},"318":{"position":[[4,2]]},"322":{"position":[[9,2]]},"326":{"position":[[4,2]]},"328":{"position":[[5,2],[18,2]]},"330":{"position":[[7,2]]},"357":{"position":[[4,2]]},"359":{"position":[[10,2]]},"595":{"position":[[23,2]]},"701":{"position":[[11,2]]},"703":{"position":[[11,2]]},"717":{"position":[[3,2]]},"719":{"position":[[14,2]]},"722":{"position":[[4,2]]},"724":{"position":[[5,2]]},"793":{"position":[[0,2]]},"795":{"position":[[2,2]]},"797":{"position":[[2,2]]},"799":{"position":[[2,2]]},"844":{"position":[[2,2]]},"848":{"position":[[2,2]]},"862":{"position":[[0,2]]},"1992":{"position":[[11,2]]},"2003":{"position":[[11,2]]},"2011":{"position":[[9,2]]}}}],["用户界面",{"_index":186,"t":{"320":{"position":[[4,4]]}}}],["界面",{"_index":312,"t":{"701":{"position":[[3,2]]}}}],["登录",{"_index":38,"t":{"34":{"position":[[3,2]]},"234":{"position":[[6,2]]},"236":{"position":[[0,2]]},"719":{"position":[[16,2]]}}}],["白名单",{"_index":181,"t":{"306":{"position":[[2,3]]}}}],["监控",{"_index":414,"t":{"996":{"position":[[4,2]]},"998":{"position":[[4,2]]},"1002":{"position":[[4,2]]},"1010":{"position":[[13,2]]}}}],["目录",{"_index":165,"t":{"275":{"position":[[4,2]]}}}],["直接",{"_index":205,"t":{"364":{"position":[[3,2]]}}}],["相关",{"_index":355,"t":{"844":{"position":[[6,2]]},"848":{"position":[[6,2]]},"851":{"position":[[4,2]]},"855":{"position":[[4,2]]},"858":{"position":[[4,2]]},"862":{"position":[[6,2]]},"872":{"position":[[0,2]]},"998":{"position":[[8,2]]}}}],["相对路径",{"_index":142,"t":{"218":{"position":[[3,4]]}}}],["示例",{"_index":78,"t":{"96":{"position":[[2,2]]},"119":{"position":[[2,2]]},"226":{"position":[[2,2]]},"248":{"position":[[2,2]]},"262":{"position":[[2,2]]},"263":{"position":[[13,2]]},"265":{"position":[[13,2]]},"285":{"position":[[2,2]]},"312":{"position":[[2,2]]},"314":{"position":[[4,2]]},"485":{"position":[[2,2]]},"491":{"position":[[2,2]]},"501":{"position":[[2,2]]},"506":{"position":[[2,2]]},"517":{"position":[[2,2]]},"518":{"position":[[14,2]]},"520":{"position":[[14,2]]},"544":{"position":[[2,2]]},"896":{"position":[[4,2]]},"912":{"position":[[4,2]]}}}],["私",{"_index":275,"t":{"602":{"position":[[9,1]]}}}],["移除",{"_index":321,"t":{"722":{"position":[[10,2]]}}}],["章",{"_index":229,"t":{"417":{"position":[[1,1]]},"655":{"position":[[1,1]]}}}],["端",{"_index":102,"t":{"151":{"position":[[3,1]]},"346":{"position":[[3,1]]},"890":{"position":[[3,1]]}}}],["简介",{"_index":74,"t":{"85":{"position":[[2,2]]},"108":{"position":[[2,2]]},"373":{"position":[[2,2]]},"386":{"position":[[2,2]]},"397":{"position":[[2,2]]},"411":{"position":[[2,2]]},"423":{"position":[[2,2]]},"432":{"position":[[2,2]]},"443":{"position":[[2,2]]},"456":{"position":[[2,2]]},"463":{"position":[[2,2]]},"470":{"position":[[2,2]]},"637":{"position":[[2,2]]}}}],["管理",{"_index":70,"t":{"74":{"position":[[16,2]]},"174":{"position":[[6,2]]}}}],["管理员",{"_index":193,"t":{"328":{"position":[[15,3]]},"330":{"position":[[4,3]]}}}],["管理系统",{"_index":161,"t":{"260":{"position":[[0,4]]},"265":{"position":[[0,4]]},"338":{"position":[[0,4]]}}}],["类",{"_index":242,"t":{"518":{"position":[[3,1]]},"520":{"position":[[3,1]]}}}],["类型",{"_index":247,"t":{"524":{"position":[[4,2]]},"526":{"position":[[4,2]]}}}],["系统",{"_index":106,"t":{"157":{"position":[[4,2]]},"258":{"position":[[2,2]]},"263":{"position":[[2,2]]},"328":{"position":[[2,2]]},"350":{"position":[[0,2]]},"706":{"position":[[3,2]]}}}],["级别",{"_index":315,"t":{"710":{"position":[[8,2]]}}}],["结构",{"_index":49,"t":{"55":{"position":[[4,2]]}}}],["结果",{"_index":184,"t":{"314":{"position":[[2,2]]}}}],["维",{"_index":285,"t":{"615":{"position":[[8,1]]}}}],["编写",{"_index":101,"t":{"151":{"position":[[0,2]]},"200":{"position":[[0,2]]},"206":{"position":[[0,2]]},"346":{"position":[[0,2]]},"563":{"position":[[0,2]]}}}],["编译",{"_index":303,"t":{"669":{"position":[[3,2]]},"681":{"position":[[0,2]]},"1008":{"position":[[0,2]]}}}],["编辑",{"_index":194,"t":{"332":{"position":[[0,2]]},"815":{"position":[[3,2]]},"996":{"position":[[0,2]]}}}],["网",{"_index":276,"t":{"602":{"position":[[10,1]]}}}],["网络",{"_index":267,"t":{"591":{"position":[[0,2]]}}}],["网络接口",{"_index":381,"t":{"890":{"position":[[6,4]]}}}],["网页",{"_index":343,"t":{"815":{"position":[[1,2]]}}}],["脚本",{"_index":154,"t":{"242":{"position":[[8,2]]}}}],["自动",{"_index":259,"t":{"573":{"position":[[0,2]]}}}],["自定义",{"_index":91,"t":{"140":{"position":[[4,3]]},"143":{"position":[[3,3]]},"159":{"position":[[0,3]]},"263":{"position":[[4,3]]},"265":{"position":[[4,3]]},"269":{"position":[[0,3]]},"275":{"position":[[7,3]]},"295":{"position":[[0,3]]},"297":{"position":[[0,3]]},"299":{"position":[[0,3]]},"557":{"position":[[0,3]]},"599":{"position":[[6,3]]},"829":{"position":[[2,3]]}}}],["自己",{"_index":123,"t":{"174":{"position":[[4,2]]}}}],["色",{"_index":176,"t":{"299":{"position":[[5,1]]}}}],["节点",{"_index":47,"t":{"47":{"position":[[5,2]]},"49":{"position":[[5,2]]},"353":{"position":[[7,2]]},"590":{"position":[[12,2]]},"595":{"position":[[9,2],[16,2]]},"597":{"position":[[8,2]]},"602":{"position":[[7,2]]},"604":{"position":[[9,2]]},"622":{"position":[[16,2]]},"624":{"position":[[8,2]]},"626":{"position":[[7,2]]},"667":{"position":[[11,2]]}}}],["获取",{"_index":323,"t":{"741":{"position":[[3,2]]},"882":{"position":[[5,2]]},"900":{"position":[[0,2]]},"902":{"position":[[8,2]]},"904":{"position":[[8,2]]}}}],["行为",{"_index":93,"t":{"140":{"position":[[9,2]]},"143":{"position":[[8,2]]}}}],["表单",{"_index":244,"t":{"518":{"position":[[12,2]]},"520":{"position":[[12,2]]},"524":{"position":[[14,2]]},"526":{"position":[[14,2]]},"528":{"position":[[15,2]]}}}],["要求",{"_index":150,"t":{"232":{"position":[[6,2]]},"575":{"position":[[2,2]]}}}],["覆盖",{"_index":136,"t":{"209":{"position":[[0,2]]}}}],["规则",{"_index":166,"t":{"275":{"position":[[10,2]]},"813":{"position":[[2,2]]},"817":{"position":[[6,2]]}}}],["角色",{"_index":164,"t":{"271":{"position":[[0,2]]}}}],["解决",{"_index":319,"t":{"719":{"position":[[3,2]]}}}],["解释",{"_index":79,"t":{"98":{"position":[[2,2]]},"121":{"position":[[2,2]]},"267":{"position":[[2,2]]},"287":{"position":[[2,2]]},"487":{"position":[[2,2]]},"493":{"position":[[2,2]]},"508":{"position":[[2,2]]},"522":{"position":[[2,2]]},"546":{"position":[[2,2]]}}}],["计算",{"_index":278,"t":{"604":{"position":[[7,2]]}}}],["计费",{"_index":169,"t":{"279":{"position":[[4,2]]},"813":{"position":[[0,2]]},"817":{"position":[[4,2]]}}}],["计量",{"_index":171,"t":{"279":{"position":[[13,2]]}}}],["认证",{"_index":105,"t":{"157":{"position":[[2,2]]},"159":{"position":[[3,2]]},"178":{"position":[[5,2]]},"232":{"position":[[4,2]]},"240":{"position":[[6,2]]},"829":{"position":[[5,2]]},"892":{"position":[[3,2]]},"894":{"position":[[7,2]]}}}],["设置",{"_index":191,"t":{"328":{"position":[[11,2]]},"710":{"position":[[4,2]]}}}],["访问",{"_index":182,"t":{"308":{"position":[[5,2]]}}}],["说明",{"_index":62,"t":{"70":{"position":[[4,2]]},"250":{"position":[[2,2]]},"269":{"position":[[7,2]]},"271":{"position":[[4,2]]}}}],["调度",{"_index":1,"t":{"8":{"position":[[3,2]]},"10":{"position":[[4,2]]},"14":{"position":[[5,2]]},"187":{"position":[[4,2]]},"342":{"position":[[2,2]]}}}],["调用",{"_index":94,"t":{"141":{"position":[[3,2]]}}}],["调试",{"_index":311,"t":{"697":{"position":[[2,2]]}}}],["账户",{"_index":190,"t":{"328":{"position":[[8,2]]},"722":{"position":[[7,2]]},"724":{"position":[[12,2]]},"785":{"position":[[0,2]]},"787":{"position":[[2,2]]},"789":{"position":[[2,2]]},"791":{"position":[[2,2]]},"793":{"position":[[3,2]]},"795":{"position":[[5,2]]},"797":{"position":[[5,2]]},"799":{"position":[[5,2]]},"862":{"position":[[2,2]]},"2011":{"position":[[6,2]]}}}],["资源",{"_index":203,"t":{"362":{"position":[[0,2]]}}}],["路径",{"_index":274,"t":{"599":{"position":[[21,2]]}}}],["软件",{"_index":73,"t":{"85":{"position":[[0,2]]},"89":{"position":[[2,2]]},"108":{"position":[[0,2]]},"373":{"position":[[0,2]]},"386":{"position":[[0,2]]},"397":{"position":[[0,2]]},"411":{"position":[[0,2]]},"423":{"position":[[0,2]]},"427":{"position":[[2,2]]},"432":{"position":[[0,2]]},"443":{"position":[[0,2]]},"456":{"position":[[0,2]]},"463":{"position":[[0,2]]},"470":{"position":[[0,2]]},"597":{"position":[[24,2]]},"637":{"position":[[0,2]]}}}],["输入",{"_index":246,"t":{"524":{"position":[[2,2]]},"526":{"position":[[2,2]]},"528":{"position":[[2,2]]}}}],["输出",{"_index":318,"t":{"712":{"position":[[18,2]]},"733":{"position":[[4,2]]}}}],["迁移",{"_index":307,"t":{"689":{"position":[[16,2]]}}}],["运",{"_index":284,"t":{"615":{"position":[[7,1]]}}}],["运行日志",{"_index":314,"t":{"706":{"position":[[10,4]]}}}],["这个",{"_index":170,"t":{"279":{"position":[[9,2]]}}}],["进入",{"_index":218,"t":{"408":{"position":[[7,2]]}}}],["连接",{"_index":217,"t":{"408":{"position":[[5,2]]},"910":{"position":[[6,2]]}}}],["适配器",{"_index":3,"t":{"8":{"position":[[6,3]]},"10":{"position":[[7,3]]},"14":{"position":[[8,3]]},"28":{"position":[[5,3]]},"342":{"position":[[5,3]]},"353":{"position":[[17,3]]},"669":{"position":[[8,3]]}}}],["选",{"_index":36,"t":{"32":{"position":[[14,1]]},"34":{"position":[[17,1]]},"277":{"position":[[11,1]]},"599":{"position":[[4,1]]},"2011":{"position":[[13,1]]}}}],["选定",{"_index":200,"t":{"353":{"position":[[0,2]]}}}],["选择器",{"_index":250,"t":{"528":{"position":[[7,3]]}}}],["通过",{"_index":385,"t":{"904":{"position":[[3,2]]},"973":{"position":[[0,2]]}}}],["邮箱",{"_index":359,"t":{"851":{"position":[[2,2]]}}}],["部署",{"_index":10,"t":{"14":{"position":[[3,2]]},"28":{"position":[[3,2]]},"342":{"position":[[0,2]]},"353":{"position":[[10,2]]},"611":{"position":[[7,2]]},"666":{"position":[[4,2]]},"667":{"position":[[9,2]]},"669":{"position":[[6,2]]},"1996":{"position":[[4,2]]}}}],["配置",{"_index":77,"t":{"96":{"position":[[0,2]]},"98":{"position":[[0,2]]},"119":{"position":[[0,2]]},"121":{"position":[[0,2]]},"151":{"position":[[6,2]]},"162":{"position":[[3,2]]},"178":{"position":[[0,2]]},"182":{"position":[[6,2]]},"200":{"position":[[8,2]]},"206":{"position":[[3,2]]},"220":{"position":[[0,2]]},"226":{"position":[[0,2]]},"228":{"position":[[10,2]]},"240":{"position":[[0,2]]},"242":{"position":[[6,2]]},"248":{"position":[[0,2]]},"250":{"position":[[0,2]]},"252":{"position":[[0,2]]},"258":{"position":[[6,2]]},"260":{"position":[[6,2]]},"262":{"position":[[0,2]]},"263":{"position":[[11,2]]},"265":{"position":[[11,2]]},"267":{"position":[[0,2]]},"269":{"position":[[5,2]]},"271":{"position":[[2,2]]},"275":{"position":[[2,2]]},"277":{"position":[[12,2]]},"283":{"position":[[0,2]]},"285":{"position":[[0,2]]},"287":{"position":[[0,2]]},"306":{"position":[[5,2]]},"312":{"position":[[0,2]]},"314":{"position":[[0,2]]},"346":{"position":[[6,2]]},"355":{"position":[[4,2]]},"370":{"position":[[2,2]]},"485":{"position":[[0,2]]},"487":{"position":[[0,2]]},"491":{"position":[[0,2]]},"493":{"position":[[0,2]]},"501":{"position":[[0,2]]},"506":{"position":[[0,2]]},"508":{"position":[[0,2]]},"517":{"position":[[0,2]]},"518":{"position":[[6,2]]},"520":{"position":[[6,2]]},"522":{"position":[[0,2]]},"524":{"position":[[0,2]]},"526":{"position":[[0,2]]},"528":{"position":[[0,2]]},"530":{"position":[[0,2]]},"544":{"position":[[0,2]]},"546":{"position":[[0,2]]},"563":{"position":[[6,2]]},"565":{"position":[[2,2]]},"571":{"position":[[2,2]]},"573":{"position":[[2,2]]},"575":{"position":[[0,2]]},"593":{"position":[[0,2]]},"671":{"position":[[6,2]]},"685":{"position":[[0,2]]},"733":{"position":[[0,2]]},"755":{"position":[[3,2]]},"809":{"position":[[0,2]]},"918":{"position":[[0,2]]},"966":{"position":[[0,2]]},"989":{"position":[[0,2]]},"991":{"position":[[0,2]]},"993":{"position":[[0,2]]},"1010":{"position":[[7,2]]},"1973":{"position":[[4,2]]},"1976":{"position":[[4,2]]},"1979":{"position":[[4,2]]},"1982":{"position":[[4,2]]},"1988":{"position":[[4,2]]},"2009":{"position":[[7,2]]}}}],["配置文件",{"_index":14,"t":{"16":{"position":[[9,4]]},"30":{"position":[[7,4]]},"42":{"position":[[5,4]]},"91":{"position":[[0,4]]},"112":{"position":[[0,4]]},"149":{"position":[[4,4]]},"195":{"position":[[0,4]]},"196":{"position":[[2,4]]},"198":{"position":[[4,4]]},"340":{"position":[[4,4]]},"344":{"position":[[4,4]]},"381":{"position":[[0,4]]},"394":{"position":[[0,4]]},"405":{"position":[[0,4]]},"415":{"position":[[0,4]]},"429":{"position":[[0,4]]},"440":{"position":[[0,4]]},"453":{"position":[[0,4]]},"460":{"position":[[0,4]]},"467":{"position":[[0,4]]},"478":{"position":[[0,4]]},"561":{"position":[[4,4]]},"647":{"position":[[0,4]]},"987":{"position":[[4,4]]},"996":{"position":[[23,4]]}}}],["采用",{"_index":67,"t":{"74":{"position":[[4,2]]}}}],["重写",{"_index":401,"t":{"968":{"position":[[0,2]]}}}],["重启",{"_index":42,"t":{"36":{"position":[[3,2]]},"1002":{"position":[[0,2]]}}}],["链接",{"_index":163,"t":{"263":{"position":[[9,2]]},"265":{"position":[[9,2]]},"970":{"position":[[5,2]]}}}],["销毁",{"_index":286,"t":{"617":{"position":[[7,2]]}}}],["错误",{"_index":227,"t":{"408":{"position":[[43,2]]}}}],["镜像",{"_index":155,"t":{"244":{"position":[[4,2]]},"379":{"position":[[15,2]]},"622":{"position":[[18,2]]},"624":{"position":[[10,2]]},"626":{"position":[[9,2]]},"645":{"position":[[20,2]]},"660":{"position":[[18,2]]},"681":{"position":[[8,2]]}}}],["门户",{"_index":160,"t":{"258":{"position":[[0,2]]},"263":{"position":[[0,2]]},"563":{"position":[[2,2]]}}}],["问题",{"_index":320,"t":{"719":{"position":[[9,2]]}}}],["队列",{"_index":345,"t":{"823":{"position":[[3,2]]}}}],["附",{"_index":228,"t":{"417":{"position":[[0,1]]},"655":{"position":[[0,1]]}}}],["限额",{"_index":341,"t":{"799":{"position":[[10,2]]}}}],["集成",{"_index":141,"t":{"211":{"position":[[3,2]]}}}],["集群",{"_index":30,"t":{"30":{"position":[[5,2]]},"185":{"position":[[4,2]]},"196":{"position":[[0,2]]},"234":{"position":[[8,2]]},"344":{"position":[[2,2]]},"355":{"position":[[2,2]]},"497":{"position":[[2,2]]},"499":{"position":[[2,2]]},"590":{"position":[[6,2]]},"611":{"position":[[3,2]]},"613":{"position":[[3,2]]},"617":{"position":[[3,2]]},"996":{"position":[[2,2]]},"998":{"position":[[2,2]]},"1002":{"position":[[2,2]]},"1010":{"position":[[11,2]]}}}],["静态",{"_index":382,"t":{"894":{"position":[[0,2]]}}}],["页",{"_index":399,"t":{"964":{"position":[[2,1]]}}}],["页面",{"_index":39,"t":{"34":{"position":[[5,2]]},"318":{"position":[[6,2]]},"973":{"position":[[10,2]]}}}],["项",{"_index":149,"t":{"228":{"position":[[12,1]]},"279":{"position":[[6,1]]},"968":{"position":[[4,1]]}}}],["项目",{"_index":384,"t":{"896":{"position":[[2,2]]},"912":{"position":[[2,2]]}}}],["风格",{"_index":64,"t":{"72":{"position":[[2,2]]}}}],["首次",{"_index":216,"t":{"408":{"position":[[3,2]]}}}],["验证",{"_index":362,"t":{"855":{"position":[[0,2]]}}}],["验证码",{"_index":112,"t":{"166":{"position":[[0,3]]}}}],["高度",{"_index":408,"t":{"973":{"position":[[13,2]]}}}]],"pipeline":["stemmer"]}},{"documents":[{"i":1,"t":"历史博文","s":"","u":"/SCOW/blog/archive","p":1},{"i":2,"t":"scow文档网站上线!","s":"scow文档上线","u":"/SCOW/blog/docs-online","p":2},{"i":4,"t":"我们致力于以让大家更方便地部署、运维和管理SCOW集群。","s":"scow-cli","u":"/SCOW/blog/scow-cli-release","p":4},{"i":6,"t":"什么是调度器适配器","s":"SCOW调度器适配器","u":"/SCOW/blog/scow-scheduler-adapter","p":6},{"i":20,"t":"上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。","s":"交互式应用配置更新","u":"/SCOW/blog/update-portal-app","p":20},{"i":22,"t":"本文档适用于从v0.4.0(及以上)升级到v1.0.0。","s":"SCOW升级:从v0.4.0(及以上)到v1.0.0","u":"/SCOW/blog/scow-update-to-v1.0","p":22},{"i":38,"t":"上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。","s":"scow-deployment平滑升级指导","u":"/SCOW/blog/update-to-python-deployment","p":38},{"i":46,"t":"1. 所有节点","s":"基础配置","u":"/SCOW/docs/basic-config","p":46},{"i":51,"t":"感谢您对参与SCOW项目开发的兴趣!我们欢迎对项目有兴趣的参与者一起参与项目开发。","s":"贡献指南","u":"/SCOW/docs/contribution","p":51},{"i":53,"t":"本节介绍开发项目相关的资料。","s":"开发","u":"/SCOW/docs/contribution/dev","p":53},{"i":78,"t":"本部分帮助您安装和配置SCOW。","s":"安装和配置","u":"/SCOW/docs/deploy","p":78},{"i":80,"t":"系统各个组件的关系如下图。此部分简要介绍各个组件的功能,具体部署请参考各个组件的页面。","s":"架构","u":"/SCOW/docs/deploy/architecture","p":80},{"i":82,"t":"SCOW使用配置文件进行系统的配置。","s":"配置简介","u":"/SCOW/docs/deploy/config","p":82},{"i":84,"t":"软件简介","s":"JupyterLab","u":"/SCOW/docs/deploy/config/ai/apps/apps/jupyterlab","p":84},{"i":93,"t":"前提条件","s":"配置桌面类应用","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","p":93},{"i":107,"t":"软件简介","s":"VSCode","u":"/SCOW/docs/deploy/config/ai/apps/apps/vscode","p":107},{"i":116,"t":"前提条件","s":"配置Web类应用","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","p":116},{"i":134,"t":"参考文档简要了解交互式作业功能, 目前beta版本支持Web类和Vnc类应用功能。","s":"交互式作业","u":"/SCOW/docs/deploy/config/ai/apps/intro","p":134},{"i":136,"t":"本节介绍如何使用自定义操作行为日志","s":"自定义操作行为日志","u":"/SCOW/docs/deploy/config/audit/customEvent","p":136},{"i":147,"t":"本节介绍如何配置审计系统。","s":"配置审计系统","u":"/SCOW/docs/deploy/config/audit/intro","p":147},{"i":155,"t":"认证系统(auth)为系统提供用户登录功能,以及为各个组件提供鉴权服务。","s":"认证系统简介","u":"/SCOW/docs/deploy/config/auth/intro","p":155},{"i":161,"t":"UI 配置","s":"内置认证系统配置","u":"/SCOW/docs/deploy/config/auth/config","p":161},{"i":176,"t":"本节介绍内置认证系统并采用SSH进行用户认证的认证系统。","s":"SSH认证系统","u":"/SCOW/docs/deploy/config/auth/ssh","p":176},{"i":180,"t":"本节介绍如何配置 AI 系统(beta)。","s":"配置 AI 系统(beta)","u":"/SCOW/docs/deploy/config/ai/intro","p":180},{"i":204,"t":"实验性功能!","s":"CLI插件","u":"/SCOW/docs/deploy/config/cli/plugins","p":204},{"i":213,"t":"对于每个需要进行部署的集群,需要在config/clusters目录下创建一个{集群ID}/config.yml(或{集群ID}.yml)文件,并编写集群的信息。当您的集群信息修改后,您需要同时手动修改对应的集群配置文件。","s":"集群配置文件","u":"/SCOW/docs/deploy/config/cluster-config","p":213},{"i":217,"t":"什么是相对路径(base path)","s":"自定义相对路径","u":"/SCOW/docs/deploy/config/customization/basepath","p":217},{"i":222,"t":"当管理员或财务人员在管理系统下查询消费列表时,系统支持按消费类型进行查询结果过滤。","s":"自定义可查询的消费类型","u":"/SCOW/docs/deploy/config/customization/custom-charge-types","p":222},{"i":224,"t":"在SCOW的页面国际化功能中,系统支持管理员自定义配置各配置文件中的文本显示为国际化显示。","s":"自定义可配置项的国际化文本","u":"/SCOW/docs/deploy/config/customization/custom-config-i18n","p":224},{"i":230,"t":"本节介绍使用内置认证系统并使用LDAP进行用户认证。","s":"LDAP认证系统","u":"/SCOW/docs/deploy/config/auth/ldap","p":230},{"i":246,"t":"系统支持在mis.yaml中通过可选配置jobChargeMetadata将作业相关的字段以Json格式保存在消费记录中。","s":"自定义在消费记录中保存作业相关字段","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","p":246},{"i":256,"t":"您可以增加门户和管理系统的导航链接,点击这些链接会跳转到您指定的URL。","s":"自定义导航链接","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","p":256},{"i":273,"t":"在管理系统中,您可以增加通过代码自定义收费规则,然后在配置文件中进行配置,就可以在创建新的计费项使用这个新的计量方式","s":"通过代码自定义收费规则","u":"/SCOW/docs/deploy/config/customization/custom-amount-strategies","p":273},{"i":281,"t":"您可以在门户和管理系统导航栏右侧的用户下拉菜单中增加链接,点击这些链接会跳转到您指定的URL。","s":"自定义导航栏右侧的用户下拉菜单链接","u":"/SCOW/docs/deploy/config/customization/custom-userlinks","p":281},{"i":289,"t":"当所使用的认证系统支持创建用户时,您可以使用管理系统内置的创建用户表单来完成创建用户的功能;用户可以在个人信息中修改密码,对于密码的规则,我们可以进行配置。","s":"创建用户/修改密码正则配置","u":"/SCOW/docs/deploy/config/customization/password-pattern","p":289},{"i":291,"t":"您存放在和install.yml同级的public目录下下的文件将可以在SCOW部署路径的/public 路径下访问。","s":"公共文件","u":"/SCOW/docs/deploy/config/customization/public-files","p":291},{"i":293,"t":"系统中支持自定义一些网页中的UI元素。支持自定义UI元素的组件有:","s":"自定义网页UI元素","u":"/SCOW/docs/deploy/config/customization/webui","p":293},{"i":303,"t":"extra","s":"网关配置","u":"/SCOW/docs/deploy/config/gateway/config","p":303},{"i":310,"t":"支持用户在common.yml文件中通过配置项systemLanguage自定义是否使用SCOW的页面国际化功能。","s":"自定义系统语言","u":"/SCOW/docs/deploy/config/customization/custom-system-language","p":310},{"i":316,"t":"在以下情况下,管理系统允许用户或者管理员在SCOW中创建用户。","s":"创建用户配置","u":"/SCOW/docs/deploy/config/mis/create-user","p":316},{"i":324,"t":"当管理系统部署完成后,访问部署路径的/init路径下,即可进行管理系统的初始化页面。","s":"管理系统初始化","u":"/SCOW/docs/deploy/config/mis/init","p":324},{"i":336,"t":"本节介绍如何配置管理系统。","s":"配置管理系统","u":"/SCOW/docs/deploy/config/mis/intro","p":336},{"i":352,"t":"使用slurm的集群的配置","s":"配置使用slurm的集群","u":"/SCOW/docs/deploy/config/mis/schedulers/slurm","p":352},{"i":361,"t":"资源状态","s":"集群监控功能(可选)","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","p":361},{"i":372,"t":"软件简介","s":"Baltamatica","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","p":372},{"i":383,"t":"同步调度器账户、用户封锁状态","s":"刷新调度器账户、用户封锁状态","u":"/SCOW/docs/deploy/config/mis/schedulers/sync","p":383},{"i":385,"t":"软件简介","s":"Emacs","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","p":385},{"i":396,"t":"软件简介","s":"Desktop","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","p":396},{"i":410,"t":"软件简介","s":"Jupyter","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","p":410},{"i":422,"t":"软件简介","s":"JupyterLab","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyterlab","p":422},{"i":431,"t":"软件简介","s":"Octave","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","p":431},{"i":442,"t":"软件简介","s":"IGV","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","p":442},{"i":455,"t":"软件简介","s":"Relion","u":"/SCOW/docs/deploy/config/portal/apps/apps/relion","p":455},{"i":462,"t":"软件简介","s":"Matlab","u":"/SCOW/docs/deploy/config/portal/apps/apps/matlab","p":462},{"i":469,"t":"软件简介","s":"VSCode","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","p":469},{"i":483,"t":"系统支持对不同的交互式应用配置说明文字进行描述。文本支持HTML的标签,将会被放在一个div中。","s":"配置应用的说明文字","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-comment","p":483},{"i":489,"t":"Web和VNC类应用都可以通过logoPath配置项,修改创建应用的图标。","s":"配置应用图标","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-logo","p":489},{"i":495,"t":"支持管理员通过在不同的配置文件路径下自定义配置各个集群均可使用的应用以及只有特定集群可以使用的应用。","s":"多集群下的应用配置","u":"/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps","p":495},{"i":503,"t":"前提条件","s":"配置桌面类应用","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","p":503},{"i":515,"t":"Web和VNC类应用都可以通过attributes配置项,修改创建应用的HTML表单,允许管理员定义用户创建交互式应用时的表单选项,让用户能够指定应用的版本等信息。","s":"配置HTML表单","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","p":515},{"i":532,"t":"参考文档简要了解交互式作业功能。","s":"交互式作业","u":"/SCOW/docs/deploy/config/portal/apps/intro","p":532},{"i":535,"t":"登录节点桌面功能能够让用户在浏览器上就能访问登录节点的桌面,并进行GUI操作。","s":"登录节点桌面功能","u":"/SCOW/docs/deploy/config/portal/desktop","p":535},{"i":541,"t":"前提条件","s":"配置Web类应用","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","p":541},{"i":555,"t":"您可以自定义门户项目仪表盘的LOGO和文本。","s":"自定义仪表盘","u":"/SCOW/docs/deploy/config/portal/customization/dashboard","p":555},{"i":559,"t":"本节介绍如何配置门户系统。","s":"配置门户系统","u":"/SCOW/docs/deploy/config/portal/intro","p":559},{"i":569,"t":"门户系统的桌面和交互式作业功能是通过HTTP代理,将用户的流量代理到了运行桌面的登录节点或者运行计算作业的计算节点上来实现的。这要求SCOW所在的服务节点能够直连所有登录和计算节点。","s":"代理网关节点","u":"/SCOW/docs/deploy/config/portal/proxy-gateway","p":569},{"i":577,"t":"Shell终端支持输入命令跳转到文件系统,进行文件的上传和下载;支持下载指定文件。","s":"Shell终端文件传输功能","u":"/SCOW/docs/deploy/config/portal/shell","p":577},{"i":589,"t":"1. 为每个集群添加传输节点","s":"跨集群文件传输功能(可选)","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","p":589},{"i":601,"t":"1. 如何修改节点私网IP","s":"自定义部署","u":"/SCOW/docs/deploy/get-started/vagrant/customization","p":601},{"i":606,"t":"1. Invalid value 'WAS' in AudioAdapter/@driver attribute","s":"FAQ","u":"/SCOW/docs/deploy/get-started/vagrant/faq","p":606},{"i":609,"t":"本项目面向开发和测试人员,基于Vagrant,采用VirtualBox作为Provider,提供slurm+SCOW集群一键部署方案,极大简化了部署流程和部署门槛。","s":"使用","u":"/SCOW/docs/deploy/get-started/vagrant","p":609},{"i":621,"t":"1. login/compute节点镜像制作","s":"vagrant镜像制作","u":"/SCOW/docs/deploy/get-started/vagrant/images","p":621},{"i":628,"t":"vagrant支持的provider包括virtualbox、hyperv、libvirt等。virtualbox支持windows、linux、macos的安装,因此本教程以virtualbox作为provider。","s":"vagrant环境搭建","u":"/SCOW/docs/deploy/get-started/vagrant/vagrant-env","p":628},{"i":636,"t":"软件简介","s":"RStudio","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","p":636},{"i":662,"t":"如何在已有超算集群上部署SCOW系统","s":"安装","u":"/SCOW/docs/deploy/install","p":662},{"i":673,"t":"从源码构建SCOW","s":"从源码构建","u":"/SCOW/docs/deploy/install/build-from-source","p":673},{"i":675,"t":"本文档从部署规划开始,一步一步搭建slurm集群,安装共享存储、安装module、intel等工具软件。","s":"slurm部署简介","u":"/SCOW/docs/hpccluster","p":675},{"i":677,"t":"SCOW对各类系统和架构的支持","s":"多架构支持","u":"/SCOW/docs/deploy/install/multi-platform","p":677},{"i":683,"t":"使用scow-cli管理SCOW集群","s":"下载","u":"/SCOW/docs/deploy/install/scow-cli","p":683},{"i":699,"t":"部署LDAP后台管理后,访问http8080/ ,登录DN LDAP服务端安装脚本adminPasswd的值。","s":"LDAP新建用户","u":"/SCOW/docs/hpccluster/add-user","p":699},{"i":705,"t":"1. 系统报错:查看运行日志","s":"SCOW管理员使用技巧","u":"/SCOW/docs/deploy/ops/admin-usage-tips","p":705},{"i":726,"t":"本节介绍如何对系统进行的常见运维操作。","s":"运维","u":"/SCOW/docs/deploy/ops","p":726},{"i":739,"t":"新版intel编译器不再是parallelstudioxexxxupdate4clusteredition,而改名为oneAPI。","s":"intel编译器安装","u":"/SCOW/docs/hpccluster/intel","p":739},{"i":749,"t":"module是给集群所有节点使用,安装在nfs共享存储目录上。创建module安装目录:","s":"module安装","u":"/SCOW/docs/hpccluster/module","p":749},{"i":757,"t":"假设待挂载盘符为/dev/sdb,挂载目录为/data","s":"数据盘挂载","u":"/SCOW/docs/hpccluster/mount-disk","p":757},{"i":759,"t":"本方案以NFS作为共享存储。","s":"NFS安装和配置","u":"/SCOW/docs/hpccluster/nfs","p":759},{"i":767,"t":"本次部署以1个服务节点、1个登录节点、2个计算节点为例,集群节规划如下:","s":"集群规划","u":"/SCOW/docs/hpccluster/plan","p":767},{"i":769,"t":"AI 系统能让您通过 Web 界面管理您在 AI 训练中的数据集、算法、模型,并通过镜像的方式来进行您的 AI 训练任务。","s":"AI 系统简介(Beta)","u":"/SCOW/docs/info/ai","p":769},{"i":773,"t":"SCOW是一个面向用户和运维人员的超算门户与管理系统。","s":"平台简介","u":"/SCOW/docs/info","p":773},{"i":779,"t":"管理系统提供高性能计算集群常见的管理功能。","s":"管理系统简介","u":"/SCOW/docs/info/mis","p":779},{"i":783,"t":"用户模型","s":"用户模型","u":"/SCOW/docs/info/mis/business/users","p":783},{"i":801,"t":"门户系统给高性能计算集群的用户提供了一个基本web的功能入口。","s":"门户系统简介","u":"/SCOW/docs/info/portal","p":801},{"i":805,"t":"借助交互式应用功能,您可以直接在浏览器上使用集群资源在计算节点上启动应用,并通过浏览器使用这些应用。","s":"交互式应用","u":"/SCOW/docs/info/portal/app","p":805},{"i":811,"t":"系统目前采用一个独立的财务系统。","s":"计费收费","u":"/SCOW/docs/info/mis/business/billing","p":811},{"i":819,"t":"集成","s":"与SCOW集成","u":"/SCOW/docs/integration","p":819},{"i":821,"t":"借助作业功能,您可以直接在浏览器上点击提交作业来使用超算集群,提交成功后,可以在未结束作业中看到该作业的运行状态等详细信息,并在所有作业中看到作业的执行结果。","s":"作业","u":"/SCOW/docs/info/portal/job","p":821},{"i":827,"t":"如果系统提供的认证系统不能满足您的需求,您可以自己使用和实现一个自定义认证服务。","s":"使用自定义认证系统","u":"/SCOW/docs/integration/auth/use","p":827},{"i":831,"t":"如果系统提供的认证系统不能满足您的需求,您可以自己实现一个自定义认证服务。","s":"实现自定义认证系统","u":"/SCOW/docs/integration/auth/impl","p":831},{"i":870,"t":"SCOW系统提供了一些数据统计相关的API,您可以通过这些API获取SCOW系统的一些统计数据。其中有部分API是以日期为维度进行的统计,您可以通过这些API获取x天内每一天的统计数据。但由于数据库里采用的是UTC时间,如果希望统计的维度和客户端一致,在使用这些API时,您需要注意时区的问题。","s":"数据统计相关API","u":"/SCOW/docs/integration/scow-api-hook/api/statistic","p":870},{"i":878,"t":"示例项目:https://github.com/PKUHPC/scow-go-demo","s":"Go示例","u":"/SCOW/docs/integration/scow-api-hook/examples/go","p":878},{"i":888,"t":"SCOW系统总体来说分为前端和后端部分(架构),SCOW的前端和后端部分使用gRPC进行通信。","s":"SCOW API","u":"/SCOW/docs/integration/scow-api-hook/api","p":888},{"i":898,"t":"SCOW API和Hook的数据结构和服务都通过Protocol Buffer格式统一定义并分发。要想使用SCOW API和Hook,您需要首先获取proto文件,通过proto文件生成您对应的语言的代码,然后才能进行开发。","s":"SCOW Protobuf文件","u":"/SCOW/docs/integration/scow-api-hook/proto","p":898},{"i":908,"t":"如果用户配置了SCOW Hook,那么SCOW在发生一些事件时,会通过SCOW Hook调用监听的Hook服务器。您可以通过SCOW Hook监听SCOW中发生的事件,并自己进行一些后续处理。","s":"SCOW Hook","u":"/SCOW/docs/integration/scow-api-hook/hook","p":908},{"i":914,"t":"实验性功能!","s":"UI扩展 (Beta)","u":"/SCOW/docs/integration/ui-extension","p":914},{"i":920,"t":"SCOW多集群部署架构如下图所示:","s":"多集群管理","u":"/SCOW/docs/multi_cluster","p":920},{"i":922,"t":"Top-level Schemas","s":"README","u":"/SCOW/docs/refs/config/app","p":922},{"i":930,"t":"本部分为自动生成的配置参考。","s":"配置参考","u":"/SCOW/docs/refs","p":930},{"i":932,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/docs/refs/config/app/definition","p":932},{"i":957,"t":"name Type","s":"definition-properties-name","u":"/SCOW/docs/refs/config/app/definition-properties-name","p":957},{"i":960,"t":"要使用UI扩展,您首先需要开发并构建一个从外界可以访问的网站(称为扩展站)。您可以使用任何技术开发、维护和部署此网站,只需要满足您的用户可以通过直接公网访问即可。","s":"开发UI扩展","u":"/SCOW/docs/integration/ui-extension/develop","p":960},{"i":977,"t":"nodes Type","s":"definition-properties-nodes","u":"/SCOW/docs/refs/config/app/definition-properties-nodes","p":977},{"i":980,"t":"items Type","s":"definition-properties-nodes-items","u":"/SCOW/docs/refs/config/app/definition-properties-nodes-items","p":980},{"i":983,"t":"配置该功能可以让管理员在管理系统中查看集群资源信息和告警日志,需要配置 Prometheus、Grafana、Alertmanager、alertsnitch、MySQL 安装","s":"部署集群监控","u":"/SCOW/docs/hpccluster/cluster-monitor","p":983},{"i":1012,"t":"type Type","s":"definition-properties-type","u":"/SCOW/docs/refs/config/app/definition-properties-type","p":1012},{"i":1015,"t":"1 Type","s":"definition-properties-type-anyof-1","u":"/SCOW/docs/refs/config/app/definition-properties-type-anyof-1","p":1015},{"i":1020,"t":"xstartup Type","s":"definition-properties-vnc-properties-xstartup","u":"/SCOW/docs/refs/config/app/definition-properties-vnc-properties-xstartup","p":1020},{"i":1023,"t":"vnc Type","s":"definition-properties-vnc","u":"/SCOW/docs/refs/config/app/definition-properties-vnc","p":1023},{"i":1032,"t":"web Type","s":"definition-properties-web","u":"/SCOW/docs/refs/config/app/definition-properties-web","p":1032},{"i":1049,"t":"beforeScript Type","s":"definition-properties-web-properties-beforescript","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-beforescript","p":1049},{"i":1052,"t":"0 Type","s":"definition-properties-type-anyof-0","u":"/SCOW/docs/refs/config/app/definition-properties-type-anyof-0","p":1052},{"i":1057,"t":"connect Type","s":"definition-properties-web-properties-connect","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect","p":1057},{"i":1078,"t":"patternProperties Type","s":"definition-properties-web-properties-connect-properties-formdata-patternproperties","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties","p":1078},{"i":1081,"t":"^.\\*$ Type","s":"definition-properties-web-properties-connect-properties-formdata-patternproperties-","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata-patternproperties-","p":1081},{"i":1084,"t":"method Type","s":"definition-properties-web-properties-connect-properties-method","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method","p":1084},{"i":1087,"t":"formData Type","s":"definition-properties-web-properties-connect-properties-formdata","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-formdata","p":1087},{"i":1096,"t":"0 Type","s":"definition-properties-web-properties-connect-properties-method-anyof-0","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-0","p":1096},{"i":1101,"t":"1 Type","s":"definition-properties-web-properties-connect-properties-method-anyof-1","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-method-anyof-1","p":1101},{"i":1106,"t":"path Type","s":"definition-properties-web-properties-connect-properties-path","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-path","p":1106},{"i":1109,"t":"patternProperties Type","s":"definition-properties-web-properties-connect-properties-query-patternproperties","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties","p":1109},{"i":1112,"t":"script Type","s":"definition-properties-web-properties-script","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-script","p":1112},{"i":1115,"t":"Top-level Schemas","s":"README","u":"/SCOW/docs/refs/config/cluster","p":1115},{"i":1123,"t":"^.\\*$ Type","s":"definition-properties-web-properties-connect-properties-query-patternproperties-","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query-patternproperties-","p":1123},{"i":1126,"t":"query Type","s":"definition-properties-web-properties-connect-properties-query","u":"/SCOW/docs/refs/config/app/definition-properties-web-properties-connect-properties-query","p":1126},{"i":1135,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/docs/refs/config/cluster/definition","p":1135},{"i":1158,"t":"scheduler Type","s":"definition-properties-scheduler","u":"/SCOW/docs/refs/config/cluster/definition-properties-scheduler","p":1158},{"i":1163,"t":"displayName Type","s":"definition-properties-displayname","u":"/SCOW/docs/refs/config/cluster/definition-properties-displayname","p":1163},{"i":1166,"t":"misIgnore Type","s":"definition-properties-misignore","u":"/SCOW/docs/refs/config/cluster/definition-properties-misignore","p":1166},{"i":1169,"t":"0 Type","s":"definition-properties-scheduler-anyof-0","u":"/SCOW/docs/refs/config/cluster/definition-properties-scheduler-anyof-0","p":1169},{"i":1174,"t":"computeNodes Type","s":"definition-properties-slurm-properties-computenodes","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes","p":1174},{"i":1179,"t":"items Type","s":"definition-properties-slurm-properties-computenodes-items","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-computenodes-items","p":1179},{"i":1182,"t":"loginNodes Type","s":"definition-properties-slurm-properties-loginnodes","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes","p":1182},{"i":1187,"t":"slurm Type","s":"definition-properties-slurm","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm","p":1187},{"i":1212,"t":"associationTableName Type","s":"definition-properties-slurm-properties-mis-properties-associationtablename","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-associationtablename","p":1212},{"i":1215,"t":"items Type","s":"definition-properties-slurm-properties-loginnodes-items","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-loginnodes-items","p":1215},{"i":1218,"t":"managerUrl Type","s":"definition-properties-slurm-properties-mis-properties-managerurl","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-managerurl","p":1218},{"i":1221,"t":"mis Type","s":"definition-properties-slurm-properties-mis","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis","p":1221},{"i":1242,"t":"dbPassword Type","s":"definition-properties-slurm-properties-mis-properties-dbpassword","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-dbpassword","p":1242},{"i":1245,"t":"partitions Type","s":"definition-properties-slurm-properties-partitions","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions","p":1245},{"i":1254,"t":"patternProperties Type","s":"definition-properties-slurm-properties-partitions-patternproperties","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties","p":1254},{"i":1257,"t":"comment Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-comment","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-comment","p":1257},{"i":1260,"t":"scriptPath Type","s":"definition-properties-slurm-properties-mis-properties-scriptpath","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-mis-properties-scriptpath","p":1260},{"i":1263,"t":"gpus Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-gpus","p":1263},{"i":1266,"t":"mem Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-mem","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-mem","p":1266},{"i":1269,"t":"nodes Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-nodes","p":1269},{"i":1272,"t":"cores Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-cores","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-cores","p":1272},{"i":1275,"t":"^.\\*$ Type","s":"definition-properties-slurm-properties-partitions-patternproperties-","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties-","p":1275},{"i":1304,"t":"qos Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos","p":1304},{"i":1307,"t":"items Type","s":"definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","u":"/SCOW/docs/refs/config/cluster/definition-properties-slurm-properties-partitions-patternproperties--properties-qos-items","p":1307},{"i":1310,"t":"Top-level Schemas","s":"README","u":"/SCOW/docs/refs/config/clusterTexts","p":1310},{"i":1318,"t":"^.\\*$ Type","s":"definition-patternproperties-","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties-","p":1318},{"i":1331,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/docs/refs/config/clusterTexts/definition","p":1331},{"i":1340,"t":"patternProperties Type","s":"definition-patternproperties","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties","p":1340},{"i":1343,"t":"clusterComment Type","s":"definition-patternproperties--properties-clustercomment","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-clustercomment","p":1343},{"i":1346,"t":"extras Type","s":"definition-patternproperties--properties-extras","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras","p":1346},{"i":1349,"t":"content Type","s":"definition-patternproperties--properties-extras-items-properties-content","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-content","p":1349},{"i":1352,"t":"title Type","s":"definition-patternproperties--properties-extras-items-properties-title","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items-properties-title","p":1352},{"i":1355,"t":"Top-level Schemas","s":"README","u":"/SCOW/docs/refs/config/mis","p":1355},{"i":1363,"t":"items Type","s":"definition-patternproperties--properties-extras-items","u":"/SCOW/docs/refs/config/clusterTexts/definition-patternproperties--properties-extras-items","p":1363},{"i":1376,"t":"accountNamePattern Type","s":"definition-properties-accountnamepattern","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern","p":1376},{"i":1389,"t":"authUrl Type","s":"definition-properties-authurl","u":"/SCOW/docs/refs/config/mis/definition-properties-authurl","p":1389},{"i":1394,"t":"errorMessage Type","s":"definition-properties-accountnamepattern-properties-errormessage","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern-properties-errormessage","p":1394},{"i":1397,"t":"regex Type","s":"definition-properties-accountnamepattern-properties-regex","u":"/SCOW/docs/refs/config/mis/definition-properties-accountnamepattern-properties-regex","p":1397},{"i":1400,"t":"changeJobPriceType Type","s":"definition-properties-changejobpricetype","u":"/SCOW/docs/refs/config/mis/definition-properties-changejobpricetype","p":1400},{"i":1405,"t":"db Type","s":"definition-properties-db","u":"/SCOW/docs/refs/config/mis/definition-properties-db","p":1405},{"i":1434,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/docs/refs/config/mis/definition","p":1434},{"i":1485,"t":"debug Type","s":"definition-properties-db-properties-debug","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-debug","p":1485},{"i":1488,"t":"port Type","s":"definition-properties-db-properties-port","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-port","p":1488},{"i":1491,"t":"host Type","s":"definition-properties-db-properties-host","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-host","p":1491},{"i":1494,"t":"dbName Type","s":"definition-properties-db-properties-dbname","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-dbname","p":1494},{"i":1497,"t":"user Type","s":"definition-properties-db-properties-user","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-user","p":1497},{"i":1500,"t":"password Type","s":"definition-properties-db-properties-password","u":"/SCOW/docs/refs/config/mis/definition-properties-db-properties-password","p":1500},{"i":1503,"t":"fetchJobs Type","s":"definition-properties-fetchjobs","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs","p":1503},{"i":1528,"t":"db Type","s":"definition-properties-fetchjobs-properties-db","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db","p":1528},{"i":1557,"t":"password Type","s":"definition-properties-fetchjobs-properties-db-properties-password","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-password","p":1557},{"i":1560,"t":"host Type","s":"definition-properties-fetchjobs-properties-db-properties-host","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-host","p":1560},{"i":1563,"t":"batchSize Type","s":"definition-properties-fetchjobs-properties-batchsize","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-batchsize","p":1563},{"i":1568,"t":"dbName Type","s":"definition-properties-fetchjobs-properties-db-properties-dbname","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-dbname","p":1568},{"i":1571,"t":"port Type","s":"definition-properties-fetchjobs-properties-db-properties-port","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-port","p":1571},{"i":1574,"t":"periodicFetch Type","s":"definition-properties-fetchjobs-properties-periodicfetch","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch","p":1574},{"i":1593,"t":"tableName Type","s":"definition-properties-fetchjobs-properties-db-properties-tablename","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-tablename","p":1593},{"i":1596,"t":"default Type","s":"definition-properties-fetchjobs-properties-periodicfetch-default","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-default","p":1596},{"i":1599,"t":"cron Type","s":"definition-properties-fetchjobs-properties-periodicfetch-properties-cron","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-cron","p":1599},{"i":1604,"t":"enabled Type","s":"definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-periodicfetch-properties-enabled","p":1604},{"i":1609,"t":"user Type","s":"definition-properties-fetchjobs-properties-db-properties-user","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-db-properties-user","p":1609},{"i":1612,"t":"startIndex Type","s":"definition-properties-fetchjobs-properties-startindex","u":"/SCOW/docs/refs/config/mis/definition-properties-fetchjobs-properties-startindex","p":1612},{"i":1615,"t":"jobChargeComment Type","s":"definition-properties-jobchargecomment","u":"/SCOW/docs/refs/config/mis/definition-properties-jobchargecomment","p":1615},{"i":1620,"t":"predefinedChargingTypes Type","s":"definition-properties-predefinedchargingtypes","u":"/SCOW/docs/refs/config/mis/definition-properties-predefinedchargingtypes","p":1620},{"i":1625,"t":"items Type","s":"definition-properties-predefinedchargingtypes-items","u":"/SCOW/docs/refs/config/mis/definition-properties-predefinedchargingtypes-items","p":1625},{"i":1628,"t":"portalUrl Type","s":"definition-properties-portalurl","u":"/SCOW/docs/refs/config/mis/definition-properties-portalurl","p":1628},{"i":1631,"t":"Top-level Schemas","s":"README","u":"/SCOW/docs/refs/config/portal","p":1631},{"i":1639,"t":"jobChargeType Type","s":"definition-properties-jobchargetype","u":"/SCOW/docs/refs/config/mis/definition-properties-jobchargetype","p":1639},{"i":1644,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/docs/refs/config/portal/definition","p":1644},{"i":1707,"t":"homeText Type","s":"definition-properties-hometext","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext","p":1707},{"i":1724,"t":"defaultText Type","s":"definition-properties-hometext-properties-defaulttext","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-defaulttext","p":1724},{"i":1729,"t":"apps Type","s":"definition-properties-apps","u":"/SCOW/docs/refs/config/portal/definition-properties-apps","p":1729},{"i":1734,"t":"hostnameMap Type","s":"definition-properties-hometext-properties-hostnamemap","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap","p":1734},{"i":1745,"t":"appJobsDir Type","s":"definition-properties-appjobsdir","u":"/SCOW/docs/refs/config/portal/definition-properties-appjobsdir","p":1745},{"i":1750,"t":"default Type","s":"definition-properties-hometext-properties-hostnamemap-default","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-default","p":1750},{"i":1753,"t":"patternProperties Type","s":"definition-properties-hometext-properties-hostnamemap-patternproperties","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties","p":1753},{"i":1756,"t":"defaultText Type","s":"definition-properties-hometitle-properties-defaulttext","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-defaulttext","p":1756},{"i":1761,"t":"homeTitle Type","s":"definition-properties-hometitle","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle","p":1761},{"i":1778,"t":"^.\\*$ Type","s":"definition-properties-hometext-properties-hostnamemap-patternproperties-","u":"/SCOW/docs/refs/config/portal/definition-properties-hometext-properties-hostnamemap-patternproperties-","p":1778},{"i":1781,"t":"default Type","s":"definition-properties-hometitle-properties-hostnamemap-default","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-default","p":1781},{"i":1784,"t":"patternProperties Type","s":"definition-properties-hometitle-properties-hostnamemap-patternproperties","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties","p":1784},{"i":1787,"t":"^.\\*$ Type","s":"definition-properties-hometitle-properties-hostnamemap-patternproperties-","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap-patternproperties-","p":1787},{"i":1790,"t":"hostnameMap Type","s":"definition-properties-hometitle-properties-hostnamemap","u":"/SCOW/docs/refs/config/portal/definition-properties-hometitle-properties-hostnamemap","p":1790},{"i":1801,"t":"enabled Type","s":"definition-properties-logindesktop-properties-enabled","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-enabled","p":1801},{"i":1806,"t":"jobManagement Type","s":"definition-properties-jobmanagement","u":"/SCOW/docs/refs/config/portal/definition-properties-jobmanagement","p":1806},{"i":1811,"t":"loginDesktop Type","s":"definition-properties-logindesktop","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop","p":1811},{"i":1834,"t":"0 Type","s":"definition-properties-logindesktop-properties-wms-default-0","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-default-0","p":1834},{"i":1837,"t":"maxDesktops Type","s":"definition-properties-logindesktop-properties-maxdesktops","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-maxdesktops","p":1837},{"i":1842,"t":"wms Type","s":"definition-properties-logindesktop-properties-wms","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms","p":1842},{"i":1847,"t":"items Type","s":"definition-properties-logindesktop-properties-wms-items","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items","p":1847},{"i":1860,"t":"savedJobsDir Type","s":"definition-properties-savedjobsdir","u":"/SCOW/docs/refs/config/portal/definition-properties-savedjobsdir","p":1860},{"i":1865,"t":"misUrl Type","s":"definition-properties-misurl","u":"/SCOW/docs/refs/config/portal/definition-properties-misurl","p":1865},{"i":1868,"t":"shell Type","s":"definition-properties-shell","u":"/SCOW/docs/refs/config/portal/definition-properties-shell","p":1868},{"i":1873,"t":"wm Type","s":"definition-properties-logindesktop-properties-wms-items-properties-wm","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-wm","p":1873},{"i":1876,"t":"name Type","s":"definition-properties-logindesktop-properties-wms-items-properties-name","u":"/SCOW/docs/refs/config/portal/definition-properties-logindesktop-properties-wms-items-properties-name","p":1876},{"i":1879,"t":"submitJobDefaultPwd Type","s":"definition-properties-submitjobdefaultpwd","u":"/SCOW/docs/refs/config/portal/definition-properties-submitjobdefaultpwd","p":1879},{"i":1884,"t":"turboVNCPath Type","s":"definition-properties-turbovncpath","u":"/SCOW/docs/refs/config/portal/definition-properties-turbovncpath","p":1884},{"i":1889,"t":"Top-level Schemas","s":"README","u":"/SCOW/docs/refs/config/ui","p":1889},{"i":1896,"t":"footer Type","s":"definition-properties-footer","u":"/SCOW/docs/refs/config/ui/definition-properties-footer","p":1896},{"i":1909,"t":"defaultText Type","s":"definition-properties-footer-properties-defaulttext","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-defaulttext","p":1909},{"i":1912,"t":"patternProperties Type","s":"definition-properties-footer-properties-hostnamemap-patternproperties","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties","p":1912},{"i":1915,"t":"Untitled object in undefined Type","s":"definition","u":"/SCOW/docs/refs/config/ui/definition","p":1915},{"i":1928,"t":"hostnameMap Type","s":"definition-properties-footer-properties-hostnamemap","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap","p":1928},{"i":1937,"t":"^.\\*$ Type","s":"definition-properties-footer-properties-hostnamemap-patternproperties-","u":"/SCOW/docs/refs/config/ui/definition-properties-footer-properties-hostnamemap-patternproperties-","p":1937},{"i":1940,"t":"primaryColor Type","s":"definition-properties-primarycolor","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor","p":1940},{"i":1955,"t":"hostnameMap Type","s":"definition-properties-primarycolor-properties-hostnamemap","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap","p":1955},{"i":1964,"t":"defaultColor Type","s":"definition-properties-primarycolor-properties-defaultcolor","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-defaultcolor","p":1964},{"i":1969,"t":"^.\\*$ Type","s":"definition-properties-primarycolor-properties-hostnamemap-patternproperties-","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties-","p":1969},{"i":1972,"t":"环境变量配置","s":"gateway","u":"/SCOW/docs/refs/env/gateway","p":1972},{"i":1975,"t":"环境变量配置","s":"auth","u":"/SCOW/docs/refs/env/auth","p":1975},{"i":1978,"t":"环境变量配置","s":"mis-server","u":"/SCOW/docs/refs/env/mis-server","p":1978},{"i":1981,"t":"环境变量配置","s":"mis-web","u":"/SCOW/docs/refs/env/mis-web","p":1981},{"i":1984,"t":"patternProperties Type","s":"definition-properties-primarycolor-properties-hostnamemap-patternproperties","u":"/SCOW/docs/refs/config/ui/definition-properties-primarycolor-properties-hostnamemap-patternproperties","p":1984},{"i":1987,"t":"环境变量配置","s":"portal-web","u":"/SCOW/docs/refs/env/portal-web","p":1987},{"i":1990,"t":"1. 安装Munge","s":"slurm集群部署","u":"/SCOW/docs/slurm","p":1990}],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[["t/1",[0,7.085,1,7.085]],["t/2",[2,2.721,3,4.475,4,5.4,5,6]],["t/4",[2,1.687,6,2.92,7,3.72,8,3.72,9,3.348,10,3.72,11,3.72,12,2.177,13,3.103,14,3.72,15,2.774,16,1.892]],["t/6",[17,5.4,18,5.4,19,5.4,20,6]],["t/20",[2,1.108,6,1.918,16,1.242,21,1.513,22,1.918,23,1.614,24,1.071,25,3.501,26,3.501,27,1.327,28,2.199,29,2.199,30,1.053,31,1.822,32,1.614,33,1.918,34,2.199,35,1.242,36,1.242]],["t/22",[3,2.913,37,2.073,38,3.905,39,3.905,40,3.905,41,5.157,42,3.905,43,3.905,44,3.905]],["t/38",[2,0.71,9,1.408,21,0.969,22,1.228,27,0.85,30,0.674,31,2.049,45,1.408,46,1.564,47,1.116,48,1.564,49,3.672,50,3.672,51,1.564,52,1.564,53,1.228,54,1.564,55,1.994,56,1.564,57,1.116,58,1.305,59,1.564,60,1.564,61,1.564,62,1.305,63,1.564,64,1.167,65,1.564,66,1.564,67,1.228,68,1.564,69,1.408,70,0.969,71,1.305]],["t/46",[72,4.024,73,5.101,74,4.151]],["t/51",[2,1.363,6,2.36,47,4.191,75,3.006,76,3.957,77,4.744,78,3.538,79,4.744,80,3.006,81,3.006,82,3.006]],["t/53",[37,2.59,47,3.479,78,3.638,83,3.021,84,3.021,85,4.07,86,4.878]],["t/78",[2,2.36,30,2.242,37,2.762,87,3.88,88,5.202,89,3.564]],["t/80",[12,1.634,24,1.223,33,4.394,55,1.516,84,1.729,87,2.082,90,4.669,91,2.791,92,2.329,93,2.512,94,2.329,95,2.791,96,2.791,97,2.191,98,2.191]],["t/82",[2,2.36,24,2.28,30,2.242,36,2.646,99,3.88,100,2.702]],["t/84",[101,4.04,102,4.04]],["t/93",[103,6.116]],["t/107",[101,4.04,102,4.04]],["t/116",[103,6.116]],["t/134",[3,2.242,22,2.36,25,2.059,26,2.059,55,2.577,94,2.508,97,2.36,104,2.705,105,2.242,106,2.705,107,2.705,108,1.759,109,2.144,110,3.957,111,2.36]],["t/136",[36,2.206,37,2.303,70,2.687,83,2.687,84,2.687,112,2.866,113,3.619,114,4.338,115,3.904]],["t/147",[24,2.138,30,2.103,37,2.59,83,3.021,84,3.021,112,3.223,116,4.878]],["t/155",[24,2.213,33,2.556,55,1.768,58,2.716,90,2.716,117,2.322,118,3.256,119,3.46,120,1.768,121,2.428,122,3.256,123,3.256,124,2.322]],["t/161",[30,3.054,125,5.911]],["t/176",[24,2.365,37,1.885,53,2.788,83,2.199,84,2.199,100,1.844,117,4.657,120,1.929,126,2.788,127,3.551]],["t/180",[24,2.012,30,1.979,37,2.438,83,2.844,84,2.844,107,4.133,112,3.034,128,4.133]],["t/204",[129,6.377,130,6.377]],["t/213",[12,1.09,16,3.108,21,1.153,28,2.876,32,1.23,99,1.389,100,0.967,131,1.676,132,1.676,133,3.13,134,1.862,135,1.462,136,3.195,137,2.666,138,1.389,139,1.862,140,2.666,141,2.383,142,1.862,143,1.862,144,1.676]],["t/217",[17,5.4,145,6,146,6,147,5.4]],["t/222",[24,1.37,100,1.624,108,1.829,148,2.229,149,3.126,150,1.88,151,4.892,152,4.403,153,3.126,154,2.331,155,3.126,156,3.126,157,2.813,158,3.126]],["t/224",[2,1.418,24,1.37,30,1.347,55,1.698,70,1.936,98,2.454,99,2.331,108,1.829,148,2.229,159,4.403,160,2.789,161,2.608,162,4.892]],["t/230",[24,1.63,36,2.843,37,1.975,53,2.92,83,2.304,84,2.304,100,1.932,117,3.987,120,2.02,163,3.348]],["t/246",[24,1.181,27,1.464,30,1.162,85,2.249,105,2.01,108,1.577,152,2.426,160,2.479,164,2.426,165,2.695,166,2.695,167,2.695,168,2.116,169,2.695,170,2.695,171,2.695,172,2.426,173,2.695,174,2.695]],["t/256",[23,2.346,35,1.806,64,2.648,150,2.136,175,2.962,176,3.196,177,4.858,178,2.962,179,2.788,180,2.962,181,2.788,182,3.196]],["t/273",[27,1.249,30,0.991,32,1.519,35,1.942,36,1.169,70,1.424,99,1.715,100,1.194,150,1.383,160,2.177,175,1.918,183,2.07,184,2.3,185,2.07,186,2.07,187,2.07,188,3.818,189,2.3,190,1.805,191,2.3,192,2.3,193,2.07]],["t/281",[23,1.912,35,1.472,64,2.159,120,1.572,150,1.741,160,1.65,175,2.415,176,2.605,177,4.144,178,2.415,179,2.273,180,2.415,181,2.273,182,2.605,194,2.895,195,2.895,196,2.895]],["t/289",[6,1.535,24,0.857,30,0.843,32,2.875,35,2.213,36,1.694,53,1.535,55,1.062,100,1.015,108,1.144,117,1.394,120,2.792,131,1.76,141,1.458,150,1.176,154,1.458,160,1.115,185,1.76,197,1.76,198,1.76,199,1.955,200,3.331]],["t/291",[2,1.477,12,1.905,35,1.656,135,2.556,137,2.716,138,2.428,168,2.556,201,3.256,202,3.256,203,3.256,204,5.05,205,4.213,206,2.428]],["t/293",[24,1.489,70,3.232,90,2.834,108,3.054,125,4.353,160,2.975,207,2.834,208,3.397,209,5.218]],["t/303",[210,7.012]],["t/310",[2,1.363,27,1.633,30,1.295,36,1.529,55,1.633,70,1.862,98,2.36,108,1.759,120,1.633,137,2.508,138,2.242,159,2.705,160,1.714,190,2.36,211,3.006,212,3.006,213,3.006]],["t/316",[2,1.771,32,2.58,120,3.149,148,2.785,150,2.349,160,2.227,214,3.905,215,3.905,216,3.515,217,3.515]],["t/324",[12,3.159,98,2.788,100,1.844,150,3.247,198,3.196,205,4.503,206,2.648,218,3.551,219,3.196,220,3.551]],["t/336",[30,2.242,37,2.762,83,3.222,84,3.222,112,3.437,150,3.129]],["t/352",[16,3.051,30,2.586,36,3.051,221,4.71]],["t/361",[222,5.911,223,5.911]],["t/372",[101,4.04,102,4.04]],["t/383",[18,4.391,19,4.391,120,2.65,223,4.07,224,4.878,225,4.878,226,4.878]],["t/385",[101,4.04,102,4.04]],["t/396",[101,4.04,102,4.04]],["t/410",[101,4.04,102,4.04]],["t/422",[101,4.04,102,4.04]],["t/431",[101,4.04,102,4.04]],["t/442",[101,4.04,102,4.04]],["t/455",[101,4.04,102,4.04]],["t/462",[101,4.04,102,4.04]],["t/469",[101,4.04,102,4.04]],["t/483",[21,1.614,24,1.142,25,1.785,26,1.785,30,1.123,62,2.174,76,2.174,100,1.353,108,2.476,160,1.486,161,2.174,168,2.046,179,2.046,227,2.606,228,2.606,229,2.606,230,2.345,231,2.606,232,2.606,233,2.606]],["t/489",[26,3.575,27,1.845,30,1.464,32,2.244,35,1.727,109,2.422,110,2.834,111,2.667,141,2.534,190,2.667,234,2.834,235,3.397,236,3.397]],["t/495",[16,2.211,26,2.979,27,1.464,30,1.162,33,2.116,34,2.426,35,1.371,36,2.211,58,2.249,62,2.249,70,1.669,99,2.01,108,1.577,148,1.922,205,2.249,237,2.695,238,2.695]],["t/503",[103,6.116]],["t/515",[22,1.497,25,1.307,26,3.465,27,1.036,30,0.822,32,2.155,35,0.97,109,1.36,110,1.591,111,1.497,120,1.772,140,1.591,141,1.423,148,1.36,154,1.423,181,1.497,190,1.497,197,2.936,216,1.717,230,1.717,234,1.591,239,1.717,240,1.717,241,1.907,242,1.591,243,1.497]],["t/532",[3,3.638,25,3.342,55,2.65,94,4.07,97,3.83,104,4.391,105,3.638]],["t/535",[55,1.698,74,3.125,100,1.624,113,2.608,120,1.698,121,3.648,187,2.813,206,2.331,242,2.608,244,4.403,245,2.608,246,2.813,247,3.126]],["t/541",[103,6.116]],["t/555",[23,3.223,35,2.481,47,3.479,70,3.021,161,4.07,248,4.878,249,4.878]],["t/559",[23,3.223,24,2.138,30,2.103,37,2.59,83,3.021,84,3.021,112,3.223]],["t/569",[2,0.771,23,1.123,24,0.745,25,1.165,27,0.924,31,1.268,55,0.924,73,1.335,74,2.99,105,2.203,120,0.924,121,2.203,124,1.213,168,1.335,217,1.53,242,1.418,244,2.659,250,1.53,251,2.954,252,1.7,253,2.659,254,2.921,255,1.7,256,1.7,257,1.7,258,1.7,259,1.7]],["t/577",[100,1.691,108,2.955,138,3.766,180,2.716,181,2.556,260,2.93,261,3.256,262,3.256,263,3.256,264,3.256,265,3.256,266,5.05]],["t/589",[16,2.646,72,3.222,74,3.324,132,4.683,267,5.202,268,5.202]],["t/601",[72,3.021,74,3.117,112,3.223,141,3.638,269,4.878,270,4.878,271,4.878]],["t/606",[72,3.222,239,4.683,272,5.202,273,5.202,274,5.202,275,5.202]],["t/609",[2,1.075,12,2.926,16,1.205,37,1.258,47,1.69,78,1.767,119,1.623,126,1.86,221,1.86,276,2.369,277,2.369,278,2.369,279,2.132,280,2.132,281,1.976,282,2.132,283,2.369,284,2.132,285,2.369,286,2.369,287,2.369,288,2.369]],["t/621",[72,3.222,74,3.324,289,5.202,290,5.202,291,4.683,292,5.202]],["t/628",[37,1.431,89,1.847,108,2.545,243,2.116,279,2.426,280,4.92,281,2.249,282,3.914,293,2.695,294,2.695,295,2.695,296,2.695,297,2.695,298,2.695,299,2.695,300,2.695]],["t/636",[101,4.04,102,4.04]],["t/662",[2,2.083,12,2.688,16,2.335,24,2.012,112,3.034,301,4.592,302,3.831,303,3.831]],["t/673",[2,2.947,304,6.497,305,5.848]],["t/675",[3,2.159,12,1.694,16,1.472,37,1.537,89,3.155,221,2.273,243,2.273,306,2.605,307,2.895,308,4.604,309,2.895,310,2.415,311,2.415,312,2.605,313,2.605,314,2.895]],["t/677",[2,2.36,24,2.28,76,4.34,108,3.045,315,5.202,316,4.34]],["t/683",[2,3.227,15,3.88,16,2.646,36,2.646,317,5.202]],["t/699",[12,1.988,15,2.534,89,2.327,121,2.534,163,4.696,206,2.534,318,3.397,319,3.397,320,3.397,321,3.397,322,3.397,323,3.397,324,3.397]],["t/705",[24,2.442,72,3.451,325,5.573,326,5.016,327,5.573]],["t/726",[13,3.429,37,2.182,83,2.546,84,2.546,100,2.135,112,2.715,113,3.429,328,4.11,329,3.699,330,3.699]],["t/739",[313,4.391,331,4.878,332,4.878,333,4.878,334,4.878,335,4.878,336,4.878]],["t/749",[16,1.727,32,2.244,36,1.727,73,2.667,74,2.17,89,3.575,135,4.096,310,2.834,311,2.834,312,4.696,337,3.057]],["t/757",[135,3.406,338,4.338,339,4.338,340,6.261,341,4.338,342,4.338,343,4.338,344,4.338]],["t/759",[37,2.762,281,4.34,284,4.683,310,4.34,311,4.34,337,4.683]],["t/767",[12,1.829,16,1.59,72,3.03,74,3.851,83,1.936,92,2.608,121,2.331,124,2.229,254,2.331,306,2.813,345,3.126,346,3.126,347,3.126]],["t/769",[15,2.01,24,1.181,27,2.362,100,1.4,109,1.922,128,4.92,160,1.537,193,2.426,246,2.426,291,2.426,348,2.695,349,2.695,350,2.426,351,2.695,352,2.695,353,2.426,354,2.695]],["t/773",[2,1.864,13,3.429,21,2.546,23,2.715,150,2.472,302,3.429,303,3.429,330,3.699,355,4.11,356,4.11]],["t/779",[15,3.425,16,2.335,55,2.494,119,3.146,150,2.762,254,3.425,329,4.133,357,4.133]],["t/783",[120,3.848,353,6.377]],["t/801",[16,1.892,21,2.304,23,2.457,24,1.63,55,2.02,109,2.653,119,2.549,120,2.02,254,2.774,357,3.348,358,3.72,359,3.72]],["t/805",[16,1.42,25,1.913,26,3.834,27,1.516,35,1.42,36,2.275,55,1.516,64,2.082,74,1.783,222,2.329,245,3.731,254,2.082,360,2.512,361,2.329,362,2.791]],["t/811",[21,3.021,24,2.982,106,4.391,126,3.83,363,4.878,364,4.878]],["t/819",[365,7.79]],["t/821",[16,0.947,35,1.625,36,0.947,55,1.011,73,1.462,105,4.559,157,1.676,160,1.822,178,1.553,223,1.553,243,1.462,245,1.553,253,1.676,302,1.553,303,1.553,360,1.676,361,1.553,366,3.195,367,1.862,368,1.862,369,1.862,370,3.195,371,1.862,372,1.862]],["t/827",[21,1.936,24,2.144,31,2.331,35,1.59,36,1.59,67,2.454,70,1.936,71,2.608,117,3.489,119,2.142,124,2.229,373,2.454,374,2.813,375,2.608]],["t/831",[21,2.016,24,2.213,31,2.428,35,1.656,67,2.556,70,2.016,71,2.716,117,3.601,119,2.231,124,2.322,373,2.556,374,2.93,375,2.716]],["t/870",[2,1,24,0.966,27,1.198,35,1.121,36,0.622,64,2.247,85,1.02,87,0.912,100,0.635,119,0.838,126,0.96,133,0.912,154,1.645,207,1.84,350,1.1,373,0.96,376,3.013,377,3.834,378,1.985,379,2.205,380,1.222,381,1.222,382,2.205,383,1.222,384,1.222,385,1.222,386,1.222,387,1.222,388,1.222,389,1.222,390,1.222,391,1.222,392,1.222,393,1.222,394,1.222,395,1.222,396,1.222,397,1.222]],["t/878",[2,1.968,45,3.904,47,3.094,250,3.904,398,4.338,399,4.338,400,4.338,401,4.338,402,4.338]],["t/888",[2,2.152,24,1.317,36,1.529,87,3.538,100,1.561,316,2.508,403,3.006,404,3.006,405,3.006,406,4.744,407,4.744,408,3.006,409,3.006]],["t/898",[2,1.392,27,1.667,36,0.904,78,1.326,100,0.923,124,1.268,133,1.326,138,2.29,144,1.6,172,1.6,183,1.6,186,1.6,234,1.483,240,1.6,377,2.763,378,1.6,410,2.763,411,1.778,412,1.778,413,1.778,414,1.778,415,1.778,416,1.6,417,1.778,418,1.6,419,3.07,420,1.6,421,1.778,422,1.778]],["t/908",[2,2.541,27,1.735,30,0.803,35,0.947,100,0.967,120,1.011,154,1.389,160,1.062,179,1.462,207,2.666,373,1.462,375,1.553,410,4.479,423,1.862,424,3.195,425,3.195,426,1.862,427,3.195,428,1.862,429,1.862,430,1.862]],["t/914",[129,6.377,130,6.377]],["t/920",[2,2.083,12,2.688,16,2.335,69,4.133,92,3.831,93,4.133,316,3.831,431,4.592]],["t/922",[432,4.634,433,4.634,434,4.634]],["t/930",[30,2.242,37,2.762,87,3.88,97,4.084,420,4.683,435,5.202]],["t/932",[436,4.279,437,4.279,438,4.279,439,0.776]],["t/957",[439,0.917,440,6.377]],["t/960",[4,2.936,12,1.116,21,1.181,27,1.036,35,2.173,36,1.659,67,1.497,78,1.423,120,1.036,125,1.591,133,2.433,206,2.433,219,1.717,305,1.717,361,1.591,416,1.717,418,1.717,441,3.262,442,1.907,443,1.907,444,1.907,445,1.907,446,1.907,447,1.907,448,1.907]],["t/977",[439,0.917,449,6.377]],["t/980",[439,0.917,450,4.855]],["t/983",[16,1.371,30,1.874,35,1.371,55,1.464,89,1.847,115,2.426,133,2.01,140,2.249,148,1.922,150,1.621,160,1.537,222,2.249,326,2.426,451,2.695,452,2.695,453,2.695,454,2.695,455,2.695,456,2.695]],["t/1012",[439,1.125]],["t/1015",[72,4.388,439,0.917]],["t/1020",[439,0.917,457,7.085]],["t/1023",[111,5.563,439,0.917]],["t/1032",[109,5.053,439,0.917]],["t/1049",[439,0.917,458,7.085]],["t/1052",[41,5.285,439,0.917]],["t/1057",[439,0.917,459,7.085]],["t/1078",[439,0.917,460,4.681]],["t/1081",[439,1.008]],["t/1084",[439,0.917,461,7.085]],["t/1087",[439,0.917,462,7.085]],["t/1096",[41,5.285,439,0.917]],["t/1101",[72,4.388,439,0.917]],["t/1106",[147,6.377,439,0.917]],["t/1109",[439,0.917,460,4.681]],["t/1112",[439,0.917,463,7.085]],["t/1115",[432,4.634,433,4.634,434,4.634]],["t/1123",[439,1.008]],["t/1126",[439,0.917,464,7.085]],["t/1135",[436,4.279,437,4.279,438,4.279,439,0.776]],["t/1158",[439,0.917,465,7.085]],["t/1163",[439,0.917,466,7.085]],["t/1166",[439,0.917,467,7.085]],["t/1169",[41,5.285,439,0.917]],["t/1174",[439,0.917,468,7.085]],["t/1179",[439,0.917,450,4.855]],["t/1182",[439,0.917,469,7.085]],["t/1187",[221,5.563,439,0.917]],["t/1212",[439,0.917,470,7.085]],["t/1215",[439,0.917,450,4.855]],["t/1218",[439,0.917,471,7.085]],["t/1221",[164,6.377,439,0.917]],["t/1242",[439,0.917,472,7.085]],["t/1245",[439,0.917,473,7.085]],["t/1254",[439,0.917,460,4.681]],["t/1257",[439,0.917,474,7.085]],["t/1260",[439,0.917,475,7.085]],["t/1263",[439,0.917,476,7.085]],["t/1266",[439,0.917,477,7.085]],["t/1269",[439,0.917,449,6.377]],["t/1272",[439,0.917,478,7.085]],["t/1275",[439,1.008]],["t/1304",[439,0.917,479,7.085]],["t/1307",[439,0.917,450,4.855]],["t/1310",[432,4.634,433,4.634,434,4.634]],["t/1318",[439,1.008]],["t/1331",[436,4.279,437,4.279,438,4.279,439,0.776]],["t/1340",[439,0.917,460,4.681]],["t/1343",[439,0.917,480,7.085]],["t/1346",[210,6.377,439,0.917]],["t/1349",[439,0.917,481,7.085]],["t/1352",[439,0.917,482,7.085]],["t/1355",[432,4.634,433,4.634,434,4.634]],["t/1363",[439,0.917,450,4.855]],["t/1376",[439,0.917,483,7.085]],["t/1389",[439,0.917,484,7.085]],["t/1394",[439,0.917,485,7.085]],["t/1397",[439,0.917,486,7.085]],["t/1400",[439,0.917,487,7.085]],["t/1405",[439,0.917,488,6.377]],["t/1434",[436,4.279,437,4.279,438,4.279,439,0.776]],["t/1485",[439,0.917,489,7.085]],["t/1488",[439,0.917,490,6.377]],["t/1491",[439,0.917,491,6.377]],["t/1494",[439,0.917,492,6.377]],["t/1497",[439,0.917,493,6.377]],["t/1500",[439,0.917,494,6.377]],["t/1503",[439,0.917,495,7.085]],["t/1528",[439,0.917,488,6.377]],["t/1557",[439,0.917,494,6.377]],["t/1560",[439,0.917,491,6.377]],["t/1563",[439,0.917,496,7.085]],["t/1568",[439,0.917,492,6.377]],["t/1571",[439,0.917,490,6.377]],["t/1574",[439,0.917,497,7.085]],["t/1593",[439,0.917,498,7.085]],["t/1596",[439,0.917,499,5.911]],["t/1599",[439,0.917,500,7.085]],["t/1604",[439,0.917,501,6.377]],["t/1609",[439,0.917,493,6.377]],["t/1612",[439,0.917,502,7.085]],["t/1615",[439,0.917,503,7.085]],["t/1620",[439,0.917,504,7.085]],["t/1625",[439,0.917,450,4.855]],["t/1628",[439,0.917,505,7.085]],["t/1631",[432,4.634,433,4.634,434,4.634]],["t/1639",[439,0.917,506,7.085]],["t/1644",[436,4.279,437,4.279,438,4.279,439,0.776]],["t/1707",[439,0.917,507,7.085]],["t/1724",[439,0.917,508,5.911]],["t/1729",[29,6.377,439,0.917]],["t/1734",[439,0.917,509,5.563]],["t/1745",[439,0.917,510,7.085]],["t/1750",[439,0.917,499,5.911]],["t/1753",[439,0.917,460,4.681]],["t/1756",[439,0.917,508,5.911]],["t/1761",[439,0.917,511,7.085]],["t/1778",[439,1.008]],["t/1781",[439,0.917,499,5.911]],["t/1784",[439,0.917,460,4.681]],["t/1787",[439,1.008]],["t/1790",[439,0.917,509,5.563]],["t/1801",[439,0.917,501,6.377]],["t/1806",[439,0.917,512,7.085]],["t/1811",[439,0.917,513,7.085]],["t/1834",[41,5.285,439,0.917]],["t/1837",[439,0.917,514,7.085]],["t/1842",[439,0.917,515,6.377]],["t/1847",[439,0.917,450,4.855]],["t/1860",[439,0.917,516,7.085]],["t/1865",[439,0.917,517,7.085]],["t/1868",[260,6.377,439,0.917]],["t/1873",[439,0.917,515,6.377]],["t/1876",[439,0.917,440,6.377]],["t/1879",[439,0.917,518,7.085]],["t/1884",[439,0.917,519,7.085]],["t/1889",[432,4.634,433,4.634,434,4.634]],["t/1896",[439,0.917,520,7.085]],["t/1909",[439,0.917,508,5.911]],["t/1912",[439,0.917,460,4.681]],["t/1915",[436,4.279,437,4.279,438,4.279,439,0.776]],["t/1928",[439,0.917,509,5.563]],["t/1937",[439,1.008]],["t/1940",[439,0.917,521,7.085]],["t/1955",[439,0.917,509,5.563]],["t/1964",[439,0.917,522,7.085]],["t/1969",[439,1.008]],["t/1972",[30,3.054,57,5.053]],["t/1975",[30,3.054,57,5.053]],["t/1978",[30,3.054,57,5.053]],["t/1981",[30,3.054,57,5.053]],["t/1984",[439,0.917,460,4.681]],["t/1987",[30,3.054,57,5.053]],["t/1990",[72,4.024,89,4.452,523,6.497]]],"invertedIndex":[["0",{"_index":41,"t":{"22":{"position":[[12,1],[24,1],[26,1]]},"1052":{"position":[[0,1]]},"1096":{"position":[[0,1]]},"1169":{"position":[[0,1]]},"1834":{"position":[[0,1]]}}}],["1",{"_index":72,"t":{"46":{"position":[[0,1]]},"589":{"position":[[0,1]]},"601":{"position":[[0,1]]},"606":{"position":[[0,1]]},"621":{"position":[[0,1]]},"705":{"position":[[0,1]]},"767":{"position":[[5,1],[12,1]]},"1015":{"position":[[0,1]]},"1101":{"position":[[0,1]]},"1990":{"position":[[0,1]]}}}],["2",{"_index":346,"t":{"767":{"position":[[19,1]]}}}],["4",{"_index":40,"t":{"22":{"position":[[10,1]]}}}],["accountnamepattern",{"_index":483,"t":{"1376":{"position":[[0,18]]}}}],["adminpasswd",{"_index":323,"t":{"699":{"position":[[41,11]]}}}],["ai",{"_index":128,"t":{"180":{"position":[[9,2]]},"769":{"position":[[0,2],[22,2],[53,2]]}}}],["alertmanag",{"_index":454,"t":{"983":{"position":[[55,12]]}}}],["alertsnitch",{"_index":455,"t":{"983":{"position":[[68,11]]}}}],["api",{"_index":377,"t":{"870":{"position":[[18,3],[29,3],[53,3],[76,3],[131,3]]},"898":{"position":[[5,3],[58,3]]}}}],["app",{"_index":29,"t":{"20":{"position":[[35,4]]},"1729":{"position":[[0,4]]}}}],["appjobsdir",{"_index":510,"t":{"1745":{"position":[[0,10]]}}}],["associationtablenam",{"_index":470,"t":{"1212":{"position":[[0,20]]}}}],["attribut",{"_index":239,"t":{"515":{"position":[[15,10]]},"606":{"position":[[48,9]]}}}],["audioadapt",{"_index":274,"t":{"606":{"position":[[27,12]]}}}],["auth",{"_index":118,"t":{"155":{"position":[[5,4]]}}}],["authurl",{"_index":484,"t":{"1389":{"position":[[0,7]]}}}],["base",{"_index":146,"t":{"217":{"position":[[8,4]]}}}],["batchsiz",{"_index":496,"t":{"1563":{"position":[[0,9]]}}}],["beforescript",{"_index":458,"t":{"1049":{"position":[[0,12]]}}}],["beta",{"_index":107,"t":{"134":{"position":[[19,4]]},"180":{"position":[[15,4]]}}}],["buffer",{"_index":413,"t":{"898":{"position":[[33,6]]}}}],["changejobpricetyp",{"_index":487,"t":{"1400":{"position":[[0,18]]}}}],["cli",{"_index":317,"t":{"683":{"position":[[7,3]]}}}],["cluster",{"_index":134,"t":{"213":{"position":[[24,8]]}}}],["clustercom",{"_index":480,"t":{"1343":{"position":[[0,14]]}}}],["com",{"_index":400,"t":{"878":{"position":[[20,3]]}}}],["comment",{"_index":474,"t":{"1257":{"position":[[0,7]]}}}],["common",{"_index":211,"t":{"310":{"position":[[5,6]]}}}],["compos",{"_index":50,"t":{"38":{"position":[[41,7],[64,7],[117,7]]}}}],["comput",{"_index":290,"t":{"621":{"position":[[9,7]]}}}],["computenod",{"_index":468,"t":{"1174":{"position":[[0,12]]}}}],["config",{"_index":28,"t":{"20":{"position":[[28,6]]},"213":{"position":[[17,6],[46,6]]}}}],["connect",{"_index":459,"t":{"1057":{"position":[[0,7]]}}}],["content",{"_index":481,"t":{"1349":{"position":[[0,7]]}}}],["core",{"_index":478,"t":{"1272":{"position":[[0,5]]}}}],["cron",{"_index":500,"t":{"1599":{"position":[[0,4]]}}}],["data",{"_index":344,"t":{"757":{"position":[[23,4]]}}}],["db",{"_index":488,"t":{"1405":{"position":[[0,2]]},"1528":{"position":[[0,2]]}}}],["dbname",{"_index":492,"t":{"1494":{"position":[[0,6]]},"1568":{"position":[[0,6]]}}}],["dbpassword",{"_index":472,"t":{"1242":{"position":[[0,10]]}}}],["debug",{"_index":489,"t":{"1485":{"position":[[0,5]]}}}],["default",{"_index":499,"t":{"1596":{"position":[[0,7]]},"1750":{"position":[[0,7]]},"1781":{"position":[[0,7]]}}}],["defaultcolor",{"_index":522,"t":{"1964":{"position":[[0,12]]}}}],["defaulttext",{"_index":508,"t":{"1724":{"position":[[0,11]]},"1756":{"position":[[0,11]]},"1909":{"position":[[0,11]]}}}],["demo",{"_index":402,"t":{"878":{"position":[[39,4]]}}}],["deploy",{"_index":46,"t":{"38":{"position":[[18,10]]}}}],["dev",{"_index":342,"t":{"757":{"position":[[9,3]]}}}],["displaynam",{"_index":466,"t":{"1163":{"position":[[0,11]]}}}],["div",{"_index":233,"t":{"483":{"position":[[43,3]]}}}],["dn",{"_index":320,"t":{"699":{"position":[[27,2]]}}}],["docker",{"_index":49,"t":{"38":{"position":[[34,6],[57,6],[110,6]]}}}],["driver",{"_index":275,"t":{"606":{"position":[[41,6]]}}}],["enabl",{"_index":501,"t":{"1604":{"position":[[0,7]]},"1801":{"position":[[0,7]]}}}],["errormessag",{"_index":485,"t":{"1394":{"position":[[0,12]]}}}],["extra",{"_index":210,"t":{"303":{"position":[[0,5]]},"1346":{"position":[[0,6]]}}}],["fetchjob",{"_index":495,"t":{"1503":{"position":[[0,9]]}}}],["footer",{"_index":520,"t":{"1896":{"position":[[0,6]]}}}],["formdata",{"_index":462,"t":{"1087":{"position":[[0,8]]}}}],["github",{"_index":399,"t":{"878":{"position":[[13,6]]}}}],["go",{"_index":401,"t":{"878":{"position":[[36,2]]}}}],["gpu",{"_index":476,"t":{"1263":{"position":[[0,4]]}}}],["grafana",{"_index":453,"t":{"983":{"position":[[47,7]]}}}],["grpc",{"_index":408,"t":{"888":{"position":[[38,4]]}}}],["gui",{"_index":247,"t":{"535":{"position":[[33,3]]}}}],["hometext",{"_index":507,"t":{"1707":{"position":[[0,8]]}}}],["hometitl",{"_index":511,"t":{"1761":{"position":[[0,9]]}}}],["hook",{"_index":410,"t":{"898":{"position":[[9,4],[62,4]]},"908":{"position":[[12,4],[40,4],[49,4],[67,4]]}}}],["host",{"_index":491,"t":{"1491":{"position":[[0,4]]},"1560":{"position":[[0,4]]}}}],["hostnamemap",{"_index":509,"t":{"1734":{"position":[[0,11]]},"1790":{"position":[[0,11]]},"1928":{"position":[[0,11]]},"1955":{"position":[[0,11]]}}}],["html",{"_index":230,"t":{"483":{"position":[[28,4]]},"515":{"position":[[36,4]]}}}],["http",{"_index":250,"t":{"569":{"position":[[18,4]]},"878":{"position":[[5,5]]}}}],["http8080",{"_index":319,"t":{"699":{"position":[[14,8]]}}}],["hyperv",{"_index":294,"t":{"628":{"position":[[31,6]]}}}],["id",{"_index":136,"t":{"213":{"position":[[42,2],[61,2]]}}}],["init",{"_index":218,"t":{"324":{"position":[[19,4]]}}}],["instal",{"_index":202,"t":{"291":{"position":[[5,7]]}}}],["intel",{"_index":313,"t":{"675":{"position":[[41,5]]},"739":{"position":[[2,5]]}}}],["invalid",{"_index":272,"t":{"606":{"position":[[4,7]]}}}],["ip",{"_index":271,"t":{"601":{"position":[[11,2]]}}}],["item",{"_index":450,"t":{"980":{"position":[[0,5]]},"1179":{"position":[[0,5]]},"1215":{"position":[[0,5]]},"1307":{"position":[[0,5]]},"1363":{"position":[[0,5]]},"1625":{"position":[[0,5]]},"1847":{"position":[[0,5]]}}}],["jobchargecom",{"_index":503,"t":{"1615":{"position":[[0,16]]}}}],["jobchargemetadata",{"_index":167,"t":{"246":{"position":[[20,17]]}}}],["jobchargetyp",{"_index":506,"t":{"1639":{"position":[[0,13]]}}}],["jobmanag",{"_index":512,"t":{"1806":{"position":[[0,13]]}}}],["json",{"_index":171,"t":{"246":{"position":[[46,4]]}}}],["ldap",{"_index":163,"t":{"230":{"position":[[15,4]]},"699":{"position":[[2,4],[30,4]]}}}],["level",{"_index":433,"t":{"922":{"position":[[4,5]]},"1115":{"position":[[4,5]]},"1310":{"position":[[4,5]]},"1355":{"position":[[4,5]]},"1631":{"position":[[4,5]]},"1889":{"position":[[4,5]]}}}],["libvirt",{"_index":295,"t":{"628":{"position":[[38,7]]}}}],["linux",{"_index":297,"t":{"628":{"position":[[67,5]]}}}],["login",{"_index":289,"t":{"621":{"position":[[3,5]]}}}],["logindesktop",{"_index":513,"t":{"1811":{"position":[[0,12]]}}}],["loginnod",{"_index":469,"t":{"1182":{"position":[[0,10]]}}}],["logo",{"_index":249,"t":{"555":{"position":[[14,4]]}}}],["logopath",{"_index":235,"t":{"489":{"position":[[15,8]]}}}],["maco",{"_index":298,"t":{"628":{"position":[[73,5]]}}}],["managerurl",{"_index":471,"t":{"1218":{"position":[[0,10]]}}}],["maxdesktop",{"_index":514,"t":{"1837":{"position":[[0,11]]}}}],["mem",{"_index":477,"t":{"1266":{"position":[[0,3]]}}}],["method",{"_index":461,"t":{"1084":{"position":[[0,6]]}}}],["mi",{"_index":164,"t":{"246":{"position":[[5,3]]},"1221":{"position":[[0,3]]}}}],["misignor",{"_index":467,"t":{"1166":{"position":[[0,9]]}}}],["misurl",{"_index":517,"t":{"1865":{"position":[[0,6]]}}}],["modul",{"_index":312,"t":{"675":{"position":[[34,6]]},"749":{"position":[[0,6],[33,6]]}}}],["mung",{"_index":523,"t":{"1990":{"position":[[5,5]]}}}],["mysql",{"_index":456,"t":{"983":{"position":[[80,5]]}}}],["name",{"_index":440,"t":{"957":{"position":[[0,4]]},"1876":{"position":[[0,4]]}}}],["nf",{"_index":337,"t":{"749":{"position":[[20,3]]},"759":{"position":[[4,3]]}}}],["node",{"_index":449,"t":{"977":{"position":[[0,5]]},"1269":{"position":[[0,5]]}}}],["object",{"_index":437,"t":{"932":{"position":[[9,6]]},"1135":{"position":[[9,6]]},"1331":{"position":[[9,6]]},"1434":{"position":[[9,6]]},"1644":{"position":[[9,6]]},"1915":{"position":[[9,6]]}}}],["oneapi",{"_index":336,"t":{"739":{"position":[[58,6]]}}}],["parallelstudioxexxxupdate4clusteredit",{"_index":334,"t":{"739":{"position":[[13,40]]}}}],["partit",{"_index":473,"t":{"1245":{"position":[[0,10]]}}}],["password",{"_index":494,"t":{"1500":{"position":[[0,8]]},"1557":{"position":[[0,8]]}}}],["path",{"_index":147,"t":{"217":{"position":[[13,4]]},"1106":{"position":[[0,4]]}}}],["patternproperti",{"_index":460,"t":{"1078":{"position":[[0,17]]},"1109":{"position":[[0,17]]},"1254":{"position":[[0,17]]},"1340":{"position":[[0,17]]},"1753":{"position":[[0,17]]},"1784":{"position":[[0,17]]},"1912":{"position":[[0,17]]},"1984":{"position":[[0,17]]}}}],["periodicfetch",{"_index":497,"t":{"1574":{"position":[[0,13]]}}}],["pkuhpc",{"_index":45,"t":{"38":{"position":[[6,6]]},"878":{"position":[[24,6]]}}}],["port",{"_index":490,"t":{"1488":{"position":[[0,4]]},"1571":{"position":[[0,4]]}}}],["portalurl",{"_index":505,"t":{"1628":{"position":[[0,9]]}}}],["predefinedchargingtyp",{"_index":504,"t":{"1620":{"position":[[0,23]]}}}],["primarycolor",{"_index":521,"t":{"1940":{"position":[[0,12]]}}}],["profil",{"_index":54,"t":{"38":{"position":[[74,7]]}}}],["prometheu",{"_index":452,"t":{"983":{"position":[[36,10]]}}}],["proto",{"_index":419,"t":{"898":{"position":[[74,5],[84,5]]}}}],["protocol",{"_index":412,"t":{"898":{"position":[[24,8]]}}}],["provid",{"_index":282,"t":{"609":{"position":[[37,8]]},"628":{"position":[[10,8],[100,8]]}}}],["public",{"_index":204,"t":{"291":{"position":[[19,6],[46,6]]}}}],["qo",{"_index":479,"t":{"1304":{"position":[[0,3]]}}}],["queri",{"_index":464,"t":{"1126":{"position":[[0,5]]}}}],["regex",{"_index":486,"t":{"1397":{"position":[[0,5]]}}}],["savedjobsdir",{"_index":516,"t":{"1860":{"position":[[0,12]]}}}],["schedul",{"_index":465,"t":{"1158":{"position":[[0,9]]}}}],["schema",{"_index":434,"t":{"922":{"position":[[10,7]]},"1115":{"position":[[10,7]]},"1310":{"position":[[10,7]]},"1355":{"position":[[10,7]]},"1631":{"position":[[10,7]]},"1889":{"position":[[10,7]]}}}],["scow",{"_index":2,"t":{"2":{"position":[[0,4]]},"4":{"position":[[21,4]]},"20":{"position":[[7,4]]},"38":{"position":[[13,4]]},"51":{"position":[[6,4]]},"78":{"position":[[11,4]]},"82":{"position":[[0,4]]},"224":{"position":[[1,4]]},"291":{"position":[[36,4]]},"310":{"position":[[44,4]]},"316":{"position":[[21,4]]},"569":{"position":[[66,4]]},"609":{"position":[[54,4]]},"662":{"position":[[12,4]]},"673":{"position":[[5,4]]},"677":{"position":[[0,4]]},"683":{"position":[[2,4],[12,4]]},"773":{"position":[[0,4]]},"870":{"position":[[0,4],[34,4]]},"878":{"position":[[31,4]]},"888":{"position":[[0,4],[24,4]]},"898":{"position":[[0,4],[53,4]]},"908":{"position":[[7,4],[19,4],[35,4],[62,4],[73,4]]},"920":{"position":[[0,4]]}}}],["script",{"_index":463,"t":{"1112":{"position":[[0,6]]}}}],["scriptpath",{"_index":475,"t":{"1260":{"position":[[0,10]]}}}],["sdb",{"_index":343,"t":{"757":{"position":[[13,3]]}}}],["shell",{"_index":260,"t":{"577":{"position":[[0,5]]},"1868":{"position":[[0,5]]}}}],["slurm",{"_index":221,"t":{"352":{"position":[[2,5]]},"609":{"position":[[48,5]]},"675":{"position":[[17,5]]},"1187":{"position":[[0,5]]}}}],["ssh",{"_index":127,"t":{"176":{"position":[[13,3]]}}}],["startindex",{"_index":502,"t":{"1612":{"position":[[0,10]]}}}],["submitjobdefaultpwd",{"_index":518,"t":{"1879":{"position":[[0,19]]}}}],["systemlanguag",{"_index":212,"t":{"310":{"position":[[23,14]]}}}],["tablenam",{"_index":498,"t":{"1593":{"position":[[0,9]]}}}],["titl",{"_index":482,"t":{"1352":{"position":[[0,5]]}}}],["top",{"_index":432,"t":{"922":{"position":[[0,3]]},"1115":{"position":[[0,3]]},"1310":{"position":[[0,3]]},"1355":{"position":[[0,3]]},"1631":{"position":[[0,3]]},"1889":{"position":[[0,3]]}}}],["turbovncpath",{"_index":519,"t":{"1884":{"position":[[0,12]]}}}],["type",{"_index":439,"t":{"932":{"position":[[29,4]]},"957":{"position":[[5,4]]},"977":{"position":[[6,4]]},"980":{"position":[[6,4]]},"1012":{"position":[[0,4],[5,4]]},"1015":{"position":[[2,4]]},"1020":{"position":[[9,4]]},"1023":{"position":[[4,4]]},"1032":{"position":[[4,4]]},"1049":{"position":[[13,4]]},"1052":{"position":[[2,4]]},"1057":{"position":[[8,4]]},"1078":{"position":[[18,4]]},"1081":{"position":[[6,4]]},"1084":{"position":[[7,4]]},"1087":{"position":[[9,4]]},"1096":{"position":[[2,4]]},"1101":{"position":[[2,4]]},"1106":{"position":[[5,4]]},"1109":{"position":[[18,4]]},"1112":{"position":[[7,4]]},"1123":{"position":[[6,4]]},"1126":{"position":[[6,4]]},"1135":{"position":[[29,4]]},"1158":{"position":[[10,4]]},"1163":{"position":[[12,4]]},"1166":{"position":[[10,4]]},"1169":{"position":[[2,4]]},"1174":{"position":[[13,4]]},"1179":{"position":[[6,4]]},"1182":{"position":[[11,4]]},"1187":{"position":[[6,4]]},"1212":{"position":[[21,4]]},"1215":{"position":[[6,4]]},"1218":{"position":[[11,4]]},"1221":{"position":[[4,4]]},"1242":{"position":[[11,4]]},"1245":{"position":[[11,4]]},"1254":{"position":[[18,4]]},"1257":{"position":[[8,4]]},"1260":{"position":[[11,4]]},"1263":{"position":[[5,4]]},"1266":{"position":[[4,4]]},"1269":{"position":[[6,4]]},"1272":{"position":[[6,4]]},"1275":{"position":[[6,4]]},"1304":{"position":[[4,4]]},"1307":{"position":[[6,4]]},"1318":{"position":[[6,4]]},"1331":{"position":[[29,4]]},"1340":{"position":[[18,4]]},"1343":{"position":[[15,4]]},"1346":{"position":[[7,4]]},"1349":{"position":[[8,4]]},"1352":{"position":[[6,4]]},"1363":{"position":[[6,4]]},"1376":{"position":[[19,4]]},"1389":{"position":[[8,4]]},"1394":{"position":[[13,4]]},"1397":{"position":[[6,4]]},"1400":{"position":[[19,4]]},"1405":{"position":[[3,4]]},"1434":{"position":[[29,4]]},"1485":{"position":[[6,4]]},"1488":{"position":[[5,4]]},"1491":{"position":[[5,4]]},"1494":{"position":[[7,4]]},"1497":{"position":[[5,4]]},"1500":{"position":[[9,4]]},"1503":{"position":[[10,4]]},"1528":{"position":[[3,4]]},"1557":{"position":[[9,4]]},"1560":{"position":[[5,4]]},"1563":{"position":[[10,4]]},"1568":{"position":[[7,4]]},"1571":{"position":[[5,4]]},"1574":{"position":[[14,4]]},"1593":{"position":[[10,4]]},"1596":{"position":[[8,4]]},"1599":{"position":[[5,4]]},"1604":{"position":[[8,4]]},"1609":{"position":[[5,4]]},"1612":{"position":[[11,4]]},"1615":{"position":[[17,4]]},"1620":{"position":[[24,4]]},"1625":{"position":[[6,4]]},"1628":{"position":[[10,4]]},"1639":{"position":[[14,4]]},"1644":{"position":[[29,4]]},"1707":{"position":[[9,4]]},"1724":{"position":[[12,4]]},"1729":{"position":[[5,4]]},"1734":{"position":[[12,4]]},"1745":{"position":[[11,4]]},"1750":{"position":[[8,4]]},"1753":{"position":[[18,4]]},"1756":{"position":[[12,4]]},"1761":{"position":[[10,4]]},"1778":{"position":[[6,4]]},"1781":{"position":[[8,4]]},"1784":{"position":[[18,4]]},"1787":{"position":[[6,4]]},"1790":{"position":[[12,4]]},"1801":{"position":[[8,4]]},"1806":{"position":[[14,4]]},"1811":{"position":[[13,4]]},"1834":{"position":[[2,4]]},"1837":{"position":[[12,4]]},"1842":{"position":[[4,4]]},"1847":{"position":[[6,4]]},"1860":{"position":[[13,4]]},"1865":{"position":[[7,4]]},"1868":{"position":[[6,4]]},"1873":{"position":[[3,4]]},"1876":{"position":[[5,4]]},"1879":{"position":[[20,4]]},"1884":{"position":[[13,4]]},"1896":{"position":[[7,4]]},"1909":{"position":[[12,4]]},"1912":{"position":[[18,4]]},"1915":{"position":[[29,4]]},"1928":{"position":[[12,4]]},"1937":{"position":[[6,4]]},"1940":{"position":[[13,4]]},"1955":{"position":[[12,4]]},"1964":{"position":[[13,4]]},"1969":{"position":[[6,4]]},"1984":{"position":[[18,4]]}}}],["ui",{"_index":125,"t":{"161":{"position":[[0,2]]},"293":{"position":[[14,2],[24,2]]},"960":{"position":[[3,2]]}}}],["undefin",{"_index":438,"t":{"932":{"position":[[19,9]]},"1135":{"position":[[19,9]]},"1331":{"position":[[19,9]]},"1434":{"position":[[19,9]]},"1644":{"position":[[19,9]]},"1915":{"position":[[19,9]]}}}],["untitl",{"_index":436,"t":{"932":{"position":[[0,8]]},"1135":{"position":[[0,8]]},"1331":{"position":[[0,8]]},"1434":{"position":[[0,8]]},"1644":{"position":[[0,8]]},"1915":{"position":[[0,8]]}}}],["url",{"_index":182,"t":{"256":{"position":[[32,3]]},"281":{"position":[[43,3]]}}}],["user",{"_index":493,"t":{"1497":{"position":[[0,4]]},"1609":{"position":[[0,4]]}}}],["utc",{"_index":390,"t":{"870":{"position":[[104,3]]}}}],["v0",{"_index":39,"t":{"22":{"position":[[7,2]]}}}],["v1",{"_index":44,"t":{"22":{"position":[[21,2]]}}}],["vagrant",{"_index":279,"t":{"609":{"position":[[15,7]]},"628":{"position":[[0,7]]}}}],["valu",{"_index":273,"t":{"606":{"position":[[12,5]]}}}],["virtualbox",{"_index":280,"t":{"609":{"position":[[25,10]]},"628":{"position":[[20,10],[47,10],[88,10]]}}}],["vnc",{"_index":111,"t":{"134":{"position":[[32,3]]},"489":{"position":[[4,3]]},"515":{"position":[[4,3]]},"1023":{"position":[[0,3]]}}}],["web",{"_index":109,"t":{"134":{"position":[[27,3]]},"489":{"position":[[0,3]]},"515":{"position":[[0,3]]},"769":{"position":[[11,3]]},"801":{"position":[[22,3]]},"1032":{"position":[[0,3]]}}}],["window",{"_index":296,"t":{"628":{"position":[[59,7]]}}}],["wm",{"_index":515,"t":{"1842":{"position":[[0,3]]},"1873":{"position":[[0,2]]}}}],["x",{"_index":383,"t":{"870":{"position":[[81,1]]}}}],["xstartup",{"_index":457,"t":{"1020":{"position":[[0,8]]}}}],["yaml",{"_index":165,"t":{"246":{"position":[[9,4]]}}}],["yml",{"_index":137,"t":{"213":{"position":[[53,3],[65,3]]},"291":{"position":[[13,3]]},"310":{"position":[[12,3]]}}}],["一个",{"_index":21,"t":{"20":{"position":[[1,2]]},"38":{"position":[[1,2]]},"213":{"position":[[37,2]]},"483":{"position":[[41,2]]},"773":{"position":[[5,2]]},"801":{"position":[[18,2]]},"811":{"position":[[6,2]]},"827":{"position":[[30,2]]},"831":{"position":[[27,2]]},"960":{"position":[[18,2]]}}}],["一些",{"_index":207,"t":{"293":{"position":[[8,2]]},"870":{"position":[[9,2],[41,2]]},"908":{"position":[[26,2],[89,2]]}}}],["一天",{"_index":386,"t":{"870":{"position":[[85,2]]}}}],["一步",{"_index":308,"t":{"675":{"position":[[11,2],[13,2]]}}}],["一致",{"_index":394,"t":{"870":{"position":[[123,2]]}}}],["一起",{"_index":82,"t":{"51":{"position":[[32,2]]}}}],["一键",{"_index":283,"t":{"609":{"position":[[60,2]]}}}],["上传",{"_index":265,"t":{"577":{"position":[[26,2]]}}}],["上来",{"_index":255,"t":{"569":{"position":[[57,2]]}}}],["上线",{"_index":5,"t":{"2":{"position":[[8,2]]}}}],["下拉菜单",{"_index":196,"t":{"281":{"position":[[19,4]]}}}],["下载",{"_index":266,"t":{"577":{"position":[[29,2],[34,2]]}}}],["不再",{"_index":333,"t":{"739":{"position":[[10,2]]}}}],["不同",{"_index":62,"t":{"38":{"position":[[103,2]]},"483":{"position":[[5,2]]},"495":{"position":[[8,2]]}}}],["不能",{"_index":374,"t":{"827":{"position":[[11,2]]},"831":{"position":[[11,2]]}}}],["个人信息",{"_index":199,"t":{"289":{"position":[[51,4]]}}}],["中",{"_index":160,"t":{"224":{"position":[[13,1],[32,1]]},"246":{"position":[[13,1],[59,1]]},"273":{"position":[[5,1],[31,1]]},"281":{"position":[[23,1]]},"289":{"position":[[55,1]]},"293":{"position":[[2,1],[12,1]]},"310":{"position":[[17,1]]},"316":{"position":[[25,1]]},"483":{"position":[[46,1]]},"769":{"position":[[27,1]]},"821":{"position":[[45,1],[68,1]]},"908":{"position":[[77,1]]},"983":{"position":[[16,1]]}}}],["主要",{"_index":51,"t":{"38":{"position":[[52,2]]}}}],["了解",{"_index":104,"t":{"134":{"position":[[6,2]]},"532":{"position":[[6,2]]}}}],["事件",{"_index":425,"t":{"908":{"position":[[28,2],[81,2]]}}}],["交互式",{"_index":25,"t":{"20":{"position":[[16,3],[43,3],[64,3]]},"134":{"position":[[8,3]]},"483":{"position":[[8,3]]},"515":{"position":[[54,3]]},"532":{"position":[[8,3]]},"569":{"position":[[8,3]]},"805":{"position":[[2,3]]}}}],["人员",{"_index":356,"t":{"773":{"position":[[14,2]]}}}],["什么",{"_index":17,"t":{"6":{"position":[[0,2]]},"217":{"position":[[0,2]]}}}],["介绍",{"_index":84,"t":{"53":{"position":[[2,2]]},"80":{"position":[[18,2]]},"136":{"position":[[2,2]]},"147":{"position":[[2,2]]},"176":{"position":[[2,2]]},"180":{"position":[[2,2]]},"230":{"position":[[2,2]]},"336":{"position":[[2,2]]},"559":{"position":[[2,2]]},"726":{"position":[[2,2]]}}}],["代理",{"_index":251,"t":{"569":{"position":[[22,2],[31,2]]}}}],["代码",{"_index":183,"t":{"273":{"position":[[14,2]]},"898":{"position":[[100,2]]}}}],["以上",{"_index":42,"t":{"22":{"position":[[15,2]]}}}],["以下",{"_index":214,"t":{"316":{"position":[[1,2]]}}}],["以及",{"_index":58,"t":{"38":{"position":[[90,2]]},"155":{"position":[[22,2]]},"495":{"position":[[34,2]]}}}],["仪表盘",{"_index":248,"t":{"555":{"position":[[10,3]]}}}],["任何",{"_index":445,"t":{"960":{"position":[[43,2]]}}}],["会",{"_index":179,"t":{"256":{"position":[[24,1]]},"281":{"position":[[35,1]]},"483":{"position":[[37,1]]},"908":{"position":[[32,1]]}}}],["传输",{"_index":268,"t":{"589":{"position":[[10,2]]}}}],["但是",{"_index":63,"t":{"38":{"position":[[108,2]]}}}],["作业",{"_index":105,"t":{"134":{"position":[[11,2]]},"246":{"position":[[38,2]]},"532":{"position":[[11,2]]},"569":{"position":[[11,2],[50,2]]},"821":{"position":[[2,2],[21,2],[43,2],[49,2],[66,2],[71,2]]}}}],["作为",{"_index":281,"t":{"609":{"position":[[35,2]]},"628":{"position":[[98,2]]},"759":{"position":[[7,2]]}}}],["使用",{"_index":36,"t":{"20":{"position":[[61,2]]},"82":{"position":[[4,2]]},"136":{"position":[[6,2]]},"230":{"position":[[4,2],[13,2]]},"273":{"position":[[48,2]]},"289":{"position":[[2,2],[20,2]]},"310":{"position":[[42,2]]},"352":{"position":[[0,2]]},"495":{"position":[[29,2],[44,2]]},"683":{"position":[[0,2]]},"749":{"position":[[14,2]]},"805":{"position":[[20,2],[43,2]]},"821":{"position":[[24,2]]},"827":{"position":[[25,2]]},"870":{"position":[[127,2]]},"888":{"position":[[36,2]]},"898":{"position":[[51,2]]},"960":{"position":[[1,2],[41,2]]}}}],["例",{"_index":347,"t":{"767":{"position":[[26,1]]}}}],["保存",{"_index":173,"t":{"246":{"position":[[52,2]]}}}],["信息",{"_index":140,"t":{"213":{"position":[[78,2],[86,2]]},"515":{"position":[[79,2]]},"983":{"position":[[23,2]]}}}],["修改",{"_index":141,"t":{"213":{"position":[[88,2],[99,2]]},"289":{"position":[[56,2]]},"489":{"position":[[27,2]]},"515":{"position":[[29,2]]},"601":{"position":[[5,2]]}}}],["借助",{"_index":360,"t":{"805":{"position":[[0,2]]},"821":{"position":[[0,2]]}}}],["值",{"_index":324,"t":{"699":{"position":[[53,1]]}}}],["假设",{"_index":338,"t":{"757":{"position":[[0,2]]}}}],["允许",{"_index":216,"t":{"316":{"position":[[11,2]]},"515":{"position":[[43,2]]}}}],["元素",{"_index":209,"t":{"293":{"position":[[16,2],[26,2]]}}}],["入口",{"_index":359,"t":{"801":{"position":[[28,2]]}}}],["公网",{"_index":448,"t":{"960":{"position":[[74,2]]}}}],["共享",{"_index":310,"t":{"675":{"position":[[27,2]]},"749":{"position":[[23,2]]},"759":{"position":[[9,2]]}}}],["关系",{"_index":91,"t":{"80":{"position":[[7,2]]}}}],["兴趣",{"_index":79,"t":{"51":{"position":[[15,2],[26,2]]}}}],["其中",{"_index":380,"t":{"870":{"position":[[48,2]]}}}],["具体",{"_index":95,"t":{"80":{"position":[[28,2]]}}}],["内",{"_index":385,"t":{"870":{"position":[[83,1]]}}}],["内置",{"_index":53,"t":{"38":{"position":[[71,2]]},"176":{"position":[[4,2]]},"230":{"position":[[6,2]]},"289":{"position":[[26,2]]}}}],["分为",{"_index":405,"t":{"888":{"position":[[10,2]]}}}],["分发",{"_index":415,"t":{"898":{"position":[[46,2]]}}}],["列表",{"_index":153,"t":{"222":{"position":[[19,2]]}}}],["创建",{"_index":32,"t":{"20":{"position":[[51,2]]},"213":{"position":[[35,2]]},"273":{"position":[[41,2]]},"289":{"position":[[11,2],[29,2],[38,2]]},"316":{"position":[[26,2]]},"489":{"position":[[29,2]]},"515":{"position":[[31,2],[52,2]]},"749":{"position":[[31,2]]}}}],["初始化",{"_index":220,"t":{"324":{"position":[[36,3]]}}}],["制作",{"_index":292,"t":{"621":{"position":[[20,2]]}}}],["前提条件",{"_index":103,"t":{"93":{"position":[[0,4]]},"116":{"position":[[0,4]]},"503":{"position":[[0,4]]},"541":{"position":[[0,4]]}}}],["前端",{"_index":406,"t":{"888":{"position":[[12,2],[29,2]]}}}],["功能",{"_index":55,"t":{"38":{"position":[[81,2],[96,2],[127,2]]},"80":{"position":[[25,2]]},"134":{"position":[[13,2],[38,2]]},"155":{"position":[[19,2]]},"224":{"position":[[11,2]]},"289":{"position":[[43,2]]},"310":{"position":[[54,2]]},"532":{"position":[[13,2]]},"535":{"position":[[6,2]]},"569":{"position":[[13,2]]},"779":{"position":[[18,2]]},"801":{"position":[[26,2]]},"805":{"position":[[7,2]]},"821":{"position":[[4,2]]},"983":{"position":[[3,2]]}}}],["包括",{"_index":293,"t":{"628":{"position":[[18,2]]}}}],["区",{"_index":396,"t":{"870":{"position":[[142,1]]}}}],["升级",{"_index":43,"t":{"22":{"position":[[18,2]]}}}],["博文",{"_index":1,"t":{"1":{"position":[[2,2]]}}}],["即可",{"_index":219,"t":{"324":{"position":[[27,2]]},"960":{"position":[[78,2]]}}}],["历史",{"_index":0,"t":{"1":{"position":[[0,2]]}}}],["参与",{"_index":77,"t":{"51":{"position":[[4,2],[34,2]]}}}],["参与者",{"_index":81,"t":{"51":{"position":[[29,3]]}}}],["参考",{"_index":97,"t":{"80":{"position":[[33,2]]},"134":{"position":[[0,2]]},"532":{"position":[[0,2]]},"930":{"position":[[11,2]]}}}],["发生",{"_index":424,"t":{"908":{"position":[[24,2],[78,2]]}}}],["变量",{"_index":59,"t":{"38":{"position":[[92,2]]}}}],["只有",{"_index":237,"t":{"495":{"position":[[36,2]]}}}],["可以",{"_index":35,"t":{"20":{"position":[[59,2]]},"256":{"position":[[1,2]]},"273":{"position":[[8,2],[38,2]]},"281":{"position":[[1,2]]},"289":{"position":[[18,2],[48,2],[71,2]]},"291":{"position":[[33,2]]},"489":{"position":[[11,2]]},"495":{"position":[[42,2]]},"515":{"position":[[11,2]]},"555":{"position":[[1,2]]},"805":{"position":[[11,2]]},"821":{"position":[[8,2],[37,2]]},"827":{"position":[[21,2]]},"831":{"position":[[21,2]]},"870":{"position":[[23,2],[70,2]]},"908":{"position":[[58,2]]},"960":{"position":[[23,2],[39,2],[68,2]]},"983":{"position":[[5,2]]}}}],["右侧",{"_index":195,"t":{"281":{"position":[[14,2]]}}}],["各个",{"_index":33,"t":{"20":{"position":[[53,2]]},"80":{"position":[[2,2],[20,2],[35,2]]},"155":{"position":[[25,2]]},"495":{"position":[[23,2]]}}}],["各类",{"_index":315,"t":{"677":{"position":[[5,2]]}}}],["同时",{"_index":142,"t":{"213":{"position":[[95,2]]}}}],["同步",{"_index":224,"t":{"383":{"position":[[0,2]]}}}],["同级",{"_index":203,"t":{"291":{"position":[[16,2]]}}}],["后台",{"_index":318,"t":{"699":{"position":[[6,2]]}}}],["后续",{"_index":429,"t":{"908":{"position":[[91,2]]}}}],["启动",{"_index":362,"t":{"805":{"position":[[32,2]]}}}],["告警",{"_index":451,"t":{"983":{"position":[[26,2]]}}}],["命令",{"_index":263,"t":{"577":{"position":[[11,2]]}}}],["器",{"_index":19,"t":{"6":{"position":[[5,1]]},"383":{"position":[[4,1]]}}}],["因此",{"_index":299,"t":{"628":{"position":[[82,2]]}}}],["国际化",{"_index":159,"t":{"224":{"position":[[8,3],[39,3]]},"310":{"position":[[51,3]]}}}],["图",{"_index":93,"t":{"80":{"position":[[11,1]]},"920":{"position":[[13,1]]}}}],["图标",{"_index":236,"t":{"489":{"position":[[34,2]]}}}],["地",{"_index":11,"t":{"4":{"position":[[12,1]]}}}],["均",{"_index":34,"t":{"20":{"position":[[58,1]]},"495":{"position":[[27,1]]}}}],["基于",{"_index":278,"t":{"609":{"position":[[13,2]]}}}],["基本",{"_index":358,"t":{"801":{"position":[[20,2]]}}}],["增加",{"_index":175,"t":{"256":{"position":[[3,2]]},"273":{"position":[[10,2]]},"281":{"position":[[24,2]]}}}],["处理",{"_index":430,"t":{"908":{"position":[[93,2]]}}}],["外界",{"_index":442,"t":{"960":{"position":[[21,2]]}}}],["多",{"_index":69,"t":{"38":{"position":[[139,1]]},"920":{"position":[[4,1]]}}}],["大家",{"_index":8,"t":{"4":{"position":[[7,2]]}}}],["天",{"_index":384,"t":{"870":{"position":[[82,1]]}}}],["如下",{"_index":92,"t":{"80":{"position":[[9,2]]},"767":{"position":[[33,2]]},"920":{"position":[[11,2]]}}}],["如何",{"_index":112,"t":{"136":{"position":[[4,2]]},"147":{"position":[[4,2]]},"180":{"position":[[4,2]]},"336":{"position":[[4,2]]},"559":{"position":[[4,2]]},"601":{"position":[[3,2]]},"662":{"position":[[0,2]]},"726":{"position":[[4,2]]}}}],["如果",{"_index":373,"t":{"827":{"position":[[0,2]]},"831":{"position":[[0,2]]},"870":{"position":[[110,2]]},"908":{"position":[[0,2]]}}}],["字",{"_index":169,"t":{"246":{"position":[[43,1]]}}}],["存储",{"_index":311,"t":{"675":{"position":[[29,2]]},"749":{"position":[[25,2]]},"759":{"position":[[11,2]]}}}],["存放",{"_index":201,"t":{"291":{"position":[[1,2]]}}}],["安装",{"_index":89,"t":{"78":{"position":[[6,2]]},"628":{"position":[[79,2]]},"675":{"position":[[25,2],[32,2]]},"699":{"position":[[37,2]]},"749":{"position":[[17,2],[39,2]]},"983":{"position":[[86,2]]},"1990":{"position":[[3,2]]}}}],["完成",{"_index":198,"t":{"289":{"position":[[36,2]]},"324":{"position":[[7,2]]}}}],["定义",{"_index":240,"t":{"515":{"position":[[48,2]]},"898":{"position":[[43,2]]}}}],["实现",{"_index":31,"t":{"20":{"position":[[49,2]]},"38":{"position":[[48,2],[99,2]]},"569":{"position":[[59,2]]},"827":{"position":[[28,2]]},"831":{"position":[[25,2]]}}}],["实验",{"_index":129,"t":{"204":{"position":[[0,2]]},"914":{"position":[[0,2]]}}}],["审计",{"_index":116,"t":{"147":{"position":[[8,2]]}}}],["客户端",{"_index":393,"t":{"870":{"position":[[120,3]]}}}],["密码",{"_index":200,"t":{"289":{"position":[[58,2],[63,2]]}}}],["对",{"_index":76,"t":{"51":{"position":[[3,1],[22,1]]},"483":{"position":[[4,1]]},"677":{"position":[[4,1]]}}}],["对于",{"_index":131,"t":{"213":{"position":[[0,2]]},"289":{"position":[[61,2]]}}}],["对应",{"_index":144,"t":{"213":{"position":[[101,2]]},"898":{"position":[[94,2]]}}}],["对系统",{"_index":328,"t":{"726":{"position":[[6,3]]}}}],["导航",{"_index":176,"t":{"256":{"position":[[13,2]]},"281":{"position":[[11,2]]}}}],["封锁",{"_index":226,"t":{"383":{"position":[[10,2]]}}}],["将",{"_index":168,"t":{"246":{"position":[[37,1]]},"291":{"position":[[32,1]]},"483":{"position":[[36,1]]},"569":{"position":[[25,1]]}}}],["就",{"_index":187,"t":{"273":{"position":[[37,1]]},"535":{"position":[[18,1]]}}}],["工具软件",{"_index":314,"t":{"675":{"position":[[47,4]]}}}],["已有",{"_index":301,"t":{"662":{"position":[[3,2]]}}}],["希望",{"_index":392,"t":{"870":{"position":[[112,2]]}}}],["帮助",{"_index":88,"t":{"78":{"position":[[3,2]]}}}],["常见",{"_index":329,"t":{"726":{"position":[[12,2]]},"779":{"position":[[13,2]]}}}],["应用",{"_index":26,"t":{"20":{"position":[[19,2],[46,2],[67,2]]},"134":{"position":[[36,2]]},"483":{"position":[[11,2]]},"489":{"position":[[8,2],[31,2]]},"495":{"position":[[32,2],[47,2]]},"515":{"position":[[8,2],[33,2],[57,2],[73,2]]},"805":{"position":[[5,2],[34,2],[47,2]]}}}],["开发",{"_index":78,"t":{"51":{"position":[[12,2],[38,2]]},"53":{"position":[[4,2]]},"609":{"position":[[5,2]]},"898":{"position":[[109,2]]},"960":{"position":[[13,2]]}}}],["开始",{"_index":307,"t":{"675":{"position":[[8,2]]}}}],["待",{"_index":339,"t":{"757":{"position":[[2,1]]}}}],["性功能",{"_index":130,"t":{"204":{"position":[[2,3]]},"914":{"position":[[2,3]]}}}],["总体",{"_index":403,"t":{"888":{"position":[[6,2]]}}}],["情况",{"_index":215,"t":{"316":{"position":[[3,2]]}}}],["想",{"_index":417,"t":{"898":{"position":[[50,1]]}}}],["感谢您",{"_index":75,"t":{"51":{"position":[[0,3]]}}}],["成功",{"_index":367,"t":{"821":{"position":[[33,2]]}}}],["我们",{"_index":6,"t":{"4":{"position":[[0,2]]},"20":{"position":[[23,2]]},"51":{"position":[[18,2]]},"289":{"position":[[69,2]]}}}],["或者",{"_index":217,"t":{"316":{"position":[[15,2]]},"569":{"position":[[44,2]]}}}],["所在",{"_index":257,"t":{"569":{"position":[[70,2]]}}}],["所有",{"_index":73,"t":{"46":{"position":[[3,2]]},"569":{"position":[[81,2]]},"749":{"position":[[10,2]]},"821":{"position":[[64,2]]}}}],["所示",{"_index":431,"t":{"920":{"position":[[14,2]]}}}],["手动",{"_index":143,"t":{"213":{"position":[[97,2]]}}}],["才能",{"_index":422,"t":{"898":{"position":[[105,2]]}}}],["执行",{"_index":372,"t":{"821":{"position":[[74,2]]}}}],["扩展",{"_index":441,"t":{"960":{"position":[[5,2],[33,2]]}}}],["技术开发",{"_index":446,"t":{"960":{"position":[[45,4]]}}}],["报错",{"_index":325,"t":{"705":{"position":[[5,2]]}}}],["挂载",{"_index":340,"t":{"757":{"position":[[3,2],[17,2]]}}}],["指定",{"_index":181,"t":{"256":{"position":[[29,2]]},"281":{"position":[[40,2]]},"515":{"position":[[71,2]]},"577":{"position":[[36,2]]}}}],["按",{"_index":155,"t":{"222":{"position":[[27,1]]}}}],["描述",{"_index":229,"t":{"483":{"position":[[21,2]]}}}],["提交",{"_index":366,"t":{"821":{"position":[[19,2],[31,2]]}}}],["提供",{"_index":119,"t":{"155":{"position":[[13,2],[29,2]]},"609":{"position":[[46,2]]},"779":{"position":[[4,2]]},"801":{"position":[[15,2]]},"827":{"position":[[4,2]]},"831":{"position":[[4,2]]},"870":{"position":[[6,2]]}}}],["搭建",{"_index":309,"t":{"675":{"position":[[15,2]]}}}],["操作",{"_index":113,"t":{"136":{"position":[[11,2]]},"535":{"position":[[36,2]]},"726":{"position":[[16,2]]}}}],["支持",{"_index":108,"t":{"134":{"position":[[25,2]]},"222":{"position":[[25,2]]},"224":{"position":[[17,2]]},"246":{"position":[[2,2]]},"289":{"position":[[9,2]]},"293":{"position":[[3,2],[19,2]]},"310":{"position":[[0,2]]},"483":{"position":[[2,2],[26,2]]},"495":{"position":[[0,2]]},"577":{"position":[[7,2],[32,2]]},"628":{"position":[[7,2],[57,2]]},"677":{"position":[[13,2]]}}}],["收费",{"_index":184,"t":{"273":{"position":[[19,2]]}}}],["改名",{"_index":335,"t":{"739":{"position":[[55,2]]}}}],["放在",{"_index":232,"t":{"483":{"position":[[39,2]]}}}],["教程",{"_index":300,"t":{"628":{"position":[[85,2]]}}}],["数据",{"_index":350,"t":{"769":{"position":[[29,2]]},"870":{"position":[[11,2]]}}}],["数据库",{"_index":388,"t":{"870":{"position":[[96,3]]}}}],["数据结构",{"_index":411,"t":{"898":{"position":[[14,4]]}}}],["文件",{"_index":138,"t":{"213":{"position":[[69,2]]},"291":{"position":[[30,2]]},"310":{"position":[[15,2]]},"577":{"position":[[23,2],[38,2]]},"898":{"position":[[79,2],[89,2]]}}}],["文件系统",{"_index":264,"t":{"577":{"position":[[16,4]]}}}],["文字",{"_index":228,"t":{"483":{"position":[[17,2]]}}}],["文本",{"_index":161,"t":{"224":{"position":[[34,2]]},"483":{"position":[[24,2]]},"555":{"position":[[19,2]]}}}],["文档",{"_index":3,"t":{"2":{"position":[[4,2]]},"22":{"position":[[1,2]]},"134":{"position":[[2,2]]},"532":{"position":[[2,2]]},"675":{"position":[[1,2]]}}}],["新",{"_index":188,"t":{"273":{"position":[[43,1],[52,1]]}}}],["新版",{"_index":331,"t":{"739":{"position":[[0,2]]}}}],["方便",{"_index":10,"t":{"4":{"position":[[10,2]]}}}],["方式",{"_index":193,"t":{"273":{"position":[[56,2]]},"769":{"position":[[45,2]]}}}],["方案",{"_index":284,"t":{"609":{"position":[[64,2]]},"759":{"position":[[1,2]]}}}],["无法",{"_index":66,"t":{"38":{"position":[[132,2]]}}}],["日志",{"_index":115,"t":{"136":{"position":[[15,2]]},"983":{"position":[[28,2]]}}}],["日期",{"_index":381,"t":{"870":{"position":[[58,2]]}}}],["时",{"_index":154,"t":{"222":{"position":[[21,1]]},"289":{"position":[[15,1]]},"515":{"position":[[59,1]]},"870":{"position":[[134,1],[141,1]]},"908":{"position":[[30,1]]}}}],["时间",{"_index":391,"t":{"870":{"position":[[107,2]]}}}],["是否",{"_index":213,"t":{"310":{"position":[[40,2]]}}}],["显示",{"_index":162,"t":{"224":{"position":[[36,2],[42,2]]}}}],["更",{"_index":9,"t":{"4":{"position":[[9,1]]},"38":{"position":[[138,1]]}}}],["替换",{"_index":60,"t":{"38":{"position":[[94,2]]}}}],["服务",{"_index":124,"t":{"155":{"position":[[33,2]]},"569":{"position":[[73,2]]},"767":{"position":[[7,2]]},"827":{"position":[[37,2]]},"831":{"position":[[34,2]]},"898":{"position":[[19,2]]}}}],["服务器",{"_index":428,"t":{"908":{"position":[[53,3]]}}}],["服务端",{"_index":321,"t":{"699":{"position":[[34,3]]}}}],["未",{"_index":368,"t":{"821":{"position":[[40,1]]}}}],["未来",{"_index":68,"t":{"38":{"position":[[136,2]]}}}],["本",{"_index":37,"t":{"22":{"position":[[0,1]]},"53":{"position":[[0,1]]},"78":{"position":[[0,1]]},"136":{"position":[[0,1]]},"147":{"position":[[0,1]]},"176":{"position":[[0,1]]},"180":{"position":[[0,1]]},"230":{"position":[[0,1]]},"336":{"position":[[0,1]]},"559":{"position":[[0,1]]},"609":{"position":[[0,1]]},"628":{"position":[[84,1]]},"675":{"position":[[0,1]]},"726":{"position":[[0,1]]},"759":{"position":[[0,1]]},"930":{"position":[[0,1]]}}}],["本次",{"_index":345,"t":{"767":{"position":[[0,2]]}}}],["权",{"_index":123,"t":{"155":{"position":[[32,1]]}}}],["来说",{"_index":404,"t":{"888":{"position":[[8,2]]}}}],["极大",{"_index":285,"t":{"609":{"position":[[67,2]]}}}],["构建",{"_index":305,"t":{"673":{"position":[[3,2]]},"960":{"position":[[16,2]]}}}],["架构",{"_index":316,"t":{"677":{"position":[[10,2]]},"888":{"position":[[20,2]]},"920":{"position":[[9,2]]}}}],["查看",{"_index":326,"t":{"705":{"position":[[8,2]]},"983":{"position":[[17,2]]}}}],["查询",{"_index":151,"t":{"222":{"position":[[15,2],[34,2]]}}}],["标签",{"_index":231,"t":{"483":{"position":[[33,2]]}}}],["栏",{"_index":194,"t":{"281":{"position":[[13,1]]}}}],["格式",{"_index":172,"t":{"246":{"position":[[50,2]]},"898":{"position":[[39,2]]}}}],["桌面",{"_index":244,"t":{"535":{"position":[[4,2],[27,2]]},"569":{"position":[[5,2],[37,2]]}}}],["模型",{"_index":353,"t":{"769":{"position":[[36,2]]},"783":{"position":[[2,2]]}}}],["欢迎",{"_index":80,"t":{"51":{"position":[[20,2]]}}}],["段",{"_index":170,"t":{"246":{"position":[[44,1]]}}}],["每个",{"_index":132,"t":{"213":{"position":[[2,2]]},"589":{"position":[[4,2]]}}}],["注意",{"_index":395,"t":{"870":{"position":[[139,2]]}}}],["流程",{"_index":287,"t":{"609":{"position":[[74,2]]}}}],["流量",{"_index":252,"t":{"569":{"position":[[29,2]]}}}],["测试人员",{"_index":277,"t":{"609":{"position":[[8,4]]}}}],["浏览器",{"_index":245,"t":{"535":{"position":[[14,3]]},"805":{"position":[[16,3],[40,3]]},"821":{"position":[[13,3]]}}}],["消费",{"_index":152,"t":{"222":{"position":[[17,2],[28,2]]},"246":{"position":[[55,2]]}}}],["添加",{"_index":267,"t":{"589":{"position":[[8,2]]}}}],["源码",{"_index":304,"t":{"673":{"position":[[1,2]]}}}],["满足",{"_index":67,"t":{"38":{"position":[[134,2]]},"827":{"position":[[13,2]]},"831":{"position":[[13,2]]},"960":{"position":[[62,2]]}}}],["点击",{"_index":178,"t":{"256":{"position":[[18,2]]},"281":{"position":[[29,2]]},"821":{"position":[[17,2]]}}}],["然后",{"_index":186,"t":{"273":{"position":[[24,2]]},"898":{"position":[[103,2]]}}}],["版本",{"_index":22,"t":{"20":{"position":[[3,2]]},"38":{"position":[[3,2]]},"134":{"position":[[23,2]]},"515":{"position":[[76,2]]}}}],["特定",{"_index":238,"t":{"495":{"position":[[38,2]]}}}],["状态",{"_index":223,"t":{"361":{"position":[[2,2]]},"383":{"position":[[12,2]]},"821":{"position":[[54,2]]}}}],["独立",{"_index":363,"t":{"811":{"position":[[8,2]]}}}],["环境变量",{"_index":57,"t":{"38":{"position":[[86,4]]},"1972":{"position":[[0,4]]},"1975":{"position":[[0,4]]},"1978":{"position":[[0,4]]},"1981":{"position":[[0,4]]},"1987":{"position":[[0,4]]}}}],["生成",{"_index":420,"t":{"898":{"position":[[91,2]]},"930":{"position":[[6,2]]}}}],["用到",{"_index":52,"t":{"38":{"position":[[54,2]]}}}],["用户",{"_index":120,"t":{"155":{"position":[[15,2]]},"176":{"position":[[18,2]]},"230":{"position":[[21,2]]},"281":{"position":[[17,2]]},"289":{"position":[[13,2],[31,2],[40,2],[46,2]]},"310":{"position":[[2,2]]},"316":{"position":[[13,2],[28,2]]},"383":{"position":[[8,2]]},"515":{"position":[[50,2],[67,2]]},"535":{"position":[[11,2]]},"569":{"position":[[26,2]]},"783":{"position":[[0,2]]},"801":{"position":[[13,2]]},"908":{"position":[[2,2]]},"960":{"position":[[66,2]]}}}],["由于",{"_index":387,"t":{"870":{"position":[[94,2]]}}}],["界面",{"_index":348,"t":{"769":{"position":[[15,2]]}}}],["登录",{"_index":121,"t":{"155":{"position":[[17,2]]},"535":{"position":[[0,2],[22,2]]},"569":{"position":[[40,2],[83,2]]},"699":{"position":[[25,2]]},"767":{"position":[[14,2]]}}}],["监听",{"_index":427,"t":{"908":{"position":[[46,2],[71,2]]}}}],["盘符",{"_index":341,"t":{"757":{"position":[[5,2]]}}}],["目前",{"_index":106,"t":{"134":{"position":[[17,2]]},"811":{"position":[[2,2]]}}}],["目录",{"_index":135,"t":{"213":{"position":[[32,2]]},"291":{"position":[[25,2]]},"749":{"position":[[27,2],[41,2]]},"757":{"position":[[19,2]]}}}],["直",{"_index":258,"t":{"569":{"position":[[79,1]]}}}],["直接",{"_index":361,"t":{"805":{"position":[[13,2]]},"821":{"position":[[10,2]]},"960":{"position":[[72,2]]}}}],["相关",{"_index":85,"t":{"53":{"position":[[8,2]]},"246":{"position":[[40,2]]},"870":{"position":[[15,2]]}}}],["相对路径",{"_index":145,"t":{"217":{"position":[[3,4]]}}}],["看到",{"_index":370,"t":{"821":{"position":[[46,2],[69,2]]}}}],["示例",{"_index":398,"t":{"878":{"position":[[0,2]]}}}],["私",{"_index":269,"t":{"601":{"position":[[9,1]]}}}],["称为",{"_index":443,"t":{"960":{"position":[[31,2]]}}}],["站",{"_index":444,"t":{"960":{"position":[[35,1]]}}}],["端",{"_index":407,"t":{"888":{"position":[[16,1],[33,1]]}}}],["等",{"_index":243,"t":{"515":{"position":[[78,1]]},"628":{"position":[[45,1]]},"675":{"position":[[46,1]]},"821":{"position":[[56,1]]}}}],["简介",{"_index":102,"t":{"84":{"position":[[2,2]]},"107":{"position":[[2,2]]},"372":{"position":[[2,2]]},"385":{"position":[[2,2]]},"396":{"position":[[2,2]]},"410":{"position":[[2,2]]},"422":{"position":[[2,2]]},"431":{"position":[[2,2]]},"442":{"position":[[2,2]]},"455":{"position":[[2,2]]},"462":{"position":[[2,2]]},"469":{"position":[[2,2]]},"636":{"position":[[2,2]]}}}],["简化",{"_index":286,"t":{"609":{"position":[[69,2]]}}}],["简要",{"_index":94,"t":{"80":{"position":[[16,2]]},"134":{"position":[[4,2]]},"532":{"position":[[4,2]]}}}],["算",{"_index":303,"t":{"662":{"position":[[6,1]]},"773":{"position":[[18,1]]},"821":{"position":[[27,1]]}}}],["算法",{"_index":352,"t":{"769":{"position":[[33,2]]}}}],["管理",{"_index":15,"t":{"4":{"position":[[19,2]]},"683":{"position":[[10,2]]},"699":{"position":[[8,2]]},"769":{"position":[[17,2]]},"779":{"position":[[16,2]]}}}],["管理员",{"_index":148,"t":{"222":{"position":[[1,3]]},"224":{"position":[[19,3]]},"316":{"position":[[17,3]]},"495":{"position":[[2,3]]},"515":{"position":[[45,3]]},"983":{"position":[[8,3]]}}}],["管理系统",{"_index":150,"t":{"222":{"position":[[10,4]]},"256":{"position":[[8,4]]},"273":{"position":[[1,4]]},"281":{"position":[[7,4]]},"289":{"position":[[22,4]]},"316":{"position":[[7,4]]},"324":{"position":[[1,4],[31,4]]},"336":{"position":[[8,4]]},"773":{"position":[[22,4]]},"779":{"position":[[0,4]]},"983":{"position":[[12,4]]}}}],["类",{"_index":110,"t":{"134":{"position":[[30,1],[35,1]]},"489":{"position":[[7,1]]},"515":{"position":[[7,1]]}}}],["类似",{"_index":61,"t":{"38":{"position":[[101,2]]}}}],["类型",{"_index":156,"t":{"222":{"position":[[30,2]]}}}],["系统",{"_index":24,"t":{"20":{"position":[[13,2]]},"80":{"position":[[0,2]]},"82":{"position":[[12,2]]},"147":{"position":[[10,2]]},"155":{"position":[[2,2],[11,2]]},"176":{"position":[[8,2],[25,2]]},"180":{"position":[[12,2]]},"222":{"position":[[23,2]]},"224":{"position":[[15,2]]},"230":{"position":[[10,2]]},"246":{"position":[[0,2]]},"289":{"position":[[7,2]]},"293":{"position":[[0,2]]},"483":{"position":[[0,2]]},"559":{"position":[[10,2]]},"569":{"position":[[2,2]]},"662":{"position":[[16,2]]},"677":{"position":[[7,2]]},"705":{"position":[[3,2]]},"769":{"position":[[3,2]]},"801":{"position":[[2,2]]},"811":{"position":[[0,2],[13,2]]},"827":{"position":[[2,2],[9,2]]},"831":{"position":[[2,2],[9,2]]},"870":{"position":[[4,2],[38,2]]},"888":{"position":[[4,2]]}}}],["纯",{"_index":48,"t":{"38":{"position":[[31,1]]}}}],["组件",{"_index":90,"t":{"80":{"position":[[4,2],[22,2],[37,2]]},"155":{"position":[[27,2]]},"293":{"position":[[29,2]]}}}],["终端",{"_index":261,"t":{"577":{"position":[[5,2]]}}}],["结束",{"_index":369,"t":{"821":{"position":[[41,2]]}}}],["结果",{"_index":157,"t":{"222":{"position":[[36,2]]},"821":{"position":[[76,2]]}}}],["统一",{"_index":414,"t":{"898":{"position":[[41,2]]}}}],["统计",{"_index":376,"t":{"870":{"position":[[13,2],[66,2],[114,2]]}}}],["统计数据",{"_index":379,"t":{"870":{"position":[[43,4],[88,4]]}}}],["维",{"_index":330,"t":{"726":{"position":[[15,1]]},"773":{"position":[[13,1]]}}}],["维和",{"_index":14,"t":{"4":{"position":[[17,2]]}}}],["维度",{"_index":382,"t":{"870":{"position":[[61,2],[117,2]]}}}],["维护",{"_index":447,"t":{"960":{"position":[[50,2]]}}}],["编写",{"_index":139,"t":{"213":{"position":[[73,2]]}}}],["编译器",{"_index":332,"t":{"739":{"position":[[7,3]]}}}],["网",{"_index":270,"t":{"601":{"position":[[10,1]]}}}],["网站",{"_index":4,"t":{"2":{"position":[[6,2]]},"960":{"position":[[28,2],[56,2]]}}}],["网页",{"_index":208,"t":{"293":{"position":[[10,2]]}}}],["能",{"_index":246,"t":{"535":{"position":[[19,1]]},"769":{"position":[[5,1]]}}}],["能够",{"_index":242,"t":{"515":{"position":[[69,2]]},"535":{"position":[[8,2]]},"569":{"position":[[77,2]]}}}],["脚本",{"_index":322,"t":{"699":{"position":[[39,2]]}}}],["自动",{"_index":435,"t":{"930":{"position":[[4,2]]}}}],["自定义",{"_index":70,"t":{"38":{"position":[[140,3]]},"136":{"position":[[8,3]]},"224":{"position":[[22,3]]},"273":{"position":[[16,3]]},"293":{"position":[[5,3],[21,3]]},"310":{"position":[[37,3]]},"495":{"position":[[18,3]]},"555":{"position":[[3,3]]},"827":{"position":[[32,3]]},"831":{"position":[[29,3]]}}}],["自己",{"_index":375,"t":{"827":{"position":[[23,2]]},"831":{"position":[[23,2]]},"908":{"position":[[85,2]]}}}],["致力于",{"_index":7,"t":{"4":{"position":[[2,3]]}}}],["节",{"_index":83,"t":{"53":{"position":[[1,1]]},"136":{"position":[[1,1]]},"147":{"position":[[1,1]]},"176":{"position":[[1,1]]},"180":{"position":[[1,1]]},"230":{"position":[[1,1]]},"336":{"position":[[1,1]]},"559":{"position":[[1,1]]},"726":{"position":[[1,1]]},"767":{"position":[[30,1]]}}}],["节点",{"_index":74,"t":{"46":{"position":[[5,2]]},"535":{"position":[[2,2],[24,2]]},"569":{"position":[[42,2],[55,2],[75,2],[88,2]]},"589":{"position":[[12,2]]},"601":{"position":[[7,2]]},"621":{"position":[[16,2]]},"749":{"position":[[12,2]]},"767":{"position":[[9,2],[16,2],[23,2]]},"805":{"position":[[29,2]]}}}],["获取",{"_index":378,"t":{"870":{"position":[[32,2],[79,2]]},"898":{"position":[[72,2]]}}}],["行为",{"_index":114,"t":{"136":{"position":[[13,2]]}}}],["表单",{"_index":197,"t":{"289":{"position":[[33,2]]},"515":{"position":[[40,2],[61,2]]}}}],["要",{"_index":416,"t":{"898":{"position":[[49,1]]},"960":{"position":[[0,1]]}}}],["要求",{"_index":256,"t":{"569":{"position":[[64,2]]}}}],["规划",{"_index":306,"t":{"675":{"position":[[6,2]]},"767":{"position":[[31,2]]}}}],["规则",{"_index":185,"t":{"273":{"position":[[21,2]]},"289":{"position":[[66,2]]}}}],["计算",{"_index":254,"t":{"569":{"position":[[48,2],[53,2],[86,2]]},"767":{"position":[[21,2]]},"779":{"position":[[9,2]]},"801":{"position":[[8,2]]},"805":{"position":[[27,2]]}}}],["计费",{"_index":189,"t":{"273":{"position":[[45,2]]}}}],["计量",{"_index":192,"t":{"273":{"position":[[54,2]]}}}],["认证",{"_index":117,"t":{"155":{"position":[[0,2]]},"176":{"position":[[6,2],[20,2],[23,2]]},"230":{"position":[[8,2],[23,2]]},"289":{"position":[[5,2]]},"827":{"position":[[7,2],[35,2]]},"831":{"position":[[7,2],[32,2]]}}}],["训练",{"_index":349,"t":{"769":{"position":[[25,2]]}}}],["训练任务",{"_index":354,"t":{"769":{"position":[[56,4]]}}}],["记录",{"_index":174,"t":{"246":{"position":[[57,2]]}}}],["访问",{"_index":206,"t":{"291":{"position":[[56,2]]},"324":{"position":[[11,2]]},"535":{"position":[[20,2]]},"699":{"position":[[12,2]]},"960":{"position":[[25,2],[76,2]]}}}],["详细信息",{"_index":371,"t":{"821":{"position":[[57,4]]}}}],["语言",{"_index":421,"t":{"898":{"position":[[97,2]]}}}],["说明",{"_index":227,"t":{"483":{"position":[[15,2]]}}}],["请",{"_index":96,"t":{"80":{"position":[[32,1]]}}}],["读取",{"_index":56,"t":{"38":{"position":[[84,2]]}}}],["调度",{"_index":18,"t":{"6":{"position":[[3,2]]},"383":{"position":[[2,2]]}}}],["调用",{"_index":426,"t":{"908":{"position":[[44,2]]}}}],["财务",{"_index":364,"t":{"811":{"position":[[11,2]]}}}],["财务人员",{"_index":149,"t":{"222":{"position":[[5,4]]}}}],["账户",{"_index":225,"t":{"383":{"position":[[5,2]]}}}],["资料",{"_index":86,"t":{"53":{"position":[[11,2]]}}}],["资源",{"_index":222,"t":{"361":{"position":[[0,2]]},"805":{"position":[[24,2]]},"983":{"position":[[21,2]]}}}],["超",{"_index":302,"t":{"662":{"position":[[5,1]]},"773":{"position":[[17,1]]},"821":{"position":[[26,1]]}}}],["路径",{"_index":205,"t":{"291":{"position":[[42,2],[53,2]]},"324":{"position":[[15,2],[23,2]]},"495":{"position":[[15,2]]}}}],["跳转",{"_index":180,"t":{"256":{"position":[[25,2]]},"281":{"position":[[36,2]]},"577":{"position":[[13,2]]}}}],["软件",{"_index":101,"t":{"84":{"position":[[0,2]]},"107":{"position":[[0,2]]},"372":{"position":[[0,2]]},"385":{"position":[[0,2]]},"396":{"position":[[0,2]]},"410":{"position":[[0,2]]},"422":{"position":[[0,2]]},"431":{"position":[[0,2]]},"442":{"position":[[0,2]]},"455":{"position":[[0,2]]},"462":{"position":[[0,2]]},"469":{"position":[[0,2]]},"636":{"position":[[0,2]]}}}],["较弱",{"_index":65,"t":{"38":{"position":[[129,2]]}}}],["输入",{"_index":262,"t":{"577":{"position":[[9,2]]}}}],["过滤",{"_index":158,"t":{"222":{"position":[[38,2]]}}}],["运",{"_index":13,"t":{"4":{"position":[[16,1]]},"726":{"position":[[14,1]]},"773":{"position":[[12,1]]}}}],["运行",{"_index":253,"t":{"569":{"position":[[35,2],[46,2]]},"821":{"position":[[52,2]]}}}],["运行日志",{"_index":327,"t":{"705":{"position":[[10,4]]}}}],["这个",{"_index":191,"t":{"273":{"position":[[50,2]]}}}],["这些",{"_index":64,"t":{"38":{"position":[[125,2]]},"256":{"position":[[20,2]]},"281":{"position":[[31,2]]},"805":{"position":[[45,2]]},"870":{"position":[[27,2],[74,2],[129,2]]}}}],["进行",{"_index":100,"t":{"82":{"position":[[10,2]]},"176":{"position":[[16,2]]},"213":{"position":[[6,2]]},"222":{"position":[[32,2]]},"230":{"position":[[19,2]]},"273":{"position":[[32,2]]},"289":{"position":[[73,2]]},"324":{"position":[[29,2]]},"483":{"position":[[19,2]]},"535":{"position":[[31,2]]},"577":{"position":[[21,2]]},"726":{"position":[[9,2]]},"769":{"position":[[48,2]]},"870":{"position":[[63,2]]},"888":{"position":[[42,2]]},"898":{"position":[[107,2]]},"908":{"position":[[87,2]]}}}],["连",{"_index":259,"t":{"569":{"position":[[80,1]]}}}],["适用",{"_index":38,"t":{"22":{"position":[[3,2]]}}}],["适配器",{"_index":20,"t":{"6":{"position":[[6,3]]}}}],["选",{"_index":166,"t":{"246":{"position":[[17,1]]}}}],["选项",{"_index":241,"t":{"515":{"position":[[63,2]]}}}],["通信",{"_index":409,"t":{"888":{"position":[[44,2]]}}}],["通过",{"_index":27,"t":{"20":{"position":[[25,2]]},"38":{"position":[[32,2]]},"246":{"position":[[14,2]]},"273":{"position":[[12,2]]},"310":{"position":[[18,2]]},"489":{"position":[[13,2]]},"495":{"position":[[5,2]]},"515":{"position":[[13,2]]},"569":{"position":[[16,2]]},"769":{"position":[[8,2],[40,2]]},"805":{"position":[[38,2]]},"870":{"position":[[25,2],[72,2]]},"898":{"position":[[22,2],[82,2]]},"908":{"position":[[33,2],[60,2]]},"960":{"position":[[70,2]]}}}],["那么",{"_index":423,"t":{"908":{"position":[[17,2]]}}}],["部分",{"_index":87,"t":{"78":{"position":[[1,2]]},"80":{"position":[[14,2]]},"870":{"position":[[51,2]]},"888":{"position":[[17,2],[34,2]]},"930":{"position":[[1,2]]}}}],["部署",{"_index":12,"t":{"4":{"position":[[13,2]]},"80":{"position":[[30,2]]},"213":{"position":[[8,2]]},"291":{"position":[[40,2]]},"324":{"position":[[5,2],[13,2]]},"609":{"position":[[62,2],[72,2],[77,2]]},"662":{"position":[[10,2]]},"675":{"position":[[4,2]]},"699":{"position":[[0,2]]},"767":{"position":[[2,2]]},"920":{"position":[[7,2]]},"960":{"position":[[53,2]]}}}],["都",{"_index":234,"t":{"489":{"position":[[10,1]]},"515":{"position":[[10,1]]},"898":{"position":[[21,1]]}}}],["配置",{"_index":30,"t":{"20":{"position":[[40,2]]},"38":{"position":[[105,2]]},"78":{"position":[[9,2]]},"82":{"position":[[15,2]]},"147":{"position":[[6,2]]},"161":{"position":[[3,2]]},"180":{"position":[[6,2]]},"224":{"position":[[25,2]]},"246":{"position":[[18,2]]},"273":{"position":[[34,2]]},"289":{"position":[[75,2]]},"310":{"position":[[20,2]]},"336":{"position":[[6,2]]},"352":{"position":[[11,2]]},"483":{"position":[[13,2]]},"489":{"position":[[23,2]]},"495":{"position":[[21,2]]},"515":{"position":[[25,2]]},"559":{"position":[[6,2]]},"908":{"position":[[4,2]]},"930":{"position":[[9,2]]},"983":{"position":[[0,2],[33,2]]},"1972":{"position":[[4,2]]},"1975":{"position":[[4,2]]},"1978":{"position":[[4,2]]},"1981":{"position":[[4,2]]},"1987":{"position":[[4,2]]}}}],["配置文件",{"_index":99,"t":{"82":{"position":[[6,4]]},"213":{"position":[[106,4]]},"224":{"position":[[28,4]]},"273":{"position":[[27,4]]},"495":{"position":[[11,4]]}}}],["采用",{"_index":126,"t":{"176":{"position":[[11,2]]},"609":{"position":[[23,2]]},"811":{"position":[[4,2]]},"870":{"position":[[100,2]]}}}],["里",{"_index":389,"t":{"870":{"position":[[99,1]]}}}],["鉴",{"_index":122,"t":{"155":{"position":[[31,1]]}}}],["链接",{"_index":177,"t":{"256":{"position":[[15,2],[22,2]]},"281":{"position":[[26,2],[33,2]]}}}],["镜像",{"_index":291,"t":{"621":{"position":[[18,2]]},"769":{"position":[[42,2]]}}}],["门户",{"_index":23,"t":{"20":{"position":[[11,2]]},"256":{"position":[[5,2]]},"281":{"position":[[4,2]]},"555":{"position":[[6,2]]},"559":{"position":[[8,2]]},"569":{"position":[[0,2]]},"773":{"position":[[19,2]]},"801":{"position":[[0,2]]}}}],["门槛",{"_index":288,"t":{"609":{"position":[[79,2]]}}}],["问题",{"_index":397,"t":{"870":{"position":[[144,2]]}}}],["集",{"_index":351,"t":{"769":{"position":[[31,1]]}}}],["集成",{"_index":365,"t":{"819":{"position":[[0,2]]}}}],["集群",{"_index":16,"t":{"4":{"position":[[25,2]]},"20":{"position":[[55,2]]},"213":{"position":[[11,2],[40,2],[59,2],[75,2],[84,2],[104,2]]},"352":{"position":[[8,2]]},"495":{"position":[[25,2],[40,2]]},"589":{"position":[[6,2]]},"609":{"position":[[58,2]]},"662":{"position":[[7,2]]},"675":{"position":[[22,2]]},"683":{"position":[[16,2]]},"749":{"position":[[8,2]]},"767":{"position":[[28,2]]},"779":{"position":[[11,2]]},"801":{"position":[[10,2]]},"805":{"position":[[22,2]]},"821":{"position":[[28,2]]},"920":{"position":[[5,2]]},"983":{"position":[[19,2]]}}}],["需求",{"_index":71,"t":{"38":{"position":[[143,2]]},"827":{"position":[[17,2]]},"831":{"position":[[17,2]]}}}],["需要",{"_index":133,"t":{"213":{"position":[[4,2],[14,2],[93,2]]},"870":{"position":[[137,2]]},"898":{"position":[[68,2]]},"960":{"position":[[11,2],[60,2]]},"983":{"position":[[31,2]]}}}],["面向",{"_index":276,"t":{"609":{"position":[[3,2]]}}}],["面向用户",{"_index":355,"t":{"773":{"position":[[7,4]]}}}],["页面",{"_index":98,"t":{"80":{"position":[[40,2]]},"224":{"position":[[6,2]]},"310":{"position":[[49,2]]},"324":{"position":[[39,2]]}}}],["项",{"_index":190,"t":{"273":{"position":[[47,1]]},"310":{"position":[[22,1]]},"489":{"position":[[25,1]]},"515":{"position":[[27,1]]}}}],["项目",{"_index":47,"t":{"38":{"position":[[28,2]]},"51":{"position":[[10,2],[23,2],[36,2]]},"53":{"position":[[6,2]]},"555":{"position":[[8,2]]},"609":{"position":[[1,2]]},"878":{"position":[[2,2]]}}}],["首先",{"_index":418,"t":{"898":{"position":[[70,2]]},"960":{"position":[[9,2]]}}}],["高性能",{"_index":357,"t":{"779":{"position":[[6,3]]},"801":{"position":[[5,3]]}}}]],"pipeline":["stemmer"]}},{"documents":[],"index":{"version":"2.3.9","fields":["t"],"fieldVectors":[],"invertedIndex":[],"pipeline":["stemmer"]}},{"documents":[{"i":3,"t":"scow文档网站上线!","s":"scow文档上线","u":"/SCOW/blog/docs-online","h":"","p":2},{"i":5,"t":"我们致力于以让大家更方便地部署、运维和管理SCOW集群。 之前的scow-deployment为了保证无需安装依赖均可使用,所以采用了和SCOW其他部分不一样的python语言开发,且无法使用第三方包的功能,限制了scow-deployment的功能。 为了解决这些问题,我们重新编写了scow-cli。此工具有以下特点: 使用install.yaml进行配置,配置方式和系统其他部分相同 可自由使用第三方包,功能扩展起来更加方便 此工具采用和系统其他部分相同的技术栈编写,方便后续功能开发和维护 打包为一个可以直接执行的可执行文件,同样无需安装任何依赖即可使用 scow-cli是后续增加更多命令行维护功能的基础,建议大家尽快从scow-deployment迁移到scow-cli。 请参考scow-cli文档以下载scow-cli,以及了解如何从scow-deployment迁移到scow-cli。","s":"scow-cli","u":"/SCOW/blog/scow-cli-release","h":"","p":4},{"i":7,"t":"什么是调度器适配器​ SCOW是建立在底层作业调度器基础上的系统,它通过与底层调度器进行功能对接,向用户提供各种超算功能。 在之前的实现中,scow直接与作业调度器本身交互,因此scow必须知道底层调度器内部的某些细节, 导致scow内部的某些代码是与调度器种类直接相关的(如最先适配的slurm),这会使适配其它调度器时比较麻烦。 调度器适配器(scheduler-adapter)则是为了解决这一问题,通过一层适配器层,scow只与适配器进行交互, 适配器再对接作业调度器,实现scow需要的调度器功能。","s":"SCOW调度器适配器","u":"/SCOW/blog/scow-scheduler-adapter","h":"","p":6},{"i":9,"t":"SCOW是建立在底层作业调度器基础上的系统,它通过与底层调度器进行功能对接,向用户提供各种超算功能。 在之前的实现中,scow直接与作业调度器本身交互,因此scow必须知道底层调度器内部的某些细节, 导致scow内部的某些代码是与调度器种类直接相关的(如最先适配的slurm),这会使适配其它调度器时比较麻烦。 调度器适配器(scheduler-adapter)则是为了解决这一问题,通过一层适配器层,scow只与适配器进行交互, 适配器再对接作业调度器,实现scow需要的调度器功能。","s":"什么是调度器适配器","u":"/SCOW/blog/scow-scheduler-adapter","h":"#什么是调度器适配器","p":6},{"i":11,"t":"调度器适配器本质上是一个gRPC服务器,它实现了scow定义的一套接口, scow只会调用这套接口来实现调度器功能。 因此,只需要为对应种类的作业调度器实现这样一个gRPC服务器,满足上述接口定义,就能够轻松对接scow系统 我们已经实现的调度器适配器: slurm","s":"怎样实现调度器适配器","u":"/SCOW/blog/scow-scheduler-adapter","h":"#怎样实现调度器适配器","p":6},{"i":13,"t":"这一部分介绍如何从旧版本scow升级至新版本,使用调度器适配器","s":"如何平滑升级","u":"/SCOW/blog/scow-scheduler-adapter","h":"#如何平滑升级","p":6},{"i":15,"t":"首先需要确保您的集群上部署了对应的调度器适配器,得到访问它的地址及端口号 部署适配器可参考文档: slurm","s":"1. 部署调度器适配器","u":"/SCOW/blog/scow-scheduler-adapter","h":"#1-部署调度器适配器","p":6},{"i":17,"t":"首先确保您使用了最新的SCOW镜像(可查看install.yaml中的imageTag字段) 在用于部署scow的scow-deployment文件夹中,修改配置文件: 首先修改集群配置文件 主要变化为删除slurm配置项, 将loginNodes配置项作为独立的一项配置。新增adapterUrl配置项,标识适配器地址 修改管理系统配置文件 删除了fetchJobs配置项中的db项,即不再采用源作业信息数据库,通过适配器同步作业信息","s":"2. 修改SCOW配置文件","u":"/SCOW/blog/scow-scheduler-adapter","h":"#2-修改scow配置文件","p":6},{"i":19,"t":"部署使用适配器后,可以不再部署export-jobs项目,同步作业信息的功能由适配器完成","s":"3. 不再使用源作业信息数据库","u":"/SCOW/blog/scow-scheduler-adapter","h":"#3-不再使用源作业信息数据库","p":6},{"i":21,"t":"上一个版本,在SCOW门户系统的交互式应用下,我们通过在config/apps下配置的交互式应用,实现创建各个集群下均可以使用的交互式应用。 但是考虑到不同集群的计算机节点下安装环境不同,可能无法满足对所有获取到的交互式应用的正常使用。 为了让大家更方便、高效地管理和使用SCOW集群,我们在新版本的交互式应用配置部分,实现了以下功能: 实现在config/clusters/{集群ID}/apps下对特定集群可以使用的交互式应用进行单独配置 同时有效兼容旧版本config/apps下所有集群均可以使用的交互式应用配置 交互式应用配置增加可选自定义图标配置,在创建应用页面实现交互式应用图标可视化管理 详细说明可参考SCOW部署和配置下的多集群下的应用配置。","s":"交互式应用配置更新","u":"/SCOW/blog/update-portal-app","h":"","p":20},{"i":23,"t":"本文档适用于从v0.4.0(及以上)升级到v1.0.0。 # 两种方式升级cli # 1. 直接下载替换本地cli wget https://github.com/PKUHPC/SCOW/releases/download/v1.0.0/cli-x64 # 2. 使用命令升级 ./cli update --release v1.0.0","s":"SCOW升级:从v0.4.0(及以上)到v1.0.0","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":25,"t":"在install.yaml添加如下配置: # 可添加审计日志功能,并配置审计日志数据库密码 audit: dbPassword: \"must!chang3this\" install.yaml配置参考(极简配置): port: 80 basePath: / imageTag: v1.0.0 portal: portMappings: {} mis: dbPassword: must!chang3this portMappings: {} log: fluentd: logDir: /var/log/fluentd auth: portMappings: {} audit: dbPassword: \"must!chang3this\" gateway: proxyReadTimeout: 36000s 添加审计日志配置文件,在./config目录下添加audit.yaml # 审计系统数据库的信息。可以不修改 db: host: audit-db port: 3306 user: root dbName: scow_audit","s":"2. 添加审计日志功能","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":27,"t":"修改mis.yaml,去掉源作业数据库相关配置,去掉fetchJobs.db配置,类似如下: fetchJobs: # 源作业信息数据库的数据库信息 db: host: 192.168.188.11 port: 3306 user: root password: \"aUTx373~5pU@!&^6\" dbName: hpc tableName: job_table type: mysql mis.yaml配置参考(极简配置): db: host: db port: 3306 user: root dbName: scow fetchJobs: periodicFetch: enabled: true cron: \"*/10 * * * *\" predefinedChargingTypes: - 测试 accountNamePattern: regex: \"(a_)[a-z]+$\"","s":"3. 修改mis.yaml","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":29,"t":"适配器编译部署可参考文档。 提示 由于github代码仓库下载的适配器可执行程序是由github action生成,glibc版本(2.34)较高,若slurm适配器部署节点的glibc版本低于该版本,建议下载源码,自行编译。","s":"4. 部署适配器","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":31,"t":"displayName: hpc01 loginNodes: - name: hpc01_login01 address: hpc01_login01 adapterUrl: \"192.168.188.102:8999\" 提示 注意将登录节点loginNodes.address参数和适配器urladapterUrl修改为实际集群的值。详细配置可参考该文档。","s":"5. 修改集群配置文件","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":33,"t":"支持为交互式应用配置图标:将图标文件上传至./public/apps/目录,并在应用配置文件中添加图标的路径。 例如给jupyter添加一个图标(已将jupyter.png上传至./public/apps/),在jupyter.yaml中添加如下内容: logoPath: /apps/jupyter.png 提示 多集群下交互式应用配置可参考该文档。","s":"6. 交互式应用增加图标(可选)","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":35,"t":"支持登录界面自定义slogan内容,修改./config/auth.yaml文件,添加如下内容: ui: backgroundImagePath: \"./assets/background.png\" backgroundFallbackColor: \"#9a0000\" logoType: \"dark\" slogan: color: \"white\" title: \"开源算力中心门户和管理平台\" texts: - \"图形化界面,使用方便\" - \"功能丰富,管理简单\" - \"一体化部署,开箱即用\" - \"标准化平台,支持算力融合\" - \"开源中立,独立自主\" 提示 详细配置可参考该文档。","s":"7. 登录页面添加slogan(可选)","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":37,"t":"./cli compose down ./cli compose up -d","s":"8. 重启服务","u":"/SCOW/blog/scow-update-to-v1.0","h":"","p":22},{"i":39,"t":"上一个版本,PKUHPC/scow-deployment项目是纯通过Docker Compose实现的,主要用到了Docker Compose内置的profile功能、读取环境变量以及变量替换功能来实现类似不同配置。但是Docker Compose的这些功能较弱,无法满足未来更多自定义需求。 为简化部署的参数配置,同时为用户提供更易懂和灵活的参数配置,最新版本的PKUHPC/scow-deployment项目使用python动态生成Docker Compose文件,根据用户的需求生成更易理解的Docker Compose文件。 接下来,主要介绍如何平滑的从旧版本升级至新版本。","s":"scow-deployment平滑升级指导","u":"/SCOW/blog/update-to-python-deployment","h":"","p":38},{"i":41,"t":"# 进入scow-deployment项目目录 cd scow-deployment # 停止scow服务 docker-compose down","s":"1. 停止scow服务","u":"/SCOW/blog/update-to-python-deployment","h":"#1-停止scow服务","p":38},{"i":43,"t":"主要备份.env配置文件: # 1. 创建备份目录 mkdir /path/to/backup # 2. 备份部署的环境变量 cp .env /path/to/backup","s":"2. 备份配置文件","u":"/SCOW/blog/update-to-python-deployment","h":"#2-备份配置文件","p":38},{"i":45,"t":"拉取master分支最新代码: cd /path/to/scow-deployment # 同步最新代码 git pull 目录结构如下: tree -L 1 ├── compose.sh # 程序执行入口,执行该脚本会生成docker-compose.json、db.sh文件 ├── config-example # scow业务配置模板文件目录 ├── config-example.py # scow系统部署参数配置文件模板 ├── fluent # fluent配置文件存放目录 ├── generate.py # 部署配置文件生成python脚本 └── README.md 编写配置文件: # 1. 复制配置文件 cp config-example.py config.py # 2. 配置参数 # 根据和备份的.env文件和config.py中的参数说明,修改config.py文件中的参数 服务启动与停止: # 启动服务 ./compose.sh up -d # 停止服务 ./compose.sh down ./compose.sh支持所有基于Docker Compose文件的docker-compose命令,如:up、down、ps、restart等。 详细说明可参考PKUHPC/scow-deployment项目的README.md。","s":"3. 升级","u":"/SCOW/blog/update-to-python-deployment","h":"#3--升级","p":38},{"i":48,"t":"设置主机名 hostnamectl set-hostname manage01 hostnamectl set-hostname login01 hostnamectl set-hostname compute01 hostnamectl set-hostname compute02 配置hosts: vim /etc/hosts 192.168.29.106 manage01 192.168.29.101 login01 192.168.29.102 compute01 192.168.29.103 compute02 关闭防火墙、selinux、dnsmasq、swap: systemctl disable --now firewalld systemctl disable --now dnsmasq systemctl disable --now NetworkManager setenforce 0 sed -i 's#SELINUX=permissive#SELINUX=disabled#g' /etc/sysconfig/selinux sed -i 's#SELINUX=permissive#SELINUX=disabled#g' /etc/selinux/config reboot getenforce swapoff -a && sysctl -w vm.swappiness=0 sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab 时间同步: # 安装ntpdate rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm yum install ntpdate -y # 同步时间。time2.aliyun.com外网,vineyard.pku.edu.cn内网 # 时间同步配置如下: ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo 'Asia/Shanghai' >/etc/timezone ntpdate vineyard.pku.edu.cn # 加入到crontab crontab -e */5 * * * * /usr/sbin/ntpdate vineyard.pku.edu.cn","s":"1. 所有节点","u":"/SCOW/docs/basic-config","h":"#1-所有节点","p":46},{"i":50,"t":"到其他节点的免密登录: yum install sshpass -y mkdir -p /extend/shell #生成脚本,root123 为root用户密码 cat >>/extend/shell/fenfa_pub.sh<< EOF #!/bin/bash ssh-keygen -t rsa -f ~/.ssh/id_rsa -P '' for ip in 101 102 103 do sshpass -proot123 ssh-copy-id -o StrictHostKeyChecking=no 192.168.29.\\$ip done EOF # 赋权 cd /extend/shell chmod +x fenfa_pub.sh # 执行脚本 ./fenfa_pub.sh","s":"2. 服务节点","u":"/SCOW/docs/basic-config","h":"#2-服务节点","p":46},{"i":52,"t":"感谢您对参与SCOW项目开发的兴趣!我们欢迎对项目有兴趣的参与者一起参与项目开发。 相关资料: 开发: 帮助您搭建本地开发环境,运行代码和测试以及提交代码","s":"贡献指南","u":"/SCOW/docs/contribution","h":"","p":51},{"i":54,"t":"本节介绍开发项目相关的资料。","s":"开发","u":"/SCOW/docs/contribution/dev","h":"","p":53},{"i":56,"t":"本项目采用monorepo结构,一个repo包含了整个系统的所有代码和文档。 其中: protos:包含了整个系统所有的proto文件 dockerfiles:包含整个系统所有的dockerfile文件 dev:开发相关文件 apps:所有子系统 libs:公共库 docs:文档项目","s":"Repo结构","u":"/SCOW/docs/contribution/dev","h":"#repo结构","p":53},{"i":59,"t":"要开发SCOW,你的主机环境需要满足以下要求: Linux/macOS/Windows 安装好docker和docker compose Windows和macOS用户推荐使用Docker Desktop","s":"准备主机环境","u":"/SCOW/docs/contribution/dev","h":"#准备主机环境","p":53},{"i":61,"t":"本项目配置了VSCode Dev Container,您可以使用.devcontainer下的配置自动从GitHub打开一个Codespace或者使用VSCode生成一个开发用的容器。具体如何使用,请参考上述Dev Container的文档。","s":"推荐:Dev Container","u":"/SCOW/docs/contribution/dev","h":"#推荐dev-container","p":53},{"i":63,"t":"如果您不使用Dev Container,也可以在本地构建开发环境。 请确保主机的~/.ssh目录下存在SSH RSA格式公私钥文件(id_rsa和id_rsa.pub)。如果不存在,请运行ssh-keygen生成。 请安装以下软件: volta:管理node环境 pnpm:推荐standalone安装 无需手动安装node。volta将会在第一次运行npm或者node命令时自动安装对应工具的对应版本。 我们推荐使用Visual Studio Code作为开发环境。仓库中有.vscode目录用于预先配置部分VSCode的开发环境。 要开始开发: # clone仓库 git clone https://github.com/PKUHPC/SCOW cd SCOW # 如果是standalone安装,或者在pnpm i的时候遇到node-gyp ENOET错误,运行以下全局安装node-gyp。只用安装一次即可。 pnpm install -g node-gyp # 在根目录下,安装依赖 pnpm i # 准备开发需要的库和代码:构建依赖库,生成各种代码 pnpm prepareDev apps下的所有项目均可以使用dev脚本以开发环境运行。 # 以开发环境运行门户前端 cd apps/portal-web pnpm dev 以开发环境运行文档项目 cd docs pnpm start 其他常用命令: # 编译libs目录下的库 pnpm build:libs # 修改proto文件后,重新生成proto对应的ts文件 pnpm build:protos # 在某一个具体项目下运行特定的脚本 # {项目名}请替换为项目package.json中name字段的@scow/后面的内容 # 项目可以运行什么脚本请查看项目package.json中的scripts pnpm --filter {项目名} build # 如运行@scow/config项目的build命令(编译),则运行 # 要想使用任何libs项目下的修改,必须先运行对应的build命令编译好 pnpm --filter config build # 在某个项目下运行特定的脚本也可以使用cd进入项目后运行pnpm对应命令 cd config pnpm build","s":"本地开发","u":"/SCOW/docs/contribution/dev","h":"#本地开发","p":53},{"i":65,"t":"我们使用docker搭建了一套简单的开发环境,主要用于运行项目的单元和集成测试。具体开发环境请参考docker-compose.dev.yml。 开发环境包括 可以通过3306端口连接的的MySQL8数据库 root密码为dev/.env.dev中的MYSQL_ROOT_PASSWORD,为mysqlrootpassword 可以通过6379端口连接的redis:alpine 可以通过3307端口连接的mariadb:5.5作为job table root密码为dev/.env.dev中的JOB_TABLE_PASSWORD,为jobtablepassword 可以通过389端口连接的LDAP服务器,详情参考LDAP文档 可以通过3890端口访问的phpLDAPadmin,可以用于登录389端口的LDAP服务器 Dev Container:由于这个容器修改监听端口比较复杂,且开发环境并不会直接和这个容器交互,故这个容器映射到的宿主机的3890端口。 可以通过22222端口连接的SSH服务器 具有两个用户:root用户root(密码root)和普通用户test(密码test) 本地开发:可以直接使用本地的~/.ssh/id_rsa.pub登录root和test用户 Dev Container:见下文 可以通过6000端口访问的调度器适配器(test-adapter),接口返回固定值,仅用于测试环境","s":"测试开发环境","u":"/SCOW/docs/contribution/dev","h":"#测试开发环境","p":53},{"i":67,"t":"Dev Container在启动时同时会启动测试开发环境,且测试开发环境的故启动后您不再需要手动启动开发环境。且这些服务均启动于开发容器的网络中,可以直接使用localhost连接到这些服务。 注意:由于SSH服务器容器和开发环境所在容器为并列关系,SSH服务器不能直接使用开发容器所在的文件,故您需要在启动Dev Container后手动生成SSH密钥并配置公钥登录: # 在Dev Container中执行 # 生成RSA类型SSH公钥 ssh-keygen -t rsa -N '' -f ~/.ssh/id_rsa # 给root和test用户配置公钥登录 # 运行后输入root密码root ssh-copy-id -p22222 root@localhost # 运行后输入test密码test ssh-copy-id -p22222 test@localhost","s":"Dev Container环境","u":"/SCOW/docs/contribution/dev","h":"#dev-container环境","p":53},{"i":69,"t":"# 构建并启动开发环境 pnpm devenv # 运行测试 # 测试环境必须在prepareDev运行后才能运行 pnpm test # 对某一项目运行测试(此为对@scow/portal-web项目运行测试) pnpm --filter portal-web test # 停止开发环境 pnpm devenv:stop","s":"本地开发","u":"/SCOW/docs/contribution/dev","h":"#本地开发-1","p":53},{"i":71,"t":"每个子系统的Dockerfile都应该放在dockerfiles目录下 每个Dockerfile的context都应该是项目根目录,记得复制proto目录和依赖的本地库 所有根据proto生成的文件都应该被gitignore和dockerignore,在容器中构建时需要现场生成 根目录的docker-compose.yml应该只用于容器构建","s":"容器构建说明","u":"/SCOW/docs/contribution/dev","h":"#容器构建说明","p":53},{"i":73,"t":"项目使用eslint进行代码风格规范和检查。eslint的配置采用@ddadaal/eslint-config。 项目使用husky设置了一个pre-commit的git hook,在提交前运行以上的代码风格检查,如果代码风格检查没有通过则无法commit。","s":"代码风格检查","u":"/SCOW/docs/contribution/dev","h":"#代码风格检查","p":53},{"i":75,"t":"npm workspace: 这个会把所有依赖装在根目录,但是tsgrpc-cli会假设依赖装在项目目录,这样tsgrpc-cli就不能运行了(解决了) npm workspace运行命令时不按依赖拓扑排序顺序运行(wtf!!!!),也不能手动在根package.json里指定所有包,因为每个子系统构建时,不存在其他子系统 yarn workspace:新版本berry和volta的兼容性不好(issue),yarn的workspaces的foreach命令需要单独装插件,而且foreach命令不会交互式地输出结果 nx: 尝试迁移过去好几次了,但是感觉概念有点太复杂了…… lerna: 很久没更新了,删除依赖需要删掉包的node_modules然后重新bootstrap,麻烦","s":"为什么不采用其他monorepo管理方案?","u":"/SCOW/docs/contribution/dev","h":"#为什么不采用其他monorepo管理方案","p":53},{"i":77,"t":"项目CI配置如下:","s":"CI","u":"/SCOW/docs/contribution/dev","h":"#ci","p":53},{"i":79,"t":"本部分帮助您安装和配置SCOW。 访问架构来了解系统的架构 通过vagrant来使用vagrant快速启动一个slurm+SCOW集群 参考安装在您的集群上安装SCOW 参考配置配置SCOW","s":"安装和配置","u":"/SCOW/docs/deploy","h":"","p":78},{"i":81,"t":"系统各个组件的关系如下图。此部分简要介绍各个组件的功能,具体部署请参考各个组件的页面。 SCOW由多个容器模块组成,包括gateway、auth、audit等基本模块,作为门户系统的novnc-client、portal-web、portal-server模块,作为管理系统的mis-web、mis-server模块,执行SCOW与计算集群交互的App Proxy、Adapter模块,以及作为部署工具的cli模块。","s":"架构","u":"/SCOW/docs/deploy/architecture","h":"","p":80},{"i":83,"t":"SCOW使用配置文件进行系统的配置。 SCOW的配置文件均使用yaml或者JSON格式,存放于config目录下。 项目在启动时将会检查配置文件是否符合格式,如果配置文件有错,则系统会直接报错。 您也可以使用scow-cli的check-config子命令,在不运行系统的情况下检查配置文件格式。 > ./cli check-config ERROR: Error reading config file config/clusters/hpc01.yaml: data/slurm/loginNodes/0 must be string WARN: mis.yaml userIdPattern is deprecated and will be removed in a future version. Use createUser.userIdPattern instead","s":"配置简介","u":"/SCOW/docs/deploy/config","h":"","p":82},{"i":86,"t":"JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。","s":"软件简介","u":"/SCOW/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#软件简介","p":84},{"i":88,"t":"请确保在需要运行应用的计算节点有JupyterLab镜像或者可以拉取到配置里对应的镜像地址。","s":"前提条件","u":"/SCOW/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#前提条件","p":84},{"i":90,"t":"JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。 下面讲解如何配置使用JupyterLab。","s":"1、软件介绍","u":"/SCOW/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#1软件介绍","p":84},{"i":92,"t":"创建config/ai/apps目录,在里面创建jupyter.yml文件,其内容如下: config/ai/apps/jupyter.yml # 这个应用的ID id: jupyter # 这个应用的名字 name: jupyter image: # 镜像名称 name: jupyter/minimal-notebook # 镜像版本 tag: latest # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: absolute # 准备脚本 beforeScript: | export PASSWORD=$(get_password 12) export SALT=123 export PASSWORD_SHA1=\"$(echo -n \"${PASSWORD}${SALT}\" | openssl dgst -sha1 | awk '{print $NF}')\" # 指明运行任务的脚本中的启动命令,用户在创建应用页面可以在脚本中替换该命令 startCommand: jupyter-lab # 运行任务的脚本。可以使用准备脚本定义的变量 script: | jupyter-lab --ServerApp.ip='0.0.0.0' --ServerApp.port=${PORT} --ServerApp.port_retries=0 --ServerApp.password=\"sha1:${SALT}:${PASSWORD_SHA1}\" --ServerApp.open_browser=False --ServerApp.base_url=\"${PROXY_BASE_PATH}/${HOST}/${SVCPORT}/\" --ServerApp.allow_origin='*' --ServerApp.disable_check_xsrf=True --ServerApp.root_dir=\"${workingDir}\" --allow-root # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单 attributes: - type: text name: workingDir label: 指定jupyter工作目录 required: true placeholder: \"请填写绝对路径\" 增加了此文件后,刷新WEB浏览器即可。","s":"配置文件","u":"/SCOW/docs/deploy/config/ai/apps/apps/jupyterlab","h":"#配置文件","p":84},{"i":95,"t":"镜像要求: 安装有VNC(TigerVNC or TurboVNC) 安装对应的应用 相应的脚本启动VNC服务以及桌面应用 确保vnc连接的密码保存在~/.vnc/passwd文件中,应用在连接时,会给每次连接生成一个新的密码,生成的位置为~/.vnc/passwd。 请确保计算节点可以拉取或者已经存在配置中应用的镜像。","s":"前提条件","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#前提条件","p":93},{"i":97,"t":"下面以使用pycharm为示例介绍如何配置桌面类应用。 创建config/ai/apps目录,在里面创建pycharm/config.yml或vscode.yml文件,其内容如下: config/ai/apps/pycharm/config.yml # 这个应用的ID id: pycharm # 这个应用的名字 name: pycharm # 这个应用的图标文件在公共文件下的路径 logoPath: /test.svg type: vnc image: # 镜像名称 name: 10.129.227.64/test/admin/pycharm # 镜像版本 tag: v1.1 # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | /dockerstartup/vnc_startup.sh pycharm 增加了此文件后,刷新即可。","s":"配置示例","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#配置示例","p":93},{"i":100,"t":"参考门户系统","s":"logoPath","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#logopath","p":93},{"i":102,"t":"该镜像会被用来启动应用,name和tag分别指定镜像的名称和版本。如果本地没有该镜像,将会尝试从镜像仓库拉取。","s":"image","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#image","p":93},{"i":104,"t":"参考门户系统","s":"beforeScript","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#beforescript","p":93},{"i":106,"t":"此处应该填写启动镜像时,vnc服务启动时的xstartup脚本,脚本中应该包含启动桌面应用的命令。","s":"xstartup","u":"/SCOW/docs/deploy/config/ai/apps/configure-vnc-app","h":"#xstartup","p":93},{"i":109,"t":"code-server是一个基于VS Code的开源工具,它可以让你通过浏览器远程访问一个运行着VS Code的服务器。","s":"软件简介","u":"/SCOW/docs/deploy/config/ai/apps/apps/vscode","h":"#软件简介","p":107},{"i":111,"t":"请确保在需要运行应用的计算节点有coder/code-server镜像或者可以拉取到配置里对应的镜像地址。 下面讲解如何配置使用code-server。","s":"前提条件","u":"/SCOW/docs/deploy/config/ai/apps/apps/vscode","h":"#前提条件","p":107},{"i":113,"t":"创建config/ai/apps目录,在里面创建vscode.yml文件,其内容如下: config/ai/apps/vscode.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode image: # 镜像名称 name: codercom/code-server # 镜像版本 tag: 4.20.0 # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PASSWORD=$(get_password 12) # 指明运行任务的脚本中的启动命令,用户在创建应用页面可以在脚本中替换该命令 startCommand: code-server # 运行任务的脚本。可以使用准备脚本定义的 script: | PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\"","s":"配置文件","u":"/SCOW/docs/deploy/config/ai/apps/apps/vscode","h":"#配置文件","p":107},{"i":115,"t":"参考门户系统的vscode配置示例的注意事项","s":"注意事项","u":"/SCOW/docs/deploy/config/ai/apps/apps/vscode","h":"#注意事项","p":107},{"i":118,"t":"请确保计算节点可以拉取或者已经存在配置中应用的镜像。","s":"前提条件","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#前提条件","p":116},{"i":120,"t":"下面以使用coder/code-server启动VSCode的配置为例来讲解如何配置一个服务器类应用。 创建config/ai/apps目录,在里面创建vscode/config.yml或vscode.yml文件,其内容如下: config/ai/apps/vscode/config.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode # 指定应用类型为web type: web image: # 镜像名称 name: codercom/code-server # 镜像版本 tag: 4.20.0 # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PASSWORD=$(get_password 12) # 指明运行任务的脚本中的启动命令,用户在创建应用页面可以在脚本中替换该命令 startCommand: code-server # 运行任务的脚本。可以使用准备脚本定义的变量 script: | PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" 增加了此文件后,刷新即可。","s":"配置示例","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#配置示例","p":116},{"i":123,"t":"参考门户系统","s":"proxyType","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#proxytype","p":116},{"i":125,"t":"该镜像将会被用来启动应用。name和tag分别指定镜像的名称和版本。如果本地没有该镜像,将会尝试从镜像仓库拉取。","s":"image","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#image","p":116},{"i":127,"t":"参考门户系统","s":"logoPath","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#logopath","p":116},{"i":129,"t":"参考门户系统","s":"appComment","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#appcomment","p":116},{"i":131,"t":"beforeScript部分为准备脚本。这个脚本用来准备运行任务的环境。这个脚本要求必须export一个变量: PASSWORD: 连接程序用的密码 connect的formData项需要使用的变量也需要在此处export。 准备脚本中的export的变量可以在script中使用。 script部分为如何启动这个应用的脚本。 startCommand 需要指明scipt中启动应用的命令,可供用户在使用自定义镜像时指定启动的命令,在默认情况下为code-server beforeScript和script中可以使用以下辅助函数: 函数名 作用 参数 返回值 get_password 生成一个包含A-Za-z0-9的随机密码 $1: 密码长度 密码 还可以使用以下变量。 变量名 值 PROXY_BASE_PATH 这个应用在被访问时,其URL中位于计算节点IP之前的内容,不以/结尾。对SCOW AI来说,为${SCOW AI的base path}/api/proxy/${集群ID}/${此应用的proxyType}, 如果自定义属性中出现了同名的变量,该值将会被覆盖。 PORT 这个应用启动时容器内的端口 HOST 这个应用启动时容器映射的主机名 SVCPORT 这个应用启动后,SCOW AI 节点可通过HOST:SVCPORT访问该应用 这些脚本会被提交给调度系统,并最终运行后在计算节点上启动应用。","s":"beforeScript,startCommand 和script","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#beforescriptstartcommand-和script","p":116},{"i":133,"t":"参考门户系统","s":"attributes","u":"/SCOW/docs/deploy/config/ai/apps/configure-web-app","h":"#attributes","p":116},{"i":135,"t":"参考文档简要了解交互式作业功能, 目前beta版本支持Web类和Vnc类应用功能。 配置Web类应用 配置VNC类应用 已有交互式应用 JupyterLab VSCode","s":"交互式作业","u":"/SCOW/docs/deploy/config/ai/apps/intro","h":"","p":134},{"i":137,"t":"本节介绍如何使用自定义操作行为日志","s":"自定义操作行为日志","u":"/SCOW/docs/deploy/config/audit/customEvent","h":"","p":136},{"i":139,"t":"SCOW的审计系统内置了一些用户操作行为,例如登录、登出和修改密码等。这些内置操作行为在SCOW的管理系统页面上,可以进行展示、搜索以及统计。 但是,有时候用户可能需要对自己的业务系统进行审计,这时候就需要自定义操作行为。该功能可以在不修改SCOW源码的情况下,通过调用审计系统的 API 实现对操作行为类别的扩展以及对应的国际化展示,同时可以支持在管理系统的操作日志页面对该类别的操作行为进行搜索。","s":"功能介绍","u":"/SCOW/docs/deploy/config/audit/customEvent","h":"#功能介绍","p":136},{"i":142,"t":"在自己实现的业务系统中,调用审计系统的CreateOperationLog,新增自定义操作行为的类别。 定义的protobuf文件相关内容如下: message I18nObject { message I18n { string default = 1; optional string en = 2; optional string zh_cn = 3; } I18n i18n = 1; } // 用户自定义操作类型,name和content将直接展示 message CustomEvent { string type = 1; common.I18nObject name = 2; common.I18nObject content = 3; } message CreateOperationLogRequest { string operator_user_id = 1; string operator_ip = 2; OperationResult operation_result = 3; oneof operation_event { Login login = 4; Logout logout = 5; SubmitJob submit_job = 6; EndJob end_job = 7; //...省略中间的内置操作行为 // 表示该条操作日志记录为自定义操作行为 CustomEvent custom_event = 61; } } CustomEvent参数定义​ type:自定义操作行为的类别,用于区分不同的自定义操作行为。 name:自定义操作行为的名称,国际化对象,用于在管理系统的操作日志页面进行展示。 content:自定义操作行为的内容,国际化对象,用于在管理系统的操作日志页面进行展示以及搜索。","s":"1. 调用CreateOperationLog API","u":"/SCOW/docs/deploy/config/audit/customEvent","h":"#1-调用createoperationlog-api","p":136},{"i":144,"t":"在管理系统的操作日志页面,可以查看到新增的自定义操作行为的类别,以及对应的操作日志记录。 表格中操作行为列将展示custom_event中name的国际化内容, 操作内容为custom_event中content的国际化内容 如果需要搜索特定自定义操作行为的操作日志,可在表单上方过滤操作行为选择自定义操作行为,之后在自定义操作类型的下拉框里选取具体的自定义操作类型(对应创建时的type参数)","s":"2. 自定义操作行为日志查看及搜索","u":"/SCOW/docs/deploy/config/audit/customEvent","h":"#2-自定义操作行为日志查看及搜索","p":136},{"i":146,"t":"在新增自定义操作行为时,需要确保系统内已有数据是否有相同的custom_event_type, 如果创建操作日志时传参custom_event内的type已存在,需要确保此时name参数与已有数据中的name完全一致,否则将创建失败","s":"注意","u":"/SCOW/docs/deploy/config/audit/customEvent","h":"#注意","p":136},{"i":148,"t":"本节介绍如何配置审计系统。","s":"配置审计系统","u":"/SCOW/docs/deploy/config/audit/intro","h":"","p":147},{"i":150,"t":"修改安装配置文件 install.yaml # 确保审计系统会部署 audit: # dbPassword为审计系统数据库密码 # 在系统第一次启动前可自由设置,使用此密码可以以root身份登录数据库 # 一旦数据库启动后即不可修改 # 必须长于8个字符,并同时包括字母、数字和符号 dbPassword: \"must!chang3this\"","s":"修改安装配置文件","u":"/SCOW/docs/deploy/config/audit/intro","h":"#修改安装配置文件","p":147},{"i":152,"t":"在config/audit.yaml文件中,根据备注修改所需要的配置 config/audit.yaml # 审计服务的url,默认不修改 url: audit-server:5000 # 审计系统数据库的信息。可以不修改 db: host: audit-db port: 3306 user: root password: mysqlrootpassword dbName: scow_audit","s":"编写后端服务配置","u":"/SCOW/docs/deploy/config/audit/intro","h":"#编写后端服务配置","p":147},{"i":154,"t":"运行./cli compose up -d启动审计服务。","s":"启动服务","u":"/SCOW/docs/deploy/config/audit/intro","h":"#启动服务","p":147},{"i":156,"t":"认证系统(auth)为系统提供用户登录功能,以及为各个组件提供鉴权服务。","s":"认证系统简介","u":"/SCOW/docs/deploy/config/auth/intro","h":"","p":155},{"i":158,"t":"我们提供的认证系统实现支持以下认证方式。请根据自己的集群的情况,选择自己的认证方式并进行部署和配置。 SSH LDAP 提示 如果您的集群可以使用SSH登录,可以首先使用最简单的SSH方式进行测试。 内置系统的额外配置介绍请参考内置认证系统配置","s":"内置认证系统","u":"/SCOW/docs/deploy/config/auth/intro","h":"","p":155},{"i":160,"t":"如果您的集群需要使用其他认证方式,您可以参考与SCOW集成文档去使用或者实现一个自定义认证系统。","s":"自定义认证方式","u":"/SCOW/docs/deploy/config/auth/intro","h":"","p":155},{"i":163,"t":"认证系统支持对登录界面部分 UI 进行修改 在auth.yaml配置中,可以配置关于登录界面 UI 的部分内容。 备注 注意:登录框中登录按钮颜色跟随主题色配置,配置文件为 ui.yaml 其中关于背景图片路径和自定义 logo 图片路径的设置可以参考公共文件进行配置。需要强调的是该路径是相对于公共文件的路径。 # auth 界面 ui 配置 # 可根据不同域名进行不同的展示,当对应域名没有相应配置时采用 default 配置 ui: default: # 登录界面背景图,设置为\"\"(空字符串)则无背景图 # 可选配置,默认加载 install.yml 同级的 /public/assets 目录下的 background.png 作为背景图 backgroundImagePath: \"./assets/background.png\" # 登录界面背景色,当背景图无法加载时,背景色起效 # 可选配置,默认为 #8c8c8c backgroundFallbackColor: \"#8c8c8c\" # 登录界面 logo,可选配置 logo: # 未配置自定义 logo(customLogoPath) 时,默认使用 SCOW Logo # light: 亮色模式下的 logo, dark: 黑暗模式下的 logo # 可选配置,默认为黑暗模式 logo scowLogoType: \"dark\" # 可选配置,自定义 logo 的图片路径。与背景图一致,路径时相对于公共文件的路径 customLogoPath: \"\" # 可选配置,自定义点击 logo 跳转地址 customLogoLink: \"https://icode.pku.edu.cn/SCOW/\" # 登录界面 slogan 配置 # 可选配置,默认右侧无 slogan slogan: # 登录界面 slogan 文字颜色 # 可选配置,默认为白色字体 color: \"white\" # 登录界面 slogan title # 可选配置,默认无 slogan 标题 title: \"开源算力中心门户和管理平台\" # 多条 slogan 文本 # 可选配置,默认 slogan 为空数组 texts: - \"图形化界面,使用方便\" - \"功能丰富,管理简单\" - \"一体化部署,开箱即用\" - \"标准化平台,支持算力融合\" - \"开源中立,独立自主\" # 登陆界面底部 Power By 字体颜色配置 # 可选配置,默认为白色字体 footerTextColor: \"white\" # 根据不域名进行不同的展示,对具体hostname生效的生效,可以不填 # hostnameMap: # a.com: # # 登录界面背景图 # backgroundImagePath: \"./assets/background1.png\" # # 登录界面背景色,当背景图无法加载时,背景色起效 # backgroundFallbackColor: \"#000\" # # 登录界面 logo 图, # logo: # # 如果没有配置自定义 logo, 则使用 type 选择 SCOW Logo # # light: 亮色模式下的 logo, dark: 黑暗模式下的 logo # scowLogoType: \"light\" # # 自定义 logo, 默认为空 # customLogoPath: \"\" # # 自定义点击 logo 跳转地址 # customLogoLink: \"https://icode.pku.edu.cn/SCOW/\" # # 登录界面 slogan 配置 # slogan: # # 登录界面 slogan 文字颜色 # color: \"black\" # # 登录界面 slogan title # title: \"开源算力中心门户和管理平台\" # # 多条 slogan 文本 # texts: # - \"图形化界面,使用方便.\" # - \"功能丰富,管理简单.\" # - \"一体化部署,开箱即用.\" # - \"标准化平台,支持算力融合.\" # - \"开源中立,独立自主.\" # # 登陆界面底部 Power By 字体颜色配置 # footerTextColor: \"black\"","s":"UI 配置","u":"/SCOW/docs/deploy/config/auth/config","h":"#ui-配置","p":161},{"i":165,"t":"当登录完成后,认证系统将会回调到登录时传入的callbackUrl参数。为了保证安全性,认证系统默认只允许回调到和认证系统相同的主机名下。您可以通过配置auth.yml下的allowedCallbackHostnames配置项来配置允许回调的主机名。注意,主机名(hostname)不包括端口号。 config/auth.yml allowedCallbackHostnames: - localhost - another.com","s":"允许回调主机名","u":"/SCOW/docs/deploy/config/auth/config","h":"#允许回调主机名","p":161},{"i":167,"t":"在auth.yaml配置中,可以配置关于登录验证码的功能 config/auth.yml # 默认不启用登录验证码功能 # captcha: # enabled为true开启登录验证码功能 # enabled: false 启用登录验证码时UI界面:","s":"验证码功能","u":"/SCOW/docs/deploy/config/auth/config","h":"#验证码功能","p":161},{"i":169,"t":"如果登录用户的ID为某个key,那么实际将会以其对应的value的用户登录。修改此配置无需重启认证系统。 config/auth.yml mockUsers: # 当登录用户的ID为fromUser1,实际上以toUser1登录 fromUser1: toUser1 fromUser2: toUser2","s":"模仿用户","u":"/SCOW/docs/deploy/config/auth/config","h":"#模仿用户","p":161},{"i":171,"t":"在auth.yaml配置中,可以配置关于otp验证码的功能, ldap认证方式支持支持绑定otp和验证,有效验证码为当前验证码和上一个验证码。ssh认证方式仅支持远程验证。","s":"OTP功能","u":"/SCOW/docs/deploy/config/auth/config","h":"#otp功能","p":161},{"i":173,"t":"手机app您可以使用authenticator,FreeOTP等。 您需要自己在ldap中定义一个属性名用来存储string类型的OTP密钥,并配置为auth.yaml中的opt.secretAttributeName,这个密钥属性名默认为otpSecret。 您需要配置邮件发送信息。其中,您需要提供有效的发件人地址、SMTP 服务器地址、SMTP 服务器端口号以及 SMTP 认证凭据(包括用户名和授权码)。","s":"一、将OTP密钥保存在LDAP中(即otp.type为ldap):","u":"/SCOW/docs/deploy/config/auth/config","h":"#一将otp密钥保存在ldap中即otptype为ldap","p":161},{"i":175,"t":"那么您需要提供一个验证otp码的接口, 并配置为otp.remote.validateUrl,返回验证的结果。返回结果要求json格式{\"result\": true|false}。 scow会使用fetch向上述接口(otp.remote.validateUrl)发起请求。fetch请求中otpCode为用户输入的otp码,userId为用户名,类型均为string。 fetch headers \"Content-Type\": \"application/json\" body otpCode, userId 例:假设您是像Google Authenticator一样将密钥存在用户家目录下的.google_authenticator第一行内容,那么您可以提供的路由接口及服务TypeScript示例: import { Static, Type } from \"@sinclair/typebox\"; import fastify from \"fastify\"; import { NodeSSH } from \"node-ssh\"; import * as speakeasy from \"speakeasy\"; // 远程验证OTP码 const app = fastify({ logger: true }); /** * 要求启动该服务的主机可以ssh免密登录到存放otp密钥的主机的root用户。启动该服务的主机的私钥地址为/home/node/.ssh/id_rsa,node为用户名。 * 假设您的OTP密钥存放主机host=\"192.168.88.102\"上/data/home/{{userId}}/.google_authenticator文件的第一行内容,其中{{userId}}为需要验证otp码是否正确的用户名 * */ // ssh免密登录到存放otp密钥的root用户 const sshUserName = \"root\"; // 假设启动该服务的主机的私钥地址为/home/node/.ssh/id_rsa const privateKeyPath = \"/home/node/.ssh/id_rsa\"; // OTP密钥存放主机host=\"192.168.88.102\" const host = \"192.168.88.102\"; // 用户家目录,otp密钥存放于此目录下的.google_authenticator文件的第一行内容 const homedir = \"/data/home/{{ userId }}\"; // routePath需要与您实现的验证接口(otp.remote.url中的path)一致 const routePath = \"/otp/remote/validateCode\"; const bodySchema = Type.Object({ otpCode: Type.String(), userId: Type.String(), }); app.post<{Body: Static}>( routePath, { schema: { body: bodySchema, }, }, async (req, res) => { // otpCode为scow发起的请求携带的OTP验证码,userId为OTP验证的用户名 const { otpCode, userId } = req.body; const ssh = new NodeSSH(); // 获取OTP密钥 const otpSecret = await ssh.connect({ host: host, username: sshUserName, privateKeyPath: privateKeyPath }) .then(async () => { const otpSecretFilePath = homedir.replace(\"{{ userId }}\", userId) + \"/.google_authenticator\"; const fileContent = await ssh.execCommand(`su ${userId} && cat ${otpSecretFilePath}`); return fileContent.stdout.toString().split(\"\\n\")[0]; }).finally(() => { ssh.dispose(); }); // 获取绝对时间戳 const currentTime = new Date(); const timeStamp = Date.UTC(currentTime.getUTCFullYear(), currentTime.getUTCMonth(), currentTime.getUTCDate(), currentTime.getUTCHours(), currentTime.getUTCMinutes(), currentTime.getUTCSeconds(), currentTime.getUTCMilliseconds()); // 验证 let result = speakeasy.totp.verify({ token: otpCode, time: timeStamp / 1000, encoding: \"base32\", secret: otpSecret, // digits, step, algorithm需要您与手机app设置保持一致,默认digits为6,step为30,algorithm为sha1 }); // 验证失败则检测输入的是否是上一个step的otp码,如果是,也算通过 if (!result) { result = speakeasy.totp.verify({ token: otpCode, time: timeStamp / 1000 - 30, encoding: \"base32\", secret: otpSecret, }); } res.send({ result }); }, ); export const start = async () => { // 配置监听的ip和端口 await app.listen({ port: 9999, host: \"192.168.88.100\" }); }; start(); 默认不启用otp功能,无需配置。若要启用otp, 则需要将otp.enabled配置为true, 此时必须配置otp.type为ldap或者remote。 启用时,如果您将otp.type配置为ldap, 那么otp.ldap下所有没有默认值的配置项都需要配置,此外您需要保证auth.yaml文件中ldap.attrs.mail被配置了,此配置在这里用于获取邮箱信息发送邮件。同样地如果您将otp.type配置为remote, 那么otp.remote下所有没有默认值的配置项都需要配置。 auth.yaml: config/auth.yml # ldap认证支持绑定和验证otp,ssh认证仅支持验证 otp: # 是否启用otp功能, 默认false enabled: false # status指定otp启用类型,分别为ldap:密钥存在ldap,remote:密钥您自己管理。 type: ldap # 当status为ldap时间,需配置以下这段内容 ldap: # 限制绑定otp要在多少分钟内完成,需要整数, 默认10 # bindLimitMinutes: 10 # 密钥存储属性名, 默认为otpSecret, 需要用户自己在ldap中进行定义 secretAttributeName: # 访问scow系统的域名或ip地址(不需要填写scow的base path),用于发送邮件中组成OTP绑定页面的地址,例如:https://pku.edu.cn scowHost: # otp验证软件扫描二维码之后,出现的label中,用户名和@后显示的名称, 默认为SCOW # ldabel: \"scow\" # otp的二维码上方文字描述信息\", 默认为 \"此二维码仅出现一次,用过即毁\", 支持html标签 # qrcodeDescription: \"此二维码仅出现一次\" # 绑定otp时发送绑定信息方式 authenticationMethod: mail: # 发件邮箱地址 from: \"morgan68@ethereal.email\" # 向每个用户发送邮件频率限制,需要整数,单位秒,默认60秒间隔 # sendEmailFrequencyLimitInSeconds: 60 # 邮件主题,默认为\"OTP绑定链接\" # subject: \"OTP绑定链接\" # 邮件内容标题,默认为\"Bind OTP\",也可以是html标签内容 # title: \"Bind OTP\" # 邮件内容,默认为\"Please click on the following link to bind your OTP:\",也可以是html标签内容 # contentText: \"Please click on the following link to bind your OTP\" # 标签点击文字,默认为\"Bind OTP\" # labelText: \"Bind OTP\" mailTransportInfo: # SMTP服务器 host: \"smtp.ethereal.email\" # 是否启用安全连接,默认false # secure: false # 服务器端口 port: 587 # SMTP身份验证用户名 user: \"morgan68@ethereal.email\" # SMTP身份验证授权码 password: \"y2es3bd3rYwxWs5n8g\" # 如果mode指定为remote,需要配置以下内容 remote: # 远程验证url,例如http://localhost:9999/otp/remote/validateCode,详见https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config validateUrl: # 当用户点击绑定OTP按钮时跳转的按钮,建议配置,不配置会不显示绑定otp按钮 # redirectUrl: https://pkuhpc.github.io/SCOW/docs/deploy/config/auth/config","s":"二、由您自己管理OTP密钥(otp.type为remote):","u":"/SCOW/docs/deploy/config/auth/config","h":"#二由您自己管理otp密钥otptype为remote","p":161},{"i":177,"t":"本节介绍内置认证系统并采用SSH进行用户认证的认证系统。 SSH认证是非常简单的认证方式。用户可以直接使用和SSH登录集群相同的用户名和密码来登录系统。 在此认证方式中,用户的用户ID为其对应的Linux用户名,用户的姓名为其对应的Linux用户的Gecos Field的full name字段。 SSH认证方式所支持的功能如下表: 功能 是否支持 用户登录 是 获取用户信息 是 用户创建 否 用户名和姓名验证 否 修改密码 否 管理用户账户关系 否","s":"SSH认证系统","u":"/SCOW/docs/deploy/config/auth/ssh","h":"","p":176},{"i":179,"t":"SSH认证方式要求编写好集群配置文件,并且确保其中第一个集群有至少一个登录节点。 在config/auth.yml中输入以下内容: config/auth.yml # 指定使用认证类型为SSH authType: ssh 增加好配置后,运行./cli compose restart重启系统即可。","s":"配置SSH认证服务","u":"/SCOW/docs/deploy/config/auth/ssh","h":"#配置ssh认证服务","p":176},{"i":181,"t":"本节介绍如何配置 AI 系统(beta)。","s":"配置 AI 系统(beta)","u":"/SCOW/docs/deploy/config/ai/intro","h":"","p":180},{"i":183,"t":"SCOW AI当前处于Beta状态,其代码将会和SCOW主线共存,但是SCOW AI的版本发布周期将是独立的,不和SCOW本身同步。 您可以在GitHub的Release中找到格式为ai-beta.{数字}的Release,这些Release以及对应的Tag均为SCOW AI的Beta发布版本。快速到所有ai-beta. Release的链接点击此处。 要使用SCOW AI的具体的版本,您需要修改install.yml的imageTag为一个具体的ai-beta.{数字}的tag,例如: install.yaml # 指定使用Beta 1版本 imageTag: ai-beta.1 您同样可以使用master来跟踪SCOW主线以及其包括的SCOW AI的最新功能。","s":"Beta期间配置","u":"/SCOW/docs/deploy/config/ai/intro","h":"","p":180},{"i":186,"t":"AI 系统(beta) 需要用户在使用时提前部署 K8S 的集群环境。 当前 AI 系统(beta) 为试用版本,我们目前已经支持 docker 和 containerd 两种容器运行时的 k8s集群中使用 AI 系统。 若集群为containerd 运行时,需要在集群的节点上安装 nerdctl 当前试用版本中 K8S 部署的主要版本信息如下: 安装内容 版本信息 kubernetes v1.19.13 Docker Engine 19.03.12","s":"K8S 集群","u":"/SCOW/docs/deploy/config/ai/intro","h":"#k8s-集群","p":180},{"i":188,"t":"AI 系统(beta) 同样通过 SCOW调度器适配器 来实现对 K8S 集群的调度服务。 同时为了满足提交 AI 作业、训练 AI 作业的功能,需要使用第三方调度插件 Kueue、 配置 Cluster Queue 的队列信息来协调和处理作业任务。 K8S 调度器适配器 我们仍然使用 SCOW调度器适配器 来实现 K8S 集群的调度服务。 当前版本中,我们提供了调度器适配器的适用版本的二进制文件 scow-ai-adapter-amd64,欢迎下载进行试用。 K8S 调度器适配器的配置请参照此链接。 第三方调度插件 Kueue Kueue 是一个用于 Kubernetes 的作业排队系统。它旨在管理和优化批处理作业和其他非实时工作负载的执行。 Kueue 的安装下载参照此链接。 配置 Cluster Queue Cluster Queue 允许基于不同的策略和需求对作业进行分组管理。 Cluster Queue 的配置与实际部署的 K8S集群 情况紧密相关,推荐您按照 Cluster Queue 介绍 和实际部署集群的详细情况进行配置。","s":"K8S 调度服务","u":"/SCOW/docs/deploy/config/ai/intro","h":"#k8s-调度服务","p":180},{"i":190,"t":"当前 AI 系统(beta) 版本中,为了实现镜像的保存、上传、分享、复制、删除等功能,需要您已部署可访问的 Harbor 镜像仓库。同时需要您已在 Harbor 上创建了用于镜像管理的项目,并在 AI 服务配置文件中配置该项目名称。 我们在测试版本中支持通过 http 协议 实现的 Harbor API V2.0 版本接口的访问,为了您能流畅体验试用镜像功能,推荐您部署支持该版本接口的 Harbor 镜像仓库。 我们在试用版的测试环境中试用的 Harbor 版本信息为 版本v2.7.4-8693b25a。","s":"Harbor","u":"/SCOW/docs/deploy/config/ai/intro","h":"#harbor","p":180},{"i":192,"t":"当前 AI 系统(beta) 版本中需要您已经提前安装部署了并行文件存储服务。","s":"并行文件存储服务","u":"/SCOW/docs/deploy/config/ai/intro","h":"#并行文件存储服务","p":180},{"i":194,"t":"当前 AI 系统(beta) 版本中我们仍然延续 SCOW 系统的认证系统服务,采用基于 LDAP 认证系统进行用户认证。 在 K8S 集群中仍然需要像 SCOW 系统的 hpc集群 一样,在管理节点安装 LDAP服务端 ,在所有节点安装 LDAP客户端 。","s":"LDAP","u":"/SCOW/docs/deploy/config/ai/intro","h":"#ldap","p":180},{"i":197,"t":"在当前 AI 系统(beta) 的试用版本中,我们支持了配置不同集群使用不同的服务(AI 或 HPC),需要在config/clusters/{K8S集群的ID}.yml中,添加如下内容 config/clusters/{K8S集群的ID}.yml # 其他配置省略 # ... # 集群在HPC或是否启用,默认为true hpc: enabled: true # 集群在AI或是否启用,默认为false ai: enabled: false 此外我们支持了不同容器运行时,并提供了进入运行中的 k8s 作业容器的进行 shell 操作的功能。 为了能够在 Kubernetes 集群中通过 kubectl 进入到所有命名空间的容器中执行命令(例如 /bin/sh),需要提供一份 kubeconfig 配置文件。该配置文件的 current context 中的用户需要使用 ClusterRole 创建并具备一定的权限,这些权限包括对 pods/exec 的 create 操作,以及对 pods 的 get 和 list 操作。创建完成后,需要将 kubeconfig 文件放置到 SCOW 部署目录中的 config 目录下,然后在config/clusters/{K8S集群的ID}.yml中,添加如下内容 config/clusters/{K8S集群的ID}.yml # 其他配置省略 # ... k8s: # runtime: docker # 默认为 containerd runtime: containerd # kubeconfig 相关配置 kubeconfig: # 相对于 SCOW 部署目录下 config 目录的路径 path: /kube/xxx 请在部署了 K8S 集群的集群配置文件中确认以下内容: 在config/clusters/{K8S集群的ID}.yml中,修改配置(使用 K8S适配器 的ip地址和端口号) config/clusters/{K8S集群的ID}.yml # 其他配置省略 # ... adapterUrl: localhost:8972","s":"集群配置文件","u":"/SCOW/docs/deploy/config/ai/intro","h":"#集群配置文件","p":180},{"i":199,"t":"修改安装配置文件: install.yaml # 其他配置省略 # ... # 确保 AI 系统会部署 ai: # dbPassword 为 AI 系统数据库密码 # 在系统第一次启动前可自由设置,使用此密码可以以 root 身份登录数据库 # 一旦数据库启动后即不可修改 # 必须长于 8 个字符,并同时包括字母、数字和符号 dbPassword: \"must!chang3this\"","s":"修改安装配置文件","u":"/SCOW/docs/deploy/config/ai/intro","h":"#修改安装配置文件","p":180},{"i":201,"t":"在config/ai/config.yaml文件中,根据备注修改所需要的配置 config/ai/config.yaml # AI 系统服务的 url,默认不修改 url: ai:5000 # AI 系统数据库的信息。可以不修改 db: host: ai-db port: 3306 user: root password: must!chang3this dbName: scow_ai debug: true # AI 系统镜像保存 Harbor 仓库配置 harborConfig: # Harbor 仓库地址 url: 10.0.0.xxx # Harbor 仓库中用于当前系统镜像管理的已存在的项目名称 project: projectName # Harbor 仓库可登录用户的用户名 # (建议使用上述项目的项目管理员以上权限人员,需具有 API 2.0 接口访问权限) user: user # Harbor 仓库可登录用户的登录密码 password: password","s":"编写 AI 服务配置","u":"/SCOW/docs/deploy/config/ai/intro","h":"#编写-ai-服务配置","p":180},{"i":203,"t":"运行 ./cli compose up -d 启动 AI 系统(beta) 服务。","s":"启动服务","u":"/SCOW/docs/deploy/config/ai/intro","h":"#启动服务","p":180},{"i":205,"t":"警告 实验性功能!","s":"CLI插件","u":"/SCOW/docs/deploy/config/cli/plugins","h":"","p":204},{"i":207,"t":"您可以通过和cli同级的plugins目录编写CLI插件。 每个插件占据一个目录,目录名为插件的ID。例如plugins/plugin1,则此插件id为plugin1。 当您编写好插件后,您可以通过install.yml的plugins.enabledPlugins选项,指定启用的插件。 例如,如果要使用plugin1插件,则编写 install.yml plugins: enabledPlugins: [\"plugin1\"]","s":"编写和配置","u":"/SCOW/docs/deploy/config/cli/plugins","h":"#编写和配置","p":204},{"i":210,"t":"您可以通过此功能更改部署的Docker Compose配置,例如在SCOW网络中部署其他的容器,或者给已有的服务增加新的环境变量、端口等。 在插件目录下,您可以编写docker-compose.yml文件,此文件将会与CLI生成的Docker Compose配置文件合并。CLI在调用docker compose时,使用docker compose -f {scow-cli生成的compose文件} ...-f {所有插件的compose文件}的方法执行。 plugins/plugin1/docker-compose.yml version: \"3\" services: extraService: image: <您的容器镜像> # ...","s":"覆盖docker-compose.yml","u":"/SCOW/docs/deploy/config/cli/plugins","h":"#覆盖docker-composeyml","p":204},{"i":212,"t":"如果您仅需要增加部分服务端功能,只需要增加一个插件服务即可。 如果您需要增加页面功能,并与scow的http服务绑定在同一个端口上,需要在增加插件服务的同时增加gateway的配置,具体参考网关配置","s":"拓展与集成","u":"/SCOW/docs/deploy/config/cli/plugins","h":"#拓展与集成","p":204},{"i":214,"t":"对于每个需要进行部署的集群,需要在config/clusters目录下创建一个{集群ID}/config.yml(或{集群ID}.yml)文件,并编写集群的信息。当您的集群信息修改后,您需要同时手动修改对应的集群配置文件。 config/clusters/hpc01/config.yml # 此文件为hpc01.yml,对应的集群ID为hpc01 # 集群显示名称 displayName: hpc01Name # 集群选择时排序的优先级,数字越小优先级越高,默认优先级最低 priority: 0 # 调度器适配器地址(ip地址:端口号) adapterUrl: localhost:8972 loginNodes: # 登录节点展示名称 - name: login01 # 各个登录节点的IP或者域名,不能重复 # 如果设置的是域名,请确认此节点的/etc/hosts中包含了域名到IP的解析信息 # 如果部署了多集群,需保证多集群下登录节点的IP或者域名也不能重复 address: 192.168.88.102 - name: login02 address: 192.168.88.103 # 登录节点桌面功能 loginDesktop: # 是否启用桌面功能 enabled: true # 桌面 wms: # 桌面名和对应的wm值。见文档 - name: Xfce wm: xfce # 单个登录节点最多启动多少个桌面节点 maxDesktops: 3 # 将创建的登录节点桌面信息的保存到什么位置。相对于用户的家目录 desktopsDir: scow/desktops # TurboVNC的安装路径 turboVNCPath: /opt/TurboVNC # 跨集群传输模块,可选功能 crossClusterFileTransfer: # 不启用跨集群传输功能可以设置为false enabled: true # 传输节点的地址(ip地址:端口号) transferNode: localhost:22222 # 集群在HPC或是否启用,默认为true hpc: enabled: true # 集群在AI或是否启用,默认为false ai: enabled: false","s":"集群配置文件","u":"/SCOW/docs/deploy/config/cluster-config","h":"","p":213},{"i":216,"t":"集群配置里的登录节点桌面功能和TurboVNC的安装路径配置为该集群特有,如不需要特殊配置该集群的这些功能,可在门户系统进行统一配置;若在集群下配置以上功能,在该集群内将会覆盖门户系统下的配置。 集群配置里的登录节点的IP或者域名必须唯一。如果部署了单集群多登录节点或者多集群,需保证所有登录节点的IP或者域名不能重复。","s":"注意","u":"/SCOW/docs/deploy/config/cluster-config","h":"#注意","p":213},{"i":219,"t":"假设我们的系统部署在https://scowtest.com下,那么在浏览器中输入此URL,即可访问系统。在这种部署条件下,我们说,系统部署在scowtest.com域名下,其相对于域名的路径(相对路径)为根路径,即/。 在一些特殊条件下,我们想使用同一个域名部署多个系统,每个系统部署在一个域名的某个相对路径(base path)下,例如,我们可能想通过https://scowtest.com/scow访问系统。在这种条件下,系统仍然部署在scowtest.com域名下,但是其相对路径为/scow。","s":"什么是相对路径(base path)","u":"/SCOW/docs/deploy/config/customization/basepath","h":"#什么是相对路径base-path","p":217},{"i":221,"t":"SCOW支持将系统的门户和管理系统部署在不同的相对路径下,仅需通过修改install.yaml中的basePath, portal.basePath和mis.basePath配置即可。 install.yaml中,basePath、portal.basePath和mis.basePath均不以/结尾。basePath填写整个系统的根路径,portal.basePath和mis.basePath分别表示门户系统和管理系统相对于系统的相对路径,遵循以下的编写原则: 整个系统的访问路径 门户系统的访问路径 管理系统的访问路径 basePath portal.basePath mis.basePath / / /mis / / /mis / /portal / / /portal / /scow /scow /scow/mis /scow / /mis /scow /scow/portal /scow /scow /portal /","s":"配置","u":"/SCOW/docs/deploy/config/customization/basepath","h":"#配置","p":217},{"i":223,"t":"当管理员或财务人员在管理系统下查询消费列表时,系统支持按消费类型进行查询结果过滤。 当前管理系统下默认消费类型包括SCOW已配置的jobChargeType, changeJobPriceType及附加类型\"其他\"。 如果您所部署的SCOW实现了通过代码自定义收费规则或接入第三方使用了SCOW扣费系统的服务,那么可能您所使用的SCOW包含上述以外的消费类型。 这种情况管理员可以通过在config/mis.yaml下增加管理系统可选配置customChargeTypes来自定义可查询的消费类型。 配置: config/mis.yaml # 自定义可查询的消费类型,可选填 # 填写格式为字符串列表 customChargeTypes: [\"月租\",\"存储费\"] 当管理员在config/mis.yaml下增加上述配置后,在消费列表中可查询的消费类型如下。","s":"自定义可查询的消费类型","u":"/SCOW/docs/deploy/config/customization/custom-charge-types","h":"","p":222},{"i":225,"t":"在SCOW的页面国际化功能中,系统支持管理员自定义配置各配置文件中的文本显示为国际化显示。 当用户切换系统语言时,如果配置文件中的文本已经被自定义配置为国际化类型的文本,那么相应的配置文本也可以随着系统语言的切换而变换。 目前SCOW默认支持的国际化语言暂为简体中文与英文。","s":"自定义可配置项的国际化文本","u":"/SCOW/docs/deploy/config/customization/custom-config-i18n","h":"","p":224},{"i":227,"t":"系统兼容上一版本的文本配置的string类型,同时支持可以随着语言切换而变换的i18n国际化类型。 下方是在auth.yaml中配置首页标题信息文本的国际化配置示例。 config/auth.yaml slogan: # 默认文本,类型要求为string,如配置为此字符串类型的文本,那么切换语言时不随着语言的切换而变换 # title: \"开源算力中心门户和管理平台\" # 默认文本,国际化I18n类型 title: i18n: # 默认显示文本,如果是i18n类型则必填,类型要求为string # 如果没有配置系统可支持的对应文本,如没有配置下方的en或zh_cn,则切换相应的语言时展示default中配置的文本信息 default: \"开源算力中心门户和管理平台\" # 英文文本,可选填,类型要求为string。切换语言为英文时显示配置的英文文本信息 en: \"Open-source Compute Center Portal and Management Platform\" # 简体中文文本,可选填,类型要求为string。切换语言为简体中文时显示配置的简体中文文本信息 zh_cn: \"开源算力中心门户和管理平台\" 如果管理员按上述配置示例中的i18n类型配置了auth系统的标题信息。那么当用户进入SCOW的登录页面时,语言为简体中文时用户可以看到的标题显示为: 当用户进入系统后通过右上角语言切换器切换当前显示语言为英文时,用户可以看到的标题显示为:","s":"配置示例","u":"/SCOW/docs/deploy/config/customization/custom-config-i18n","h":"#配置示例","p":224},{"i":229,"t":"随着SCOW性能的优化与功能的增加,在未来我们可能会增加更多的可自定义国际化文本配置的配置项。 当前SCOW已经支持的可配置国际化类型的文本包含以下配置文件中的文本。 配置文件 可以配置国际化文本类型的配置项 common.yaml passwordPattern:errorMessage auth.yaml slogan:title auth.yaml slogan:texts clusterTexts.yaml default:clusterComment clusterTexts.yaml default:extra: title clusterTexts.yaml default:extra: comment clusterTexts.yaml tenant_1: clusterComment mis.yaml accountNamePattern: errorMessage mis.yaml createUser:userIdPattern: errorMessage portal.yaml submitJobPromptText {cluster}.yaml displayName {cluster}.yaml loginNodes: name {app}.yaml attributes: label {app}.yaml attributes: placeholder {app}.yaml attributes: select: label {app}.yaml attributes: select: placeholder {app}.yaml appComment","s":"支持国际化文本切换的配置项","u":"/SCOW/docs/deploy/config/customization/custom-config-i18n","h":"#支持国际化文本切换的配置项","p":224},{"i":231,"t":"本节介绍使用内置认证系统并使用LDAP进行用户认证。 LDAP认证系统支持的功能如下表: 功能 是否支持 用户登录 是 获取用户信息 是 用户创建 如果配置了相关配置即支持 用户名和姓名验证 是 修改密码 是 管理用户账户关系 否","s":"LDAP认证系统","u":"/SCOW/docs/deploy/config/auth/ldap","h":"","p":230},{"i":233,"t":"为了更好的理解并配置LDAP认证系统,本节将介绍各个操作时,LDAP认证系统所进行的操作。请确认您的LDAP配置兼容这里所称的流程 下文中,代码块(如ldap.bindDn)为配置文件config/auth.yml中的对应值。","s":"LDAP认证要求和流程","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#ldap认证要求和流程","p":230},{"i":235,"t":"要使用LDAP进行SCOW系统的用户认证,您必须配置LDAP服务器和集群中的每个节点,使得集群中的任何节点都可以使用LDAP用户节点的ldap.attrs.uid对应的属性的值和密码作为用户名和密码登录。请参考client.sh配置使用LDAP服务器登录Linux节点。","s":"使用LDAP登录集群","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#使用ldap登录集群","p":230},{"i":237,"t":"当用户登录时,认证系统获得用户输入的用户名和密码,进行以下操作: 使用ldap.bindDn和ldap.bindPassword作为用户名和密码,向LDAP服务器所在的ldap.url发起bind请求 bind成功后,以ldap.searchBase为搜索根,以sub模式,以ldap.filter && (ldap.attrs.uid等于输入的用户名) 为筛选条件搜索节点 如果搜索结果为空,则登录失败 如果搜索节点有多个,取第一个结果 以上一个结果的DN以及输入的密码作为用户名和密码,与LDAP服务器发起bind请求 如果bind失败,则登录失败 登录成功。生成一个UUID作为token,将token与输入的用户名存入redis 重定向到用户在登录时,通过querystring指定的callback URL,并传入token={token}作为querystring参数","s":"登录","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#登录","p":230},{"i":239,"t":"系统会对每个新用户创建一个新的LDAP节点表示用户,并支持同时创建一个LDAP节点表示用户的组。 当用户在管理系统中创建后,认证系统获得新用户的用户名、用户姓名、密码和邮箱,进行以下操作 使用ldap.bindDn和ldap.bindPassword作为用户名和密码与向LDAP服务器所在的ldap.url发起bind请求 创建一个新的entry作为用户,其DN以及属性值如下表所示 表中??表示如果前面的配置值设置了,就采用前面的值,如果没有设置,则采用后面的值。 属性名 值 DN {ldap.addUser.userIdDnKey ?? ldap.attrs.uid}=用户名,{ldap.addUser.userBase} ldap.attrs.uid 用户名 sn 用户名 loginShell /bin/bash objectClass [\"inetOrgPerson\", \"posixAccount\", \"shadowAccount\"] homeDirectory ldap.addUser.homeDir,其中的{{ username }}替换为用户名 uidNumber 数据库中的用户项的id + ldap.addUser.uidStart gidNumber 取决于ldap.groupStrategy,见下文 ldap.attrs.name(如果设置了) 用户姓名 ldap.attrs.mail(如果设置了) 用户的邮箱 ldap.addUser.extraProps中的每个key key对应的值,对应的值可以为字符串、字符串列表或者null。字符串或者字符串列表中的每一项其中的{{ key }}替换为key本节点的对应的属性的值。 如果ldap.addUser.extraProps中包括已经存在的属性名,则会替换对应的属性。如果这里面某个值为null,则会删除对应的属性。 配置新用户所属的组。 如果ldap.addUser.groupStrategy设置为oneGroupForAllUsers,则新用户的gidNumber为ldap.addUser.oneGroupForAllUsers.gidNumber的值,且不会新建新的表示组的LDAP节点。 如果ldap.addUser.groupStrategy设置为newGroupPerUser,则新用户的gidNumber的值等于用户的uidNumber,并且会创建一个新的LDAP节点作为新用户的group,其DN以及属性值如下表所示。 属性名 值 DN {ldap.newGroupPerUser.groupIdDnKey ?? ldap.attrs.userId}=用户名,{ldap.addUser.newGroupPerUser.groupBase} objectClass [\"posixGroup\"] memberUid 用户名 gidNumber 同用户的uidNumber ldap.addUser.newGroupPerUser.extraProps中的每个key key对应的值,对应的值可以为字符串、字符串列表或者null。字符串或者字符串列表中的每一项其中的{{ key }}替换为key本节点的对应的属性的值。 如果ldap.addUser.newGroupPerUser.extraProps中包括已经存在的属性名,则会替换对应的属性。如果这里面某个值为null,则会删除对应的属性。 设置新用户的密码为用户输入的密码","s":"创建用户","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#创建用户","p":230},{"i":241,"t":"在config/auth.yml中输入以下内容,并根据情况配置。 config/auth.yml # 指定使用认证类型为LDAP authType: ldap # 在此部分输入LDAP的配置 ldap: # LDAP服务器地址。必填 url: ldap://LDAP服务器地址 # 进行LDAP操作的用户DN。默认为空 # bindDN: \"\" # 进行LDAP操作的用户密码。默认为空 # bindPassword: \"\" # 在哪个节点下搜索要登录的用户。必填。 searchBase: \"\" # 搜索登录用户时的筛选器。必填 userFilter: \"(uid=*)\" # 属性映射 attrs: # LDAP中对应用户ID的属性名 uid: uid # LDAP对应用户姓名的属性名 # 此字段用于 # 1. 登录时显示为用户的姓名 # 2. 创建用户的时候把姓名信息填入LDAP # 3. 管理系统添加用户时,验证ID和姓名是否匹配 # # 如果不设置此字段,那么 # 1. 用户显示的姓名为用户的ID # 2. 创建用户时姓名信息填入LDAP # 3. 管理系统添加用户时,不验证ID与姓名是否匹配 # name: cn # LDAP中对应用户的邮箱的属性名。可不填。此字段只用于在创建用户的时候把邮件信息填入LDAP。 # mail: mail # 添加用户的相关配置。可不填,不填的话SCOW不支持创建用户。 addUser: # 增加用户节点时,把用户增加到哪个节点下 userBase: \"ou=People,ou={ou},o={dn}\" # 用户的homeDirectory值。使用{{ userId }}代替新用户的用户名。默认如下 homeDir: /nfs/{{ userId }} # LDAP增加用户时,新用户节点的DN中,第一个路径的属性的key。 # 新用户节点的DN为{userIdDnKey}={用户ID},{userBase} # 如果不填写,则使用ldap.attrs.uid的值 # userIdDnKey: uid # 如何确定新用户的组。可取的值包括: # newGroupPerUser: 给每个用户创建新的组 # oneGroupForAllUsers: 不创建新的组,给所有用户设定一个固定的组 groupStrategy: newGroupPerUser newGroupPerUser: # 用户对应的新组应该加在哪个节点下 groupBase: \"ou=Group,ou={ou},o={dn}\" # 新的组节点的DN中,第一个路径的属性的key。 # 新的组节点的DN为{groupIdDnKey}={用户ID},{groupBase} # 如果不填写,则使用ldap.attrs.uid的值 # groupIdDnKey: uid # 组的节点应该额外拥有的属性值。可以使用 {{ 用户节点的属性key }}来使用用户节点的属性值 # extraProps: # greetings: hello this is group {{ userId }} # 如果groupStrategy设置为oneGroupForAllUsers,那么必须设置此属性 oneGroupForAllUsers: # 用户的gidNumber属性的值 gidNumber: 5000 # 是否应该把新用户加到哪个LDAP组下。如果不填,则不加 # addUserToLdapGroup: group # uid从多少开始。生成的用户的uid等于此值加上用户账户中创建的用户ID # 默认如下 # uidStart: 66000 # 用户项除了id、name和mail,还应该添加哪些属性。类型是个dict # 如果这里出现了名为uid, name或email的属性,这里的值将替代用户输入的值。 # 属性值支持使用 {{ LDAP属性值key }} 格式来使用用户填入的值。 # 例如:sn: \"{{ cn }}\",那么添加时将会增加一个sn属性,其值为cn的属性,即为用户输入的姓名 # extraProps: # key: value 增加好配置后,运行./cli compose restart重启系统即可。","s":"配置LDAP认证服务","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#配置ldap认证服务","p":230},{"i":243,"t":"我们提供以下两个脚本可以用来在CentOS 7环境快速安装和配置LDAP服务器 provider.sh: 用于配置LDAP服务器 client.sh: 用于配置LDAP客户端 请下载这两个文件,修改两个文件开头部分的相关配置(Start Configuratin Part和End Configuration Part之间的变量),运行即可。 如果您使用provider.sh脚本配置您的服务器,您的LDAP相关配置为如下。其中{变量}替换为provider.sh中的对应变量值。 config/auth.yml # ...其他配置 authType: ldap ldap: url: ldap://LDAP服务器地址 bindDN: cn=Manager,ou={ou},o={dn} bindPassword: {adminPasswd} searchBase: \"ou={ou},o={dn}\" userFilter: \"(uid=*)\" addUser: userBase: \"ou=People,ou={ou},o={dn}\" userIdDnKey: uid # 把homeDir设置为共享存储上的用户的家路径 homeDir: /nfs/{{ userId }} groupStrategy: newGroupPerUser newGroupPerUser: groupBase: \"ou=Group,ou={ou},o={dn}\" groupIdDnKey: cn attrs: uid: uid name: cn mail: mail","s":"LDAP快速配置脚本","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#ldap快速配置脚本","p":230},{"i":245,"t":"您还可以使用我们提供的已经配置好的LDAP docker镜像进行体验。注意,此镜像仅用于测试和功能体验,请勿用于生产环境! # 在整个项目的根目录构建镜像 docker build -f dev/ldap/Dockerfile -t ldap . # 启动镜像。服务在389端口监听。 # 管理员用户为cn=Manager,ou=hpc,o=pku,密码为admin docker run -p 389:389 ldap","s":"LDAP镜像","u":"/SCOW/docs/deploy/config/auth/ldap","h":"#ldap镜像","p":230},{"i":247,"t":"系统支持在mis.yaml中通过可选配置jobChargeMetadata将作业相关的字段以Json格式保存在消费记录中。 以便后续对此保存字段进行查询或在页面前端进行格式化显示。","s":"自定义在消费记录中保存作业相关字段","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","h":"","p":246},{"i":249,"t":"config/mis.yaml # 自定义消费记录中作业相关的存储内容 jobChargeMetadata: # 可选。需要保存的作业相关字段,字段参考[entities/JobInfo](#entitiesjobinfo) savedFields: [\"idJob\", \"account\"] # 可选。定义显示出来的格式。如果不配置,直接显示上面保存的Json字段的信息 displayFormats: # i18n国际化类型,根据系统语言显示不同的信息 # 或字符串格式,直接显示字符串 # 利用 {{ 属性名 }} 使用上述savedFields中保存的属性值 i18n: default: \"账户 {{ account }} 的作业ID {{ idJob }} 的计费\" en: \"The billing for jobId {{ idJob }} of Account {{ account }}\" zh_cn: \"账户 {{ account }} 的作业ID {{ idJob }} 的计费\"","s":"配置示例","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置示例","p":246},{"i":251,"t":"参数 类型 是否必须 解释 savedFields string[] 否 想要在数据库实体ChargeRecord中的metadata字段中保存的作业相关的信息,字段参考entities/JobInfo, 保存的格式为Json格式 displayFormats string | i18n国际化类型 否 定义上述保存的字段显示出来的格式。如果不配置则直接显示上面保存的Json字段信息。如{\"jobId\": 1, \"account\": \"a_account\"}。string | i18n国际化类型均可以利用 {{ 属性名 }} 使用上述savedFields中保存的属性值。","s":"配置说明","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置说明","p":246},{"i":253,"t":"如果管理员按上述配置示例中的jobChargeMetadata配置,保存了idJob与account的字段信息,displayFormats类型为i18n国际化类型格式,那么当用户查询消费记录页面时,语言为简体中文时用户可以看到的消费记录显示为: 当用户进入系统后通过右上角语言切换器切换当前显示语言为英文时,用户可以看到的消费记录显示为: 如果管理员按上述配置示例中的jobChargeMetadata配置,保存了idJob与account的字段信息,但没有配置displayFormats时,用户可以看到的消费记录显示为: 如果管理员没有配置jobChargeMetadata,则用户在消费记录不能看到该列的显示。","s":"配置效果展示","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","h":"#配置效果展示","p":246},{"i":255,"t":"备注 当前标准部署的SCOW数据库实体JobInfo中支持的字段为: idJob,account,user,partition,nodelist,jobName,cluster,timeSubmit,timeStart,timeEnd,gpu,cpusReq,memReq,nodesReq,cpusAlloc,memAlloc,nodesAlloc,timelimit,timeUsed,timeWait,qos,recordTime,tenant,accountBillingItemId,tenantBillingItemId,tenantPrice,accountPrice 具体情况请参考实际部署SCOW的数据库信息。","s":"entities/JobInfo","u":"/SCOW/docs/deploy/config/customization/custom-job-charge-metadata","h":"#entitiesjobinfo","p":246},{"i":257,"t":"您可以增加门户和管理系统的导航链接,点击这些链接会跳转到您指定的URL。 备注 当您点击导航链接时,我们会在当前链接后面加入查询参数?token={用来跟踪登录用户的状态的token},您可以通过token查询当前操作用户。","s":"自定义导航链接","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"","p":256},{"i":259,"t":"在门户系统中,您可以在config/portal.yaml文件中,根据备注修改所需要的配置。 config/portal.yaml # 新增导航链接相关配置 navLinks: # 链接名称 - text: \"\" # 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填 url: \"\" # 是否打开新的页面,可选填,默认值为false # openInNewPage: true # 图标路径,可选填 iconPath: \"\" # 二级导航,可选填 children: # 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children - text: \"\" url: \"\" iconPath: \"\"","s":"门户系统中的配置","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#门户系统中的配置","p":256},{"i":261,"t":"在管理系统中,您可以在config/mis.yaml文件中,根据备注修改所需要的配置。 config/mis.yaml # 新增导航链接相关配置 navLinks: # 链接名称 - text: \"\" # 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填 url: \"\" # 是否打开新的页面,可选填,默认值为false # openInNewPage: true # 图标路径,可选填 iconPath: \"\" # 可以看到这个链接的用户,可选填 # 用户类型: user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance allowedRoles: [] # 二级导航,可选填 children: # 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children - text: \"\" url: \"\" openInNewPage: iconPath: \"\" allowedRoles: []","s":"管理系统中的配置","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#管理系统中的配置","p":256},{"i":264,"t":"config/portal.yaml navLinks: - text: \"一级导航1\" iconPath: \"/desktop.jpg\" children: - text: \"二级导航1\" url: \"https://hahahaha1.1.com\" iconPath: \"/PKU_seal.svg\" - text: \"二级导航2\" url: \"https://hahahaha1.2.com\" - text: \"二级导航3\" url: \"https://hahahaha1.3.com\" iconPath: \"/earth.png\" - text: \"一级导航2\" url: \"https://hahahaha2.com\" children: [] iconPath: \"/earth.svg\" - text: \"一级导航3\" url: \"https://hahahaha3.com\" openInNewPage: true iconPath: \"/icon-test.png\" children: [] 门户系统用户可以阅览到的导航链接如下,绿色框线中的图标为系统默认导航链接图标。","s":"门户系统自定义导航链接配置示例","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#门户系统自定义导航链接配置示例","p":256},{"i":266,"t":"config/mis.yaml navLinks: - text: \"一级导航1\" iconPath: \"/icon-test.png\" children: - text: \"二级导航1\" url: \"https://hahahaha1.1.com\" iconPath: \"/earth.svg\" allowedRoles: [tenantFinance] - text: \"二级导航2\" url: \"https://hahahaha1.2.com\" allowedRoles: [tenantAdmin, platformAdmin] - text: \"一级导航2\" url: \"https://hahahaha2.com\" iconPath: \"/earth.png\" - text: \"一级导航3\" url: \"https://hahahaha3.com\" allowedRoles: [user] 当前登录用户的用户角色为accountOwner,tenantAdmin,platformAdmin时,他可以阅览到的导航链接如下,绿色框线中的图标为系统默认导航链接图标。","s":"管理系统自定义导航链接配置示例","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#管理系统自定义导航链接配置示例","p":256},{"i":268,"t":"属性 类型 应用系统 是否必填 解释 navLinks / / / / text 字符串 portal,mis 是 链接名称,SCOW导航栏上显示的名称 url 字符串 portal,mis 在二级导航中为必填 链接地址,自定义导航链接地址,一级导航链接地址为可选填,二级导航链接地址为必填。跳转时会在后面加入查询参数?token={用来跟踪登录用户的状态的token}。如没有配置一级导航的链接地址,点击该导航栏时将自动跳转至次级导航栏的第一项导航的链接地址。 openInNewPage 布尔类型 portal,mis 否 可以选填。如不设置,默认值为false,不打开新的页面。如果设置为true,则会在新的页面打开该导航链接。 iconPath 字符串 portal,mis 否 图标路径,用户上传到公共文件下的自定义导航链接图标路径。可选填,如未填写则显示系统默认导航链接图标。 allowedRoles 用户角色字符串列表 mis 否 管理系统指定可以看到该导航链接的角色列表,用户角色类型包括 user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance (用户角色详解请看下方角色配置说明)。如果没有指定,则不再限定用户角色,即所有用户都可以看到该导航链接。 children 导航内容的列表 portal,mis 否 二级导航列表,内容包括该系统下一级导航的所有内容,除url以外,内容类型以及是否必填与一级导航内容完全相同,但是不允许再继续设置chilidren,不允许继续添加三级导航。如果没有指定,则没有可以显示的二级导航链接。 备注 关于导航链接地址url的配置,与HTML标签的默认行为一致,以http://开头的url会自动被识别为外部路径。点击该导航栏时,会按照与url中填写的完全一致的路径进行跳转。 如果url中配置的链接地址是以/开头,或者没有以http://开头,则会被系统识别为内部路径。这时点击该导航栏跳转时,将根据已配置的自定义相对路径自动添加相对路径前缀。 示例: config/portal.yaml navLinks: - text: \"导航测试\" children: - text: \"子导航1\" url: \"http://www.navtest1.com\" - text: \"子导航2\" url: \"www.navtest2.com\" - text: \"子导航3\" url: \"/www.navtest3.com\" 假设我们的系统部署在https://scowtest.com下,管理员配置的相对路径为/scow。 那么按照上述自定义导航配置示例,点击导航测试时,会按照次级导航的第一个链接http://www.navtest1.com?token={用来跟踪登录用户的状态的token}进行跳转。与点击子导航1的跳转动作一致。 点击子导航2时,url会被识别为内部路径,将会拼接相对路径前缀和/,按照https://scowtest.com/scow/www.navtest2.com?token={用来跟踪登录用户的状态的token}进行跳转。 点击子导航3时,url同样会被识别为内部路径,将会拼接相对路径前缀,按照https://scowtest.com/scow/www.navtest3.com?token={用来跟踪登录用户的状态的token}进行跳转。","s":"配置解释","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#配置解释","p":256},{"i":270,"t":"系统支持自定义导航链接的灵活图标配置。 您可以通过把存放在和install.yml同级的public目录下图片文件的路径添加到iconPath来进行自定义图标配置。公共文件路径的使用详见公共文件。 您所添加的图片文件后缀应为常用图片文件.svg,.png或者.jpg等。 如您将图片icon.svg上传到公共文件public目录下,则您在配置时需填写iconPath:\"/icon.svg\"。 iconPath可以选填,如不填写,则将统一显示系统默认导航链接图标。","s":"自定义图标配置说明","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#自定义图标配置说明","p":256},{"i":272,"t":"在管理系统中进行配置自定义导航链接功能时,您可以通过在allowedRoles属性中添加角色字符串来自由配置能够看到该导航链接的角色。 在当前的SCOW系统中,我们支持以下角色: 角色名称 解释 user 未加入账户的普通用户 accountUser 在所有账户中均为普通用户 accountAdmin 在某个账户中为账户管理员 accountOwner 在某个账户中为账户拥有者 tenantAdmin 在租户中的角色:租户管理员 tenantFinance 在租户中的角色:租户财务人员 platformAdmin 在平台中的角色:平台管理员 platformFinance 在平台中的角色:平台财务人员 提示 如果您想更加详细的了解系统用户模型,请参考用户模型。","s":"角色配置说明","u":"/SCOW/docs/deploy/config/customization/custom-navlinks","h":"#角色配置说明","p":256},{"i":274,"t":"在管理系统中,您可以增加通过代码自定义收费规则,然后在配置文件中进行配置,就可以在创建新的计费项使用这个新的计量方式","s":"通过代码自定义收费规则","u":"/SCOW/docs/deploy/config/customization/custom-amount-strategies","h":"","p":273},{"i":276,"t":"增加配置目录:config/scripts,放置您编写计费规则函数的js文件,这些js文件可以是commonjs或者esm的。SCOW通过require(\"路径\")的方式读取这些脚本文件,并在计费的时候调用这个函数。例如,可以增加一个名为my-strategy.js的文件。文件应当默认导出一个如下的函数,返回一个数值: config/scripts/my-strategy.js // 系统自带的计费规则请参考 apps/mis-server/src/bl/jobPrice.ts 文件中的 amountStrategyFuncs // 本函数的计费模式:如果作业运行时间小于180s,则不扣费,如果使用了gpu,按照gpu分配量计费, // 如果otherAsyncRules为true,返回10,其余的按照cpu分配量计费 function myStrategy(jobInfo) { const otherAsyncRules = false; if (jobInfo.timeUsed < 180) { return 0; } else if (jobInfo.gpu) { return jobInfo.gpu; } else if (otherAsyncRules) { return new Promise((resolve) => { setTimeout(() => { resolve(10); }, 1000); // 模拟异步操作,在 1 秒后返回数值 10 }); } return jobInfo.cpusAlloc; } module.exports = myStrategy; 上述js文件对应的ts类型如下: // 作业的用量信息 export interface JobInfo { // 集群作业id jobId: number; // scow中的集群id cluster: string; // 分区 partition: string; qos: string; // 作业运行时间 timeUsed: number; // 分配CPU数tres_alloc cpusAlloc: number; // 使用GPU数。来自gres_req字段 gpu: number; // 申请的内存,来自tres_req memReq: number; // 分配的内存,来自tres_alloc memAlloc: number; // 账户 account: string; // 租户 tenant: string; } export function myStrategy(jobInfo: JobInfo): number | Promise { const otherAsyncRules = false; if (jobInfo.timeUsed < 180) { return 0; } else if (jobInfo.gpu) { return jobInfo.gpu; } else if (otherAsyncRules) { return new Promise((resolve) => { setTimeout(() => { resolve(10); }, 1000); // 模拟异步操作,在 1 秒后返回数值 10 }); } return jobInfo.cpusAlloc; }","s":"增加配置目录及自定义规则js文件","u":"/SCOW/docs/deploy/config/customization/custom-amount-strategies","h":"#增加配置目录及自定义规则js文件","p":273},{"i":278,"t":"config/mis.yaml # 新增自定义收费规则 customAmountStrategies: # 计费方式id,请勿重复,重复的话后面的计费方式将会覆盖前面的, # 定义后不能更改,自定义计费项会记录所使用的计费方式id,并存储到数据库里, # 其作用与\"max-cpusAlloc-mem\", \"max-gpu-cpusAlloc\", \"gpu\", \"cpusAlloc\"等同, # 若当前生效的自定义计费项使用了某自定义计费方式id,你不能删除它,否则系统将无法启动,如要删除,请先使该计费项失效 - id: \"strategy1\" # 可选,新的计量方式的显示名称,如不填写将使用id的内容 name: \"自定义收费计算方式1\" # 可选,计量方式描述 comment: \"自定义收费计算方式1,运行时间低于3分钟以下的作业不计费,大于或等于3分钟的按照gpu或cpu用量计算\" # 脚本文件路径,不包含config/scripts前缀,如my-strategy.js即等于config/scripts/my-strategy.js # 支持commonjs或者esm,内容不支持动态修改,修改后需重启系统 # 自定义计量方式的文件应该默认导出一个如下签名的函数: # type MyStrategy = (jobInfo: JobInfo) => number | Promise; # JobInfo为apps/mis-server/src/bl/PriceMap.ts中的JobInfo类型,提供作业的用量信息 script: \"my-strategy.js\"","s":"mis.yaml增加可选配置","u":"/SCOW/docs/deploy/config/customization/custom-amount-strategies","h":"#misyaml增加可选配置","p":273},{"i":280,"t":"配置完后,重启系统,然后在作业价格表页面进行配置,如下: 配置完成后,对应的平台/租户讲使用您的自定义计费方式来计算作业价格","s":"创建新的计费项使用这个新的计量方式","u":"/SCOW/docs/deploy/config/customization/custom-amount-strategies","h":"#创建新的计费项使用这个新的计量方式","p":273},{"i":282,"t":"您可以在门户和管理系统导航栏右侧的用户下拉菜单中增加链接,点击这些链接会跳转到您指定的URL。 备注 当您点击菜单链接时,我们会在当前链接后面加入查询参数?token={用来跟踪登录用户的状态的token},您可以通过token查询当前操作用户。","s":"自定义导航栏右侧的用户下拉菜单链接","u":"/SCOW/docs/deploy/config/customization/custom-userlinks","h":"","p":281},{"i":284,"t":"您可以在config/common.yaml文件中,根据备注修改所需要的配置,您设置的配置将会在门户系统和管理系统同时生效。 config/common.yaml # 在导航栏右侧用户下拉菜单中增加链接相关配置 userLinks: # 链接名称,必填 - text: \"\" # 链接地址,必填 url: \"\" # 是否打开新的页面,可选填,默认值为false # openInNewPage: true","s":"配置","u":"/SCOW/docs/deploy/config/customization/custom-userlinks","h":"#配置","p":281},{"i":286,"t":"config/common.yaml userLinks: # 链接名称,必填 - text: \"百度搜索\" # 链接地址,必填 url: \"https://www.baidu.com\" # 是否打开新的页面,可选填,默认值为false openInNewPage: true 用户可以阅览到的自定义用户下拉菜单配置示例如下:","s":"配置示例","u":"/SCOW/docs/deploy/config/customization/custom-userlinks","h":"#配置示例","p":281},{"i":288,"t":"属性 类型 应用系统 是否必填 解释 navLinks / / / / text 字符串 portal,mis 是 链接名称,SCOW用户下拉菜单上显示的名称 url 字符串 portal,mis 是 自定义链接地址,跳转时会在后面加入查询参数?token={用来跟踪登录用户的状态的token}。 openInNewPage 布尔类型 portal,mis 否 可以选填。如不设置,默认值为false,不打开新的页面。如果设置为true,则会在新的页面打开该链接。 备注 关于链接地址url的跳转,与自定义导航链接一致,与HTML标签的默认行为一致,以http://开头的url会自动被识别为外部路径。点击该菜单栏时,会按照与url中填写的完全一致的路径进行跳转。 如果url中配置的链接地址是以/开头,或者没有以http://开头,则会被系统识别为内部路径。这时点击该菜单栏跳转时,将根据已配置的自定义相对路径自动添加相对路径前缀。 示例: config/common.yaml userLinks: - text: \"菜单1\" url: \"http://www.navtest1.com\" - text: \"菜单2\" url: \"www.navtest2.com\" - text: \"菜单3\" url: \"/www.navtest3.com\" 假设我们的系统部署在https://scowtest.com下,管理员配置的相对路径为/scow。 那么按照上述自定义菜单配置示例,点击菜单1时,会链接http://www.navtest1.com?token={用来跟踪登录用户的状态的token}进行跳转。 点击菜单2时,url会被识别为内部路径,将会拼接相对路径前缀和/,按照https://scowtest.com/scow/www.navtest2.com?token={用来跟踪登录用户的状态的token}进行跳转。 点击菜单3时,url同样会被识别为内部路径,将会拼接相对路径前缀,按照https://scowtest.com/scow/www.navtest3.com?token={用来跟踪登录用户的状态的token}进行跳转。","s":"配置解释","u":"/SCOW/docs/deploy/config/customization/custom-userlinks","h":"#配置解释","p":281},{"i":290,"t":"当所使用的认证系统支持创建用户时,您可以使用管理系统内置的创建用户表单来完成创建用户的功能;用户可以在个人信息中修改密码,对于密码的规则,我们可以进行配置。 配置: config/common.yaml # 创建用户、修改密码时,密码的规则。必须设置 passwordPattern: # 正则表达式。下面为默认值 regex: ^(?=.*\\d)(?=.*[a-zA-Z])(?=.*[`~!@#\\$%^&*()_+\\-[\\];',./{}|:\"<>?]).{8,}$ # 出错时的消息。下面为默认值 errorMessage: 必须包含字母、数字和符号,长度大于等于8位","s":"创建用户/修改密码正则配置","u":"/SCOW/docs/deploy/config/customization/password-pattern","h":"","p":289},{"i":292,"t":"您存放在和install.yml同级的public目录下下的文件将可以在SCOW部署路径的/__public__ 路径下访问。 例如public/test.png,SCOW的base path为/scow,则可以在/scow/__public__/test.png下访问到这个文件。 更新public目录下的文件无需重启服务器。","s":"公共文件","u":"/SCOW/docs/deploy/config/customization/public-files","h":"","p":291},{"i":294,"t":"系统中支持自定义一些网页中的UI元素。支持自定义UI元素的组件有:","s":"自定义网页UI元素","u":"/SCOW/docs/deploy/config/customization/webui","h":"","p":293},{"i":296,"t":"favicon文件应取名为favicon.ico,放到config/icons下。 系统支持根据不同的来访域名显示不同的LOGO。将需要在某个域名下显示的LOGO文件放到config/logo/{域名}下即可。config/logo下的文件为对所有其他域名的LOGO图片。","s":"自定义favicon","u":"/SCOW/docs/deploy/config/customization/webui","h":"#自定义favicon","p":293},{"i":298,"t":"LOGO图片的文件名应为logo,后缀应为svg, png或者jpg,如果多个后缀名的文件同时存在,则顺序为svg, png, jpg。 有的图片在暗色主题下显示背景不佳,系统支持单独设置在暗色模式下显示的图片。在暗色模式下显示的图片的文件名应该为logo.dark,后缀名规则和上述规则相同。如果不存在暗色模式下的图片,则系统将显示正常模式下的图片。 将LOGO图片放入config/logo下即可。 系统支持根据不同的来访域名显示不同的LOGO。将需要在某个域名下显示的LOGO文件放到config/logo/{域名}下即可。config/logo下的文件为对所有其他域名的LOGO图片。 系统将导航栏LOGO的高度限制为40px。","s":"自定义导航栏LOGO","u":"/SCOW/docs/deploy/config/customization/webui","h":"#自定义导航栏logo","p":293},{"i":300,"t":"系统支持根据不同的域名显示不同的主题色以及footer文本。 请创建文件config/ui.yaml,并根据以下配置说明编写自己的配置 config/ui.yaml # footer部分的配置。可以不填。 # 对portal-web、mis-web和auth的登录界面有效 footer: # 对所有域名生效的footer文本,默认为空字符串 # 文本支持HTML的标签,将会被放在一个div中。 defaultText: \"\" # 对某特定来访域名生效的footer文本,可以不填 hostnameMap: # 从a.com的访问显示footer文本为a.com的文本 a.com: a.com的文本 # 主题色配置。可以不填 # 对portal-web和mis-web有效 primaryColor: # 对所有域名生效的主题色。默认为#9B0000 defaultColor: string # 对某特定来访域名生效的主题色,可以不填 hostnameMap: # 从a.com的访问的主题色为#000000 a.com: #000000","s":"自定义主题色和footer文本","u":"/SCOW/docs/deploy/config/customization/webui","h":"#自定义主题色和footer文本","p":293},{"i":302,"t":"系统使用host HTTP header判断来访的域名。如果您发现您设定的针对某个域名的图片没有显示,请检查系统收到的请求的host header的值是否正确。","s":"来访的域名","u":"/SCOW/docs/deploy/config/customization/webui","h":"#来访的域名","p":293},{"i":305,"t":"您可以在cli同级的install.yml文件中增加对scow自带网关的配置,可接受的格式为nginx的server可接受的属性配置。 例如,增加在当前系统nginx默认端口的http服务http://extra-web:3000,则编写 install.yml # 网关配置 gateway: # 更多nginx配置 extra: > location /extra { proxy_pass http://extra-web:3000; include includes/headers; include includes/websocket; } 您增加extra配置后,可以在使用./cli compose up -d启动scow后,使用 ./cli compose exec gateway sh 进入gateway服务,在 /etc/nginx/http.d 目录下的 default.conf 文件最下方查看到您添加的配置。 如果gateway服务启动失败,说明您的配置不符合规范,请保证其正确性。","s":"extra","u":"/SCOW/docs/deploy/config/gateway/config","h":"#extra","p":303},{"i":307,"t":"scow 网关默认不限制 HTTP Host 头 为了防止 host 头攻击的发生,可以通过设置域名白名单来限制 Host 的域名或 IP gateway: # 同 nginx server_name 配置 allowedServerName: example.com www.example.com 多个域名或 IP 间用空格间隔即可。","s":"域名白名单配置","u":"/SCOW/docs/deploy/config/gateway/config","h":"#域名白名单配置","p":303},{"i":309,"t":"设置 scow 访问协议http | https,将修改认证系统中 callbackUrl 的协议。 默认情况下 callbackUrl 的 protocol 为 http, 如果配置 https 代理,则建议设置该项确保用户体验的一致性。 gateway: # scow 访问协议,将影响 callbackUrl 的 protocol # callbackUrl 默认的 protocol 为 http protocol: \"http\"","s":"SCOW 访问协议","u":"/SCOW/docs/deploy/config/gateway/config","h":"#scow-访问协议","p":303},{"i":311,"t":"支持用户在common.yml文件中通过配置项systemLanguage自定义是否使用SCOW的页面国际化功能。 如果不使用页面国际化功能,则允许管理员指定系统唯一语言。 如果使用,允许管理员手动设置是否在用户没有保存过语言信息时跟随系统语言的自动判断。 如果在用户没有保存过语言信息时跟随系统语言自动判断,那么进入系统的初始语言优先从Cookies中保存的语言信息进行判断,如果其中没有保存的语言信息或者保存的语言信息不是SCOW系统的合法语言,则继续判断浏览器偏好语言。若二者均没有找到SCOW系统的合法语言,则初始语言为管理员配置的默认语言。 如果在用户没有保存过语言信息时不跟随系统的语言判断,则进入系统的初始语言优先判断用户是否已经保存过语言信息,即Cookies中是否存在SCOW系统的合法语言。如果存在,则使用Cookies中的语言为初始语言,如果不存在或者Cookies中的语言信息不是SCOW系统的合法语言,则初始语言为管理员配置的默认语言。 备注 当管理员通过配置项systemLanguage自定义系统语言时,无论是指定系统唯一语言或者是指定用户首次进入系统时的页面文本国际化的默认语言, 都需要确保配置的语言为当前系统的合法语言,否则系统无法启动。 目前SCOW系统下支持的合法语言为简体中文与英文,字符串枚举值为\"zh_cn\"和\"en\"。","s":"自定义系统语言","u":"/SCOW/docs/deploy/config/customization/custom-system-language","h":"","p":310},{"i":313,"t":"config/common.yml # 设置系统语言 可选配置 类型为对象或字符串,默认值为对象类型 # 1.systemLanguage对象类型 systemLanguage: # 可选,默认为true。 # 如果true,则SCOW在用户未手动选择语言时,自动优先根据cookies, 其次根据浏览器header判断语言,判断失败使用下方配置的default语言。 # 如果为false,则SCOW在首次进入系统用户未手动选择语言时使用下方配置的default语言, # 用户手动选择过语言之后优先从cookies中进行判断,cookies不存在合法语言信息则使用下方配置的默认语言。 autoDetectWhenUserNotSet: true # 默认语言,可选填,默认值为\"zh_cn\"。 # 类型必须为当前系统合法语言[\"zh_cn\",\"en\"]的字符串枚举值 default: \"zh_cn\" # 2.systemLanguage字符串类型 # 若systemLanguage配置为字符串,类型必须指定为当前系统合法语言[\"zh_cn\",\"en\"]的字符串枚举值 # SCOW直接使用此语言,不允许用户再进行语言切换 # systemLanguage: \"zh_cn\"","s":"配置示例","u":"/SCOW/docs/deploy/config/customization/custom-system-language","h":"#配置示例","p":310},{"i":315,"t":"1.如果没有配置systemLanguage,或配置为systemLanguage: {},则等同于下方类似配置。 config/common.yml systemLanguage: autoDetectWhenUserNotSet: true default: \"zh_cn\" 其含义为使用系统的页面国际化功能,允许用户在使用时手动切换语言。 初始语言跟随系统判断,即优先判断Cookies中保存的语言信息是否为SCOW系统的合法语言,如果Cookies中获取的语言信息不存在或不合法,则继续从浏览器偏好语言中选择语言。如果上述二者均不符合SCOW系统支持的合法语言,那么初始语言为配置的default: \"zh_cn\"。 2.如果autoDetectWhenUserNotSet配置为false。 config/common.yml systemLanguage: autoDetectWhenUserNotSet: false default: \"zh_cn\" 其含义为使用系统的页面国际化功能,允许用户在使用时手动切换语言。用户首次进入系统的初始语言不跟随系统判断。 即在Cookies中没有保存过语言信息或保存的语言信息不合法时,不再判断浏览器偏好语言,使用配置的default: \"zh_cn\"为初始语言。 3.如果不使用国际化功能。则需满足下方类似配置。 config/common.yml systemLanguage: \"zh_cn\" 其含义为指定系统唯一语言为简体中文。页面不再展示语言选择框。不再允许用户在使用SCOW时进行语言切换。","s":"配置结果示例","u":"/SCOW/docs/deploy/config/customization/custom-system-language","h":"#配置结果示例","p":310},{"i":317,"t":"在以下情况下,管理系统允许用户或者管理员在SCOW中创建用户。 初始化系统时,创建初始管理员账号 添加用户到账户时,用户不存在 租户管理员添加用户 由于不同机构创建用户的方式完全不同,为了兼容易用性和可扩展性,我们从SCOW中创建用户的方式具有**内置(builtin)和外置(external)**两种方式。","s":"创建用户配置","u":"/SCOW/docs/deploy/config/mis/create-user","h":"","p":316},{"i":319,"t":"当所使用的认证系统支持创建用户时,您可以使用管理系统内置的创建用户表单来完成创建用户的功能。 配置: config/mis.yaml createUser: # 允许用户创建用户。默认为true enabled: true # 使用SCOW内置的创建用户功能。默认为builtin type: builtin # 内置创建用户功能配置 builtin: # 创建用户时,用户ID的规则。不设置就没有限制 userIdPattern: # 正则表达式 regex: \"^[a-z][a-z0-9_]{2,19}$\" # 出错时的消息 errorMessage: \"要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串\" 创建时对密码的要求,请参考用户密码正则配置 备注 如果您的认证系统不支持创建用户,且使用了内置的创建用户功能,那SCOW将会在创建用户时并不会显示创建用户的界面,而会通过报错等方式发出一个通知,告知用户系统无法创建用户。","s":"内置创建用户页面","u":"/SCOW/docs/deploy/config/mis/create-user","h":"#内置创建用户页面","p":316},{"i":321,"t":"如果内置创建用户界面不合您的需求,您可以自己开发单独的创建用户界面。SCOW将会在用户从SCOW中创建用户时,跳转到您指定的地址中。 config/mis.yaml createUser: # 允许用户创建用户。默认为true enabled: true # 使用SCOW内置的创建用户功能 type: external # 外置创建用户界面 external: url: http://your-create-user-page.com SCOW在跳转时,还会给URL附上如下查询字符串(querystring),您的系统可以使用这些查询字符串获取用户的意图,并完成用户所指定的操作。 情形 增加的查询字符串 添加用户到账户时用户不存在 ?type=addUserToAccont&accountName=账户名&userId=用户ID&userName=用户姓名&token=操作用户的token 租户管理员创建用户 ?type=createUser&token=操作用户的token 初始化系统时创建初始管理员不支持跳转到外置创建用户界面。 下图为当添加用户到账户但用户不存在时,UI交互的情况:","s":"外置创建用户界面","u":"/SCOW/docs/deploy/config/mis/create-user","h":"#外置创建用户界面","p":316},{"i":323,"t":"要想关闭SCOW的创建用户的功能,可以在配置文件中配置 config/mis.yaml createUser: # 在SCOW中关闭创建用户功能 enabled: false 当您关闭此功能时,UI上所有关于创建用户的功能的链接都会被隐藏。","s":"关闭SCOW中创建用户功能","u":"/SCOW/docs/deploy/config/mis/create-user","h":"#关闭scow中创建用户功能","p":316},{"i":325,"t":"当管理系统部署完成后,访问部署路径的/init路径下,即可进行管理系统的初始化页面。","s":"管理系统初始化","u":"/SCOW/docs/deploy/config/mis/init","h":"","p":324},{"i":327,"t":"在第一个选项卡里,您可以导入已有用户信息。根据所使用的调度器不同,获取用户信息的方式也有所不同。 slurm","s":"导入已有用户信息","u":"/SCOW/docs/deploy/config/mis/init","h":"#导入已有用户信息","p":324},{"i":329,"t":"在第二个选项卡里,您可以查看系统当前默认租户下的用户和账户,以及设置用户的平台角色和租户角色。其中平台角色包括平台管理员和财务人员,租户角色包括租户管理员和财务人员。","s":"查看系统的用户和账户,设置初始管理员用户","u":"/SCOW/docs/deploy/config/mis/init","h":"#查看系统的用户和账户设置初始管理员用户","p":324},{"i":331,"t":"在第三个选项卡里,您可以添加系统的初始管理员用户。初始管理员既是平台管理员也是租户管理员。注意,这里添加的用户的用户ID必须和认证系统里的用户ID相同。","s":"添加初始管理员用户","u":"/SCOW/docs/deploy/config/mis/init","h":"#添加初始管理员用户","p":324},{"i":333,"t":"在第三个选项卡中,您可以设置作业价格表。请参考计费收费模型文档了解系统计费收费模型以及如何修改作业价格表。 提示 若某个(集群,分区,QOS)项未设置计费价格,则使用该(集群,分区,QOS)项提交的作业将不会被导入到已完成的作业列表!","s":"编辑作业价格表","u":"/SCOW/docs/deploy/config/mis/init","h":"#编辑作业价格表","p":324},{"i":335,"t":"当您完成系统的初始化后,请一定点击并确认完成初始化按钮。 提示 未完成初始化的系统将会允许任何用户执行上述三个操作,所以请一定要确认初始化!","s":"完成初始化","u":"/SCOW/docs/deploy/config/mis/init","h":"#完成初始化","p":324},{"i":337,"t":"本节介绍如何配置管理系统。","s":"配置管理系统","u":"/SCOW/docs/deploy/config/mis/intro","h":"","p":336},{"i":339,"t":"服务器会定期地从调度器适配器中获取已完成的作业信息,并根据规则对租户和账户进行扣费操作。详细计费规则请参考计费收费。","s":"管理系统同步作业信息","u":"/SCOW/docs/deploy/config/mis/intro","h":"#管理系统同步作业信息","p":336},{"i":341,"t":"修改安装配置文件 install.yaml # 确保管理系统会部署 mis: # 如果管理系统部署在`/mis`路径下,设置\"MIS.BASE_PATH\"为 \"/mis\"。默认为\"/\" basePath: \"/mis\" # 如果将会部署在域名的根目录下,设置\"MIS.BASE_PATH\"为 \"/\" basePath: \"/\" # dbPassword为管理系统数据库密码 # 在系统第一次启动前可自由设置,使用此密码可以以root身份登录数据库 # 一旦数据库启动后即不可修改 # 必须长于8个字符,并同时包括字母、数字和符号 dbPassword: \"must!chang3this\" 提示 如果想自定义系统部署的相对路径,或者了解MIS.BASE_PATH的含义,请参考自定义相对路径。","s":"修改安装配置文件","u":"/SCOW/docs/deploy/config/mis/intro","h":"#修改安装配置文件","p":336},{"i":343,"t":"根据调度器种类的不同,需要在集群上部署对应的调度器适配器 slurm","s":"部署调度器适配器","u":"/SCOW/docs/deploy/config/mis/intro","h":"#部署调度器适配器","p":336},{"i":345,"t":"根据集群所使用的调度器的不同,参考对应文档更新config/clusters/{集群ID}.yml文件: slurm","s":"更新集群配置文件","u":"/SCOW/docs/deploy/config/mis/intro","h":"#更新集群配置文件","p":336},{"i":347,"t":"在config/mis.yaml文件中,根据备注修改所需要的配置 config/mis.yaml # 管理系统数据库的信息。可以不修改 db: host: db port: 3306 user: root password: mysqlrootpassword dbName: scow # 获取作业相关配置 fetchJobs: # 从哪个时间点开始获取作业 # (日期格式ISO 8601,且需在末尾添加时区,推荐使用协调世界时(UTC)) # startDate: \"2000-01-01T00:00:00Z\" # 限制一次获取的作业数量 # batchSize: 1000 # 周期性获取数据 periodicFetch: # 是否开启 enabled: true # 周期的cron表达式 cron: \"*/10 * * * *\" # 周期性同步scow与调度器(如slurm)账户用户封锁状态的配置 periodicSyncUserAccountBlockStatus: # 是否开启 enabled: true # 周期的cron表达式 cron: \"0 4 * * *\" # 预定义的充值类型 predefinedChargingTypes: - 测试 # 创建账户时,账户名的规则。不设置就没有限制 accountNamePattern: # 正则表达式 regex: \"^[a-z][a-z0-9_]{2,19}$\" # 出错时的消息,对应上面的正则表达式 # 此文本支持国际化 errorMessage: \"要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串\" createUser: # 允许用户创建用户。默认为true enabled: true # 使用SCOW内置的创建用户功能。默认为builtin type: builtin # 内置创建用户功能配置 builtin: # 创建用户时,用户ID的规则。不设置就没有限制 userIdPattern: # 正则表达式 regex: \"^[a-z][a-z0-9_]{2,19}$\" # 出错时的消息 errorMessage: \"要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串\" # errorMessage: # i18n: # default: \"要求输入长度为3-20位,小写字母、数字、下划线组成的字符串,且以小写字母开头\" # en: \"It is required to enter a string of 3-20 characters in length, consisting of lowercase letters, numbers, and underscores, and starting with a lowercase letter.\" # zh_cn: \"要求输入长度为3-20位,由小写字母、数字、下划线组成,且以小写字母开头的字符串\" # # 新增导航链接相关配置 # navLinks: # # 链接名 # - text: \"一级导航1\" # # 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填 # url: \"\" # # 是否打开新的页面,可选填,默认值为false # # openInNewPage: true # # 自定义图标地址,可选填 # # iconPath: \"\" # # 可以看到这个链接的用户,可选填 # # 用户类型: user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance # allowedRoles: [] # # 二级导航,可选填 # children: # # 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children # - text: \"二级导航1\" # url: \"https://hahahaha1.1.com\" # # openInNewPage: true # iconPath: \"\" # allowedRoles: [accountAdmin, accountOwner] # - text: \"二级导航2\" # url: \"https://hahahaha1.2.com\" # allowedRoles: [tenantAdmin, platformAdmin] # - text: \"一级导航2\" # url: \"https://hahahaha2.com\"","s":"编写后端服务配置","u":"/SCOW/docs/deploy/config/mis/intro","h":"#编写后端服务配置","p":336},{"i":349,"t":"运行./cli compose up -d启动管理系统。","s":"启动服务","u":"/SCOW/docs/deploy/config/mis/intro","h":"#启动服务","p":336},{"i":351,"t":"查看系统初始化文档初始化系统信息。","s":"系统初始化","u":"/SCOW/docs/deploy/config/mis/intro","h":"#系统初始化","p":336},{"i":354,"t":"在集群中选定一个节点作为slurm节点。此节点需要部署slurm适配器并保证正确运行。","s":"选定slurm节点和部署slurm适配器","u":"/SCOW/docs/deploy/config/mis/schedulers/slurm","h":"#选定slurm节点和部署slurm适配器","p":352},{"i":356,"t":"在config/clusters/{使用slurm的集群的ID}.yml中,修改配置(使用适配器的ip地址和端口号) config/clusters/{使用slurm的集群的集群ID}.yml # ... adapterUrl: localhost:8972","s":"修改集群配置","u":"/SCOW/docs/deploy/config/mis/schedulers/slurm","h":"#修改集群配置","p":352},{"i":358,"t":"如果您已有一个slurm集群,在管理系统部署完成后,可以使用本功能将slurm中的用户信息导入本系统。 系统会从slurm集群中读取用户和账户信息,显示在表格中。不存在名字的用户的初始名字默认为自己的ID。 系统默认将a_用户ID == 账户ID的用户设置为拥有者。此外,您也可以在系统中选择拥有者,需要注意系统要求账户的拥有者字段不能为空。 在系统初始化时,或者系统初始化后使用平台管理员用户登录后选择平台管理->导入用户,即可使用导入用户功能。如果需要将新加入的账户都加入白名单中,请勾选将所有账户加入白名单。点击确定,即可将所有账户导入指定租户中。","s":"导入已有用户信息","u":"/SCOW/docs/deploy/config/mis/schedulers/slurm","h":"#导入已有用户信息","p":352},{"i":360,"t":"为了保存如计费收费等更多信息,SCOW自己维护一套用户账户信息,并在进行各种与用户信息有关的操作时自动将这个操作同步到slurm的用户账户信息中。 为了保证SCOW操作的正确性,我们要求SCOW的用户信息为slurm用户信息的子集。 以下情况是允许的: slurm中或者认证系统中存在的用户SCOW中不存在 在SCOW创建这个用户时(用户ID和已有用户相同),SCOW将会提示认证系统中已存在此用户,并允许用户直接在SCOW中添加用户 slurm中存在的账户SCOW中不存在 在SCOW中创建这个账户时,如果slurm中已经存在,SCOW将直接添加到SCOW数据库中,并尝试把拥有者加入账户中 slurm中一个用户存在于一个账户中,SCOW中没有 在SCOW中将这个用户加入账户时,如果slurm中用户已经存在于账户中,SCOW将会直接在slurm的用户信息中添加这个用户账户关系 以下情况在进行和slurm有关的操作(如封锁解封)时会出错,在进行只和SCOW有关的操作(如设置限额、设置用户管理员权限等)时不会报错: SCOW中一个用户于一个账户中,slurm中没有 SCOW中存在的用户或者账户时slurm中不存在 我们建议,部署好SCOW系统后,所有SCOW中支持的功能都从SCOW中操作。如果需要一些SCOW中不支持的操作,请完成操作后立即手动修改数据库,使SCOW和slurm的用户信息同步。","s":"SCOW和slurm用户信息的关系","u":"/SCOW/docs/deploy/config/mis/schedulers/slurm","h":"#scow和slurm用户信息的关系","p":352},{"i":363,"t":"资源状态功能通过嵌入配置好的 Grafana 面板查看资源的状态。 grafana 版本推荐使用较新的版本,否则可能会出现数据无法获取或者样式异常的情况。SCOW 在进行测试时使用的是 Grafana 10.2.2 版本,推荐使用该版本。 目前提供两种嵌入方式","s":"资源状态","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","h":"#资源状态","p":361},{"i":365,"t":"直接嵌入指使用 iframe 将 grafana 的实际面板的 url 嵌入到 scow 管理系统中。将在 scow 管理系统的平台管理下添加【集群监控】-【资源状态】页面。 修改 grafana 配置文件 grafana.ini,添加 allow_embedding 配置如下,允许 grafana 能够嵌入页面。 ...other config [security] allow_embedding = true 在 mis.yaml 文件中添加 clusterMonitor 相关配置 # 集群监控配置 clusterMonitor: # 协议 + ip/域名 + 端口,默认为 http://127.0.0.1:4000 grafanaUrl: \"http://127.0.0.1:4000\" # 资源状态相关配置 resourceStatus: # 是否开启资源状态,默认不开启 enabled: true # 是否使用代理的方式,默认为 false proxy: false # 默认面板 id,默认设置为 shZOtO4Sk dashboardUid: \"shZOtO4Sk\" 将 grafanaUrl 替换为实际的 grafana 地址,并将 dashboardUid 设置为你期望进入资源状态页面展示的面板 id 即可。","s":"1. 直接嵌入","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","h":"#1-直接嵌入","p":361},{"i":367,"t":"如果你不希望将 grafana 的地址公开,可以使用代理的方式嵌入 grafana 面板。开启代理后,对 grafana 的请求将发送到 scow 的后端然后代理到 grafana。 修改 grafana 配置文件 grafana.ini,添加 root_url 和 allow_embedding 配置。将如下配置中的 SCOW 地址替换为真实的地址。例如 http://127.0.0.1/mis ..other config [server] root_url=[SCOW 管理系统地址]/api/admin/monitor/getResourceStatus [security] allow_embedding = true 在 mis.yaml 文件中添加 clusterMonitor 相关配置 # 集群监控配置 clusterMonitor: # 协议 + ip/域名 + 端口,默认为 http://127.0.0.1:4000 grafanaUrl: \"http://127.0.0.1:4000\" # 资源状态相关配置 resourceStatus: # 是否开启资源状态,默认不开启 enabled: true # 是否使用代理的方式,默认为 false proxy: true # 默认面板 id,默认设置为 shZOtO4Sk dashboardUid: \"shZOtO4Sk\" 同样你需要将 grafanaUrl 替换为实际的 grafana 地址,并将 dashboardUid 设置为你期望进入资源状态页面展示的面板 id。然后将 proxy 选项改为 true 即可开启代理模式嵌入 grafana。 备注 注意:目前代理的模式暂不支持 websocket 连接,会影响 grafana 部分实时数据更新的功能","s":"2. 代理","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","h":"#2-代理","p":361},{"i":369,"t":"可以查看资源达到一定使用限额后触发的告警日志,目前仅支持 scow 提供的告警规则查看。详细的配置信息可以查看部署集群监控。完成 grafana 数据源、Prometheus、Alertmanager、alert-db等配置后,修改 mis.yaml 文件,在 clusterMonior 下添加如下配置。 # 集群监控配置 clusterMonitor: # 告警日志配置 alarmLogs: # 是否开启告警日志,默认不开启 enabled: true 开启后将添加【集群监控】-【告警日志】页面","s":"告警日志","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","h":"#告警日志","p":361},{"i":371,"t":"查看部署集群监控","s":"参考配置","u":"/SCOW/docs/deploy/config/mis/cluster-monitor","h":"#参考配置","p":361},{"i":374,"t":"北太天元(Baltamatica)是面向科学计算与工程计算的国产通用型科学计算软件。本软件提供科学计算、可视化、交互式程序设计,具备强大的底层数学函数库,支持数值计算、数据分析、数据可视化、 数据优化、算法开发等工作,并通过SDK与API接口,扩展支持各类学科与行业场景,为各领域科学家与工程师提供优质、可靠的科学计算环境。","s":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","h":"#软件简介","p":372},{"i":376,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Baltamatica","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","h":"#前提条件","p":372},{"i":378,"t":"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate mv TurboVNC.repo /etc/yum.repos.d # 安装最新版本 yum install turbovnc -y","s":"1、TurboVNC安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","h":"#1turbovnc安装","p":372},{"i":380,"t":"构建Singularity镜像需要先安装Singularity软件,具体安装步骤请参考RStudio应用配置附章中的Singularity安装。 创建容器并进行北太天元安装 # 拉取docker镜像创建sandbox格式容器 singularity build --sandbox balt-sing docker://ubuntu:20.04 # 通过交互的方式进入容器镜像,进行北太天元软件的安装 singularity shell -w balt-sing # 在镜像内安装一些需要用到的工具 apt update apt install vim -y # 在镜像内安装北太天元软件,下方文件名修改为对应的安装包名 # 安装时需要选择一些地域,选择Asia HongKong Chinese等 apt install ./baltamatica***.deb #运行下述命令解决libQt5Core.so.5链接失败的问题 apt install binutils -y strip --remove-section=.note.ABI-tag /opt/Baltamatica/lib/libQt5Core.so.5 # 修改北太天元启动脚本 vim /opt/Baltamatica/bin/baltamatica.sh # 修改export BALTAM_PATH=$(cd ${0%/*}/..;pwd)为export BALTAM_PATH=\"/opt/Baltamatica\" # 安装完毕退出容器 exit # 将容器打包 singularity build balt-sing.sif balt-sing/ 将Singularity镜像拷贝到共享存储,以便在计算节点可以访问并运行: cp balt-sing.sif /data/software/baltamatica/ 下载思源黑体,解决不能正确显示中文的问题 wget https://github.com/adobe-fonts/source-han-sans/releases/download/2.004R/SourceHanSansCN.zip unzip SourceHanSansCN.zip # 转存到共享存储 mv SourceHanSansCN/CN /data/software/baltamatica/SubsetOTF 下面讲解如何配置使用Baltamatica。","s":"2、构建Baltamatica镜像","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","h":"#2构建baltamatica镜像","p":372},{"i":382,"t":"创建config/apps目录,在里面创建baltamatica.yml文件,其内容如下: config/apps/baltamatica.yml # 这个应用的ID id: baltamatica # 这个应用的名字 name: baltamatica # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | export SINGULARITY_VERSION=\"singularity/3.9.2\" module switch ${SINGULARITY_VERSION} unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS # Disable startup services xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false xfconf-query -c xfce4-session -p /startup/gpg-agent/enabled -n -t bool -s false xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-filesystem -s false --create -t bool xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-removable -s false --create -t bool # 配置默认面板 if [ ! -d \"${HOME}/.config/xfce4/panel/launcher-9\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-10\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-11\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-12\" ]; then cp -f /etc/xdg/xfce4/panel/default.xml ${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml fi # 桌面终端默认进入到家目录 cd ~ startxfce4 & mkdir ~/.fonts cp -r /data/software/baltamatica/SubsetOTF ~/.fonts singularity exec /data/software/baltamatica/balt-sing.sif baltamatica.sh # 配置HTML表单 attributes: - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/baltamatica","h":"#配置文件","p":372},{"i":384,"t":"由于已封锁的账户将会在slurm集群重启后被解封,且slurm集群可能在SCOW运行时重启,但并不会给scow发送信息,所以SCOW在启动时将会自动刷新一次slurm账户的封锁/解封,用户的封锁状态,同时默认在每天凌晨4点执行一次同步。 如果您对时效性有要求,可以在slurm(其它调度器也一样,此处以slurm为例)集群重启后,手动执行一下平台调试->封锁状态同步的立刻同步调度器账户和用户封锁状态的功能。 如果您不需要此功能,也可以自定义配置: 在config/mis.yaml文件中,根据备注修改所需要的配置 config/mis.yaml # 周期性同步scow与调度器(如slurm)账户用户封锁状态的配置 periodicSyncUserAccountBlockStatus: # 是否开启 enabled: true # 周期的cron表达式 cron: \"0 4 * * *\"","s":"刷新调度器账户、用户封锁状态","u":"/SCOW/docs/deploy/config/mis/schedulers/sync","h":"","p":383},{"i":387,"t":"Emacs是一个非常强大的文本编辑器和开发环境,它有一个强大的命令行界面和一系列图形用户界面,它支持多个操作系统,包括Unix、Linux、Windows和macOS。","s":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","h":"#软件简介","p":385},{"i":389,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Emacs","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","h":"#前提条件","p":385},{"i":391,"t":"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate mv TurboVNC.repo /etc/yum.repos.d # 安装最新版本 yum install turbovnc -y","s":"1、TurboVNC安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","h":"#1turbovnc安装","p":385},{"i":393,"t":"yum install emacs -y 下面讲解如何配置使用Emacs。","s":"2、Emacs安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","h":"#2emacs安装","p":385},{"i":395,"t":"创建config/apps目录,在里面创建emacs.yml文件,其内容如下: config/apps/emacs.yml # 这个应用的ID id: emacs # 这个应用的名字 name: emacs # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | emacs -mm # 配置HTML表单 attributes: - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/emacs","h":"#配置文件","p":385},{"i":398,"t":"Xfce Desktop是一款轻量级的桌面环境,它被设计为在资源受限的系统上运行。具有简洁、快速、可定制的特点,它的用户界面风格非常清爽、现代。与其他桌面环境相比,它占用的系统资源非常少,同时也提供了一些常见的工具和应用程序,例如文件管理器、终端模拟器、文本编辑器、图像查看器和音频播放器等。 KDE是一个开源的桌面环境,全称为K Desktop Environment(KDE)。它提供了一个功能丰富、可定制和用户友好的图形化桌面环境,旨在为Linux和类UNIX操作系统提供先进的用户体验。 MATE是一个基于传统GNOME 2桌面环境的轻量级桌面环境,旨在提供传统的桌面体验和用户友好的界面。 Cinnamon是一个现代化的桌面环境,最初由Linux Mint开发,旨在提供直观、易用且吸引人的用户体验。它的设计目标是为用户提供一个熟悉而高效的桌面环境,具有直观的界面和强大的功能。","s":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#软件简介","p":396},{"i":400,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Xfce Desktop、K Desktop Environment(KDE)、MATE和cinnamon桌面环境","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#前提条件","p":396},{"i":402,"t":"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate mv TurboVNC.repo /etc/yum.repos.d # 安装最新版本 yum install turbovnc -y","s":"1、TurboVNC安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#1turbovnc安装","p":396},{"i":404,"t":"yum groupinstall \"Xfce\" -y yum groupinstall \"KDE Plasma Workspaces\" -y yum groupinstall \"MATE Desktop\" -y yum install cinnamon -y 下面讲解如何配置使用Desktop。","s":"3、桌面环境安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#3桌面环境安装","p":396},{"i":406,"t":"创建config/apps目录,在里面创建desktop.yml文件,其内容如下: config/apps/desktop.yml # 这个应用的ID id: desktop # 这个应用的名字 name: desktop # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 准备脚本 beforeScript: | # 桌面会话临时数据存放位置 export XDG_RUNTIME_DIR=\"$(mktemp -d)\" # 此X Session的xstartup脚本 xstartup: | unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS case ${desktop_type} in \"kde\") cd ~ startkde ;; \"mate\") cd ~ mate-session ;; \"cinnamon\") cd ~ cinnamon-session ;; *) # Disable startup services xfconf-query -c xfce4-session -p /startup/ssh-agent/enabled -n -t bool -s false xfconf-query -c xfce4-session -p /startup/gpg-agent/enabled -n -t bool -s false xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-filesystem -s false --create -t bool xfconf-query --channel xfce4-desktop -p /desktop-icons/file-icons/show-removable -s false --create -t bool # 配置默认面板 if [ ! -d \"${HOME}/.config/xfce4/panel/launcher-9\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-10\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-11\" ] || [ ! -d \"${HOME}/.config/xfce4/panel/launcher-12\" ]; then cp -f /etc/xdg/xfce4/panel/default.xml ${HOME}/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-panel.xml fi # 桌面终端默认进入到家目录 cd ~ # 启动xfce桌面环境 startxfce4 esac # 配置HTML表单 attributes: - type: select name: desktop_type label: 请选择桌面环境 select: - value: xfce label: Xfce Desktop - value: kde label: K Desktop Environment(KDE) - value: mate label: MATE - value: cinnamon label: Cinnamon - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#配置文件","p":396},{"i":409,"t":"系统管理员可通过禁用Xfce PolicyKit验证代理解决: # 将需要启动xfce桌面的节点上xfce-polkit.desktop文件重命名 mv /etc/xdg/autostart/xfce-polkit.desktop /etc/xdg/autostart/xfce-polkit.desktop.disabled","s":"Q1:首次连接进入到Xfce桌面时,会报XFCE PolicyKit Agent的弹窗错误","u":"/SCOW/docs/deploy/config/portal/apps/apps/desktop","h":"#q1首次连接进入到xfce桌面时会报xfce-policykit-agent的弹窗错误","p":396},{"i":412,"t":"Jupyter Notebook是一个开源的Web应用程序,可用于创建和共享文档,其中包括代码、文本、数学方程式和可视化效果。","s":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#软件简介","p":410},{"i":414,"t":"请确保在需要运行应用的计算节点上安装有Jupyter Notebook。 Jupyter Notebook建议通过Anaconda进行安装(具体安装请参考附章中Anaconda安装章节),Anaconda集成了Jupyter Notebook,安装上Anaconda发行版后也就自动安装上了Jupyter Notebook,安装好Anaconda后如果Jupyter Notebook没有自动安装成功的话,在终端输入以下命令进行安装: conda install jupyter notebook Jupyter Notebook运行时依赖的Python环境,建议用户可自行使用conda创建所需的Python环境,并在该环境内安装ipykernel,环境创建好后,用户可以通过两种方式来使用: 在启动Jupyter应用时,用户可填入所创建的conda环境名来使用该Python环境; 在Jupyter启动后,在Kernel菜单切换到新创建的Python环境。 以下示例创建一个Python3.7的虚拟环境: # 创建一个Python版本为3.7的conda虚拟环境,环境名字为python3.7 conda create -n python3.7 python=3.7 -y # 激活进入到python3.7环境 conda activate python3.7 # 在新的环境安装ipykernel conda install ipykernel # 将新环境的ipykernel到base环境的jupyter中 python -m ipykernel install --user --name python3.7 --display-name \"python3.7\" 下面讲解如何配置使用Jupyter Notebook。","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#前提条件","p":410},{"i":416,"t":"创建config/apps目录,在里面创建jupyter.yml文件,其内容如下: config/apps/jupyter.yml # 这个应用的ID id: jupyter # 这个应用的名字 name: jupyter # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: absolute # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) export SALT=123 export PASSWORD_SHA1=\"$(echo -n \"${PASSWORD}${SALT}\" | openssl dgst -sha1 | awk '{print $NF}')\" export CONFIG_FILE=\"${PWD}/config.py\" export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname) export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}') export CONDA_VERSION=\"anaconda/3-2023.03\" # 运行任务的脚本。可以使用准备脚本定义的变量 script: | for m in ${textModuleName}; do module switch ${m}; done conda -V &> /dev/null if [ $? -ne 0 ]; then module switch ${CONDA_VERSION} fi # init conda eval \"$($(which conda) shell.${SHELL_NAME} hook)\" if [[ \"\" == \"${textCondaName}\" ]]; then textCondaName=\"base\" fi conda activate ${textCondaName} if [ $? -ne 0 ]; then exit 1 fi ( umask 077 cat > \"${CONFIG_FILE}\" << EOL c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.port = ${PORT} c.NotebookApp.port_retries = 0 c.NotebookApp.password = u'sha1:${SALT}:${PASSWORD_SHA1}' c.NotebookApp.open_browser = False c.NotebookApp.base_url = \"${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/\" c.NotebookApp.allow_origin = '*' c.NotebookApp.disable_check_xsrf = True EOL ) cd ~ jupyter notebook --config=${CONFIG_FILE} --notebook-dir=${HOME} # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单 attributes: - type: text name: textModuleName label: Modules required: false # 输入需要额外加载的环境模块列表 placeholder: 输入需要额外加载的环境模块列表,模块之间用空格分开(比如:python/2.7.5 code-server/4.9.1) # 提示信息 - type: text name: textCondaName label: conda环境 required: false # 输入运行Jupyter的conda环境,默认使用base环境 placeholder: 输入conda虚拟环境名称 # 提示信息 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\" 增加了此文件后,刷新WEB浏览器即可。 对于Jupyter,export以下变量的含义是: SLURM_COMPUTE_NODE_HOSTNAME: 计算节点的主机名 CONFIG_FILE: 指定Jupyter的配置文件 SHELL_NAME:当前会话的shell名称 CONDA_VERSION:系统默认的conda版本","s":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#配置文件","p":410},{"i":419,"t":"Anaconda建议安装在共享存储上,集群各节点只需要挂载上共享存储,并配置好环境变量后便可以使用。安装Anaconda之前请先预留6GB存储空间。 下载Anaconda安装脚本: wget https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-2023.03-Linux-x86_64.sh 脚本下载后,输入以下命令来验证下载的安装脚本文件是否完整: sha256sum Anaconda3-2023.03-Linux-x86_64.sh 执行安装: bash Anaconda3-2023.03-Linux-x86_64.sh 安装过程中,看到提示“In order to continue the installation process, please review the license agreement.”(“请浏览许可证协议以便继续安装。”),点击“Enter”查看“许可证协议”。 在“许可证协议”界面将屏幕滚动至底,输入“yes”表示同意许可证协议内容。然后进行下一步。 安装过程中,提示选择Anaconda的安装路径,这里指定安装到共享存储上:/data/software/anaconda/3-2023.03。 安装完成后,会提示是否通过安装程序运行conda init来初始化Anaconda。 如果安装时不进行初始化的话,用户后续可以执行以下命令手动进行初始化: # 命令中/data/software/anaconda/3-2023.03根据实际安装路径进行替换 # 命令中shell.bash根据实际使用会话shell替换成相应的shell eval \"$(/data/software/anaconda/3-2023.03/bin/conda shell.bash hook)\" conda init 验证是否安装成功,执行以下命令,如果显示包名和版本号,说明Anaconda、Jupyter Notebook和JupyterLab都已经安装成功。","s":"1、Anaconda安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#1anaconda安装","p":410},{"i":421,"t":"配置已安装好的Anaconda的modulefile文件: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/anaconda cat >> ${MODULEPATH}/anaconda/3-2023.03 << EOF #%Module1.0##################################################################### ## ## Anaconda3-2023.03 modulefile ## proc ModulesHelp { } { puts stderr \"\\tThis module defines environment variables, aliases and add PATH for Anaconda\" puts stderr \"\\tVersion Anaconda3-2023.03\" InfoOut } ## Set module name and version module-whatis \"Anaconda3-2023.03\" ## Set version set version 3-2023.03 ## Set the path to the installation directory set anaconda_root /data/software/anaconda/3-2023.03 ## Add anaconda bin directory to PATH prepend-path PATH $anaconda_root/bin ## Add anaconda library directory to LD_LIBRARY_PATH prepend-path LD_LIBRARY_PATH $anaconda_root/lib ## Add Anaconda include directory to CPATH prepend-path CPATH $anaconda_root/include ## Set environment variables for Anaconda setenv ANACONDA_HOME $anaconda_root setenv CONDA_ENVS_PATH $anaconda_root/envs setenv CONDA_PKGS_DIRS $anaconda_root/pkgs EOF","s":"2、添加modulefile文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyter","h":"#2添加modulefile文件","p":410},{"i":424,"t":"JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。","s":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#软件简介","p":422},{"i":426,"t":"请确保在需要运行应用的计算节点上安装有JupyterLab。","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#前提条件","p":422},{"i":428,"t":"JupyterLab是Jupyter Notebook的下一代版本,提供了更强大的用户界面和功能,可用于更复杂的工作流程和项目。 JupyterLab建议通过Anaconda进行安装,Anaconda集成了JupyterLab,安装上Anaconda发行版后也就自动安装上了JupyterLab,安装好Anaconda后如果JupyterLab没有自动安装成功的话,在终端输入以下命令进行安装: conda install jupyterlab JupyterLab运行时依赖的Python环境,建议用户可自行使用conda创建所需的Python环境,并在该环境内安装ipykernel,环境创建好后,用户可以通过两种方式来使用: 在启动JupyterLab应用时,用户可填入所创建的conda环境名来使用该Python环境; 在JupyterLab启动后,在Kernel菜单切换到新创建的Python环境。 以下示例创建一个Python3.7的虚拟环境: # 创建一个Python版本为3.7的conda虚拟环境,环境名字为python3.7 conda create -n python3.7 python=3.7 -y # 激活进入到python3.7环境 conda activate python3.7 # 在新的环境安装ipykernel conda install ipykernel # 将新环境的ipykernel到base环境的jupyter中 python -m ipykernel install --user --name python3.7 --display-name \"python3.7\" 下面讲解如何配置使用JupyterLab。","s":"1、软件介绍","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#1软件介绍","p":422},{"i":430,"t":"创建config/apps目录,在里面创建jupyterlab.yml文件,其内容如下: config/apps/jupyterlab.yml # 这个应用的ID id: jupyterlab # 这个应用的名字 name: jupyterlab # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: absolute # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) export SALT=123 export PASSWORD_SHA1=\"$(echo -n \"${PASSWORD}${SALT}\" | openssl dgst -sha1 | awk '{print $NF}')\" export CONFIG_FILE=\"${PWD}/config.py\" export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname) export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}') export CONDA_VERSION=\"anaconda/3-2023.03\" # 运行任务的脚本。可以使用准备脚本定义的变量 script: | # 加载需要的module环境 for m in ${textModuleName}; do module switch ${m}; done conda -V &> /dev/null if [ $? -ne 0 ]; then module switch ${CONDA_VERSION} fi # init conda eval \"$($(which conda) shell.${SHELL_NAME} hook)\" if [[ \"\" == \"${textCondaName}\" ]]; then textCondaName=\"base\" fi conda activate ${textCondaName} if [ $? -ne 0 ]; then exit 1 fi ( umask 077 cat > \"${CONFIG_FILE}\" << EOL c.NotebookApp.ip = '0.0.0.0' c.NotebookApp.port = ${PORT} c.NotebookApp.port_retries = 0 c.NotebookApp.password = u'sha1:${SALT}:${PASSWORD_SHA1}' c.NotebookApp.open_browser = False c.NotebookApp.base_url = \"${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/\" c.NotebookApp.allow_origin = '*' c.NotebookApp.disable_check_xsrf = True EOL ) cd ~ jupyter-lab --config=${CONFIG_FILE} --notebook-dir=${HOME} # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单 attributes: - type: text name: textModuleName label: Modules required: false # 输入需要额外加载的环境模块列表 placeholder: 输入需要额外加载的环境模块列表,模块之间用空格分开(比如:python/2.7.5 code-server/4.9.1) # 提示信息 - type: text name: textCondaName label: conda环境 required: false # 输入运行Jupyter的conda环境,默认使用base环境 placeholder: 输入conda虚拟环境名称 # 提示信息 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\" 增加了此文件后,刷新WEB浏览器即可。 对于JupyterLab,export以下变量的含义是: SLURM_COMPUTE_NODE_HOSTNAME: 计算节点的主机名 CONFIG_FILE: 指定JupyterLab的配置文件 SHELL_NAME:当前会话的shell名称 CONDA_VERSION:系统默认的conda版本","s":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/jupyterlab","h":"#配置文件","p":422},{"i":433,"t":"Octave是一种开源的数值计算工具,可用于执行各种数值计算任务,包括线性代数、非线性优化、信号处理、图像处理和统计分析等。","s":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","h":"#软件简介","p":431},{"i":435,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Octave","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","h":"#前提条件","p":431},{"i":437,"t":"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate mv TurboVNC.repo /etc/yum.repos.d # 安装最新版本 yum install turbovnc -y","s":"1、TurboVNC安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","h":"#1turbovnc安装","p":431},{"i":439,"t":"octave可以通过conda进行安装,请参考Jupyter应用配置附章中的Anaconda安装。 创建一个新的conda环境,新环境名称格式使用“软件名-版本号”: conda create -n octave-7.2.0 -y 激活新创建的环境: conda activate octave-7.2.0 安装 Octave: conda install octave=7.2.0 下面讲解如何配置使用Octave。","s":"2、Octave安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","h":"#2octave安装","p":431},{"i":441,"t":"创建config/apps目录,在里面创建octave.yml文件,其内容如下: config/apps/octave.yml # 这个应用的ID id: octave # 这个应用的名字 name: octave # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 准备脚本 beforeScript: | export CONDA_VERSION=\"anaconda/3-2023.03\" export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}') # 此X Session的xstartup脚本 xstartup: | module switch ${CONDA_VERSION} eval \"$($(which conda) shell.${SHELL_NAME} hook)\" conda activate ${octave_version} if [ $? -ne 0 ]; then exit 1 fi octave --gui # 配置HTML表单 attributes: - type: select name: octave_version label: 选择版本 select: - value: octave-7.2.0 label: octave-7.2.0 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\" 增加了此文件后,刷新WEB浏览器即可。 对于Octave,export以下变量的含义是: SHELL_NAME:当前会话的shell名称 CONDA_VERSION:系统默认的conda版本","s":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/octave","h":"#配置文件","p":431},{"i":444,"t":"IGV (Integrative Genomics Viewer) 是一个功能强大的基因组数据分析工具,被广泛应用于生物医学研究和生物信息学领域。它支持多种数据类型,包括基因组序列、注释、比对、变异和表达等数据。","s":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#软件简介","p":442},{"i":446,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 Java 1.8 或更高版本 您需要运行的IGV","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#前提条件","p":442},{"i":448,"t":"wget https://turbovnc.org/pmwiki/uploads/Downloads/TurboVNC.repo --no-check-certificate mv TurboVNC.repo /etc/yum.repos.d # 安装最新版本 yum install turbovnc -y","s":"1、TurboVNC安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#1turbovnc安装","p":442},{"i":450,"t":"yum install java-1.8.0-openjdk 3、IGV安装​ # 下载软件包 wget https://data.broadinstitute.org/igv/projects/downloads/2.16/IGV_Linux_2.16.1_WithJava.zip # 解压软件包到指定安装路径 mkdir /data/software/igv unzip IGV_Linux_2.16.1_WithJava.zip -d /data/software/igv/","s":"2、Java安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#2java安装","p":442},{"i":452,"t":"配置已安装好的IGV的modulefile文件: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/igv cat >> ${MODULEPATH}/igv/IGV_Linux_2.16.1 << EOF #%Module1.0##################################################################### ## ## igv@IGV_Linux_2.16.1 modulefile ## proc ModulesHelp { } { puts stderr \"\\tThis module defines environment variables, aliases and add PATH for igv\" puts stderr \"\\tVersion IGV_Linux_2.16.1\" InfoOut } set appname igv set version IGV_Linux_2.16.1 set prefix /data/software/${appname}/${version} module-whatis \"igv@IGV_Linux_2.16.1\" prepend-path PATH $prefix prepend-path LD_LIBRARY_PATH $prefix/lib prepend-path CLASSPATH $prefix/lib/igv.jar EOF 下面讲解如何配置使用IGV。","s":"4、添加modulefile文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#4添加modulefile文件","p":442},{"i":454,"t":"创建config/apps目录,在里面创建igv.yml文件,其内容如下: config/apps/igv.yml # 这个应用的ID id: igv # 这个应用的名字 name: igv # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | module switch igv/${igv_path} igv.sh # 配置HTML表单 attributes: - type: select name: igv_path label: 选择版本 select: - value: IGV_Linux_2.16.1 label: IGV_Linux_2.16.1 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/igv","h":"#配置文件","p":442},{"i":457,"t":"RELION(Reconstruction of 3D structures of Large macromolecular complexes using Image-based ONline reconstruction)是一种用于处理单粒子冷冻电镜(Single Particle Cryo-EM)图像数据的软件包。","s":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/relion","h":"#软件简介","p":455},{"i":459,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Relion 下面讲解如何配置使用Relion。","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/relion","h":"#前提条件","p":455},{"i":461,"t":"创建config/apps目录,在里面创建relion.yml文件,其内容如下: config/apps/relion.yml # 这个应用的ID id: relion # 这个应用的名字 name: relion # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | module purge module load ${relion_version} echo y | relion # 配置HTML表单 attributes: - type: select name: relion_version label: 选择版本 required: true placeholder: 选择relion的版本 select: - value: relion/3.1.3_openmpi_3.1.6 label: relion/3.1.3_openmpi_3.1.6 # 可选配置,若需要区分CPU和GPU的select的下拉项,比如有些版本只能在有GPU的分区有效 # 将requireGpu设为true,此时该选项会出现在有GPU的分区 # requireGpu: true - value: relion/4.0_openmpi_3.1.6 label: relion/4.0_openmpi_3.1.6 # 将requireGpu设为false或者不配置requireGpu,此时该选项会出现在所有分区 # requireGpu: false - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/relion","h":"#配置文件","p":455},{"i":464,"t":"MATLAB是一种由MathWorks公司开发的专业数学软件,它可以用于数值计算、数据分析、科学绘图、机器学习、人工智能等领域。MATLAB拥有强大的矩阵运算和向量化计算能力,支持多种数据类型和格式的处理。","s":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/matlab","h":"#软件简介","p":462},{"i":466,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的Matlab 下面讲解如何配置使用Matlab。","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/matlab","h":"#前提条件","p":462},{"i":468,"t":"创建config/apps目录,在里面创建matlab.yml文件,其内容如下: config/apps/matlab.yml # 这个应用的ID id: matlab # 这个应用的名字 name: matlab # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 此X Session的xstartup脚本 xstartup: | module load matlab/$matlab_path matlab -desktop # 配置HTML表单 attributes: - type: select name: matlab_path label: 选择版本 select: - value: R2019b label: R2019b - value: R2021a label: R2021a - value: R2021b label: R2021b - value: R2022b label: R2022b - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/matlab","h":"#配置文件","p":462},{"i":471,"t":"code-server是一个基于VS Code的开源工具,它可以让你通过浏览器远程访问一个运行着VS Code的服务器。","s":"软件简介","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#软件简介","p":469},{"i":473,"t":"请确保在需要运行应用的计算节点上安装有coder/code-server软件包。","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#前提条件","p":469},{"i":475,"t":"# 下载所需版本的code-server二进制安装包 wget https://github.com/coder/code-server/releases/download/v4.11.0/code-server-4.11.0-linux-amd64.tar.gz # 解压code-server二进制安装包 tar zxf code-server-4.11.0-linux-amd64.tar.gz # 将code-server重命名至指定路径 mkdir -p /data/software/code-server mv code-server-4.11.0-linux-amd64 /data/software/code-server/4.11.0","s":"1、code-server安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#1code-server安装","p":469},{"i":477,"t":"配置已安装好的code-server的modulefile文件: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/code-server cat >> ${MODULEPATH}/code-server/4.11.0 << EOF #%Module1.0######################################################################## ## ## code-server@4.11.0 modulefile ## proc ModulesHelp { } { puts stderr \"\\tThis module defines environment variables, aliases and add PATH for code-server\" puts stderr \"\\tVersion 4.11.0\" } module-whatis \"code-server@4.11.0\" prepend-path PATH \"/data/software/code-server/4.11.0/bin\" EOF 下面讲解如何配置使用code-server。","s":"2、添加modulefile文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#2添加modulefile文件","p":469},{"i":479,"t":"创建config/apps目录,在里面创建vscode.yml文件,其内容如下: config/apps/vscode.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) # 运行任务的脚本。可以使用准备脚本定义的变量 script: | module switch code-server/${selectVersion} PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单,用户可以指定code-server版本 attributes: - type: select name: selectVersion label: 选择版本 required: true # 用户必须选择一个版本 placeholder: 选择code-server的版本 # 提示信息 select: - value: 4.9.1 label: version 4.9.1 - value: 4.11.0 label: version 4.11.0 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置文件","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#配置文件","p":469},{"i":482,"t":"VSCode扩展的安装需要互联网,当集群计算节点无法连入互联网时,会影响VSCode扩展的安装。 1、域名解析​ Open VSX是一个开源的VSCode扩展市场,目前它的域名open-vsx.org解析地址为198.41.30.195,需要确保在运行VSCode的节点上解析该域名,并通过增加路由的方式使得计算节点能访问198.41.30.195的443端口服务。另外,在线安装扩展时,open-vsx.org需要重定向转发到openvsxorg.blob.core.windows.net上获取扩展包,因此,openvsxorg.blob.core.windows.net上所对应的IP:443服务需要确保VSCode节点上能访问到。 以下表格中为需要解析的域名及安装所需访问的IP地址和端口: 域名 IP 端口 open-vsx.org 198.41.30.195 443 openvsxorg.blob.core.windows.net 20.60.40.4 443 VSCode扩展安装有三种方式: 2、通过扩展商店安装​ 在VSCode左侧的侧边栏中,点击底部的扩展图标(通常是一个正方形方块或拼图图标),以打开扩展面板。 在扩展面板中,你可以浏览并搜索可用的扩展。 找到你想要安装的扩展后,点击扩展卡片上的安装按钮。 VSCode将开始下载和安装扩展,你可以在扩展面板中查看安装进度。 安装完成后,你会收到通知,并且扩展会出现在已安装的扩展列表中。 在扩展面板的已安装扩展列表中,你可以启用、禁用或卸载已安装的扩展。一些扩展可能需要进行一些额外的设置或配置。 3、通过扩展名或者扩展ID安装​ 打开终端:在VSCode的界面上找到终端(命令行界面)的入口。通常,终端图标位于左侧的侧边栏中。 在终端中,使用以下命令安装扩展: # 替换为你想安装的扩展的标识符或名称。扩展的标识符通常是类似于publisher.extension的格式。例如,要安装 \"Python\" 扩展,扩展标识符为ms-python.python code-server --install-extension 如果你不确定扩展的标识符,你可以在Visual Studio Code Marketplace上找到扩展页面,并从URL中获取标识符部分。 执行命令后,VSCode将开始下载并安装指定的扩展。安装完成后,你将在终端中看到相应的成功消息。 安装的扩展现在应该已经在VSCode中可用。你可以在左侧的侧边栏中点击扩展图标来查看已安装的扩展,并根据需要启用、禁用或配置它们。 4、手动下载扩展包进行安装​ 准备扩展文件:首先下载你需要安装的扩展文件,并上传到服务器。扩展文件通常具有.vsix扩展名,并且是预先打包好的扩展文件。 打开终端:在VSCode的界面上找到终端(命令行界面)的入口。通常,终端图标位于左侧的侧边栏中。 在终端中使用--install-extension参数安装扩展,将/path/to/extension.vsix替换为你实际的扩展文件路径: code-server --install-extension /path/to/extension.vsix VSCode将开始安装指定的扩展。安装完成后,你将在终端中看到相应的成功消息。另外需要注意的是,在Visual Studio Code Marketplace上或者非官方下载的扩展包会存在和VSCode不兼容的情况。 安装的扩展现在应该已经在VSCode中可用。你可以在左侧的侧边栏中点击扩展图标来查看已安装的扩展,并根据需要启用、禁用或配置它们。","s":"VSCode扩展安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/vscode","h":"#vscode扩展安装","p":469},{"i":484,"t":"系统支持对不同的交互式应用配置说明文字进行描述。文本支持HTML的标签,将会被放在一个div中。","s":"配置应用的说明文字","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-comment","h":"","p":483},{"i":486,"t":"config/apps/{app}.yml # 这个应用的ID id: appId # ...中间省略 # 交互式应用说明文字,选填。 # 支持文本国际化 appComment: \"对上方交互式应用进行说明
# 利用代码块说明
\" 如果管理员配置了对应的交互式应用的说明文字,则展示效果如下:","s":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-comment","h":"#配置示例","p":483},{"i":488,"t":"appComment的配置解释如下: 属性 类型 是否必填 解释 appComment 字符串 或 i18n国际化类型 否 自定义应用的说明文字,可选填。如未填写则不显示,填写后展示在对应的创建应用页面下方。支持HTML的标签。","s":"配置解释","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-comment","h":"#配置解释","p":483},{"i":490,"t":"Web和VNC类应用都可以通过logoPath配置项,修改创建应用的图标。 管理员通过把存放在和install.yml同级的public目录下图片文件的路径添加到logoPath来进行自定义图标配置。公共文件路径的使用详见公共文件。 管理员所添加的图片文件后缀应为常用图片文件.svg,.png或者.jpg等。 如将图片app1.svg上传到公共文件public目录下新建的apps路径下,则在配置时需填写logoPath:\"/apps/app1.svg\"。 logoPath可以选填,如不填写,则将统一显示系统默认图片图标。","s":"配置应用图标","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-logo","h":"","p":489},{"i":492,"t":"无论Web类应用还是VNC类应用,自定义图标配置方法都相同。 以coder/code-server创建VSCode为例,带有自定义图标配置的配置文件如下: config/apps/vscode.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode # 这个应用的图标图片在公共文件下的地址 logoPath: /apps/VScode.svg # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) # 运行任务的脚本。使用了用户在自定义表单中选择的选项 script: | module load ${selectVersion} PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单,用户可以指定code-server版本 attributes: - type: select name: selectVersion label: 选择版本 required: true # 用户必须选择一个版本 placeholder: 选择code-server的版本 # 提示信息 select: - value: code-server/4.8.0 label: version 4.8.0 - value: code-server/4.9.0 label: version 4.9.0","s":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-logo","h":"#配置示例","p":489},{"i":494,"t":"logoPath的配置解释如下: 属性 类型 是否必填 解释 logoPath 字符串 否 自定义应用图标的图片源地址,公共文件下的自定义应用图片的路径。可选填,如未填写则显示系统默认图片图标。支持格式为常用图片文件格式.svg,.png或者.jpg等。","s":"配置解释","u":"/SCOW/docs/deploy/config/portal/apps/configure-app-logo","h":"#配置解释","p":489},{"i":496,"t":"支持管理员通过在不同的配置文件路径下自定义配置各个集群均可使用的应用以及只有特定集群可以使用的应用。 备注 无论是配置各个集群均可以使用的应用还是配置只有特定集群可以使用的应用,请确保在需要运行应用的集群下的计算节点上安装有需要的软件包。","s":"多集群下的应用配置","u":"/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps","h":"","p":495},{"i":498,"t":"管理员在与install.yml同级的config/apps下配置的交互式应用为各个集群均可使用的应用。","s":"各个集群共享应用","u":"/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#各个集群共享应用","p":495},{"i":500,"t":"如果需要单独配置特定集群可以使用的应用,管理员需要在config/clusters下新建名称为集群ID的文件夹,并在此文件夹下继续新建用于保存该集群交互式应用的apps文件路径。 集群ID的确认请参照集群配置。 在此文件路径config/clusters/{集群ID}/apps下配置的交互式应用为该集群特定使用的交互式应用。 备注 当config/apps下的共享交互式应用与config/clusters/{集群ID}/apps下的特定集群交互式应用出现重复时(即应用配置文件中的id值相同),那么在集群下获取的此交互式应用的详细信息为 config/clusters/{集群ID}/apps中的配置的详细信息。 应用配置中id的确认请参照Web类应用配置示例以及桌面类应用配置示例。","s":"特定集群应用","u":"/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#特定集群应用","p":495},{"i":502,"t":"以集群ID为hpc01和hpc02下的交互式应用配置为例。 在各个集群计算机节点下均安装了对应软件包的情况下,各个集群配置及可以使用的交互式应用如下: 应用配置文件 在config/apps下配置 在config/clusters/hpc01/apps下配置 在config/clusters/hpc02/apps下配置 hpc01下可以使用 hpc02下可以使用 vscode.yaml ✔ ✔ ✔ ✔ emacs.yaml ✔ ✔ ✔ baltamatica.yaml ✔ ✔ jupyter.yaml ✔ ✔ 备注 在config/apps和config/clusters/hpc02/apps下都配置了vscode.yaml,若他们在配置文件中的id相同,则hpc01集群下获取的交互式应用信息应为config/clusters/hpc02/apps中的vscode.yaml的应用配置信息。","s":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-cluster-apps","h":"#配置示例","p":495},{"i":505,"t":"请确保在需要运行桌面类应用的机器上安装有: TurboVNC 3.0版本及以上 您需要运行的桌面类应用","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#前提条件","p":503},{"i":507,"t":"下面以使用emacs为示例介绍如何配置桌面类应用。 创建config/apps目录,在里面创建emacs/config.yml或者emacs.yml文件,其内容如下: config/apps/emacs/config.yml # 这个应用的ID id: emacs # 这个应用的名字 name: emacs # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 可以使用准备脚本来准备运行任务的环境 # beforeScript: # export VERSION=1.0 # 此X Session的xstartup脚本 xstartup: | emacs -mm 增加了此文件后,刷新即可。","s":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#配置示例","p":503},{"i":510,"t":"beforeScript为准备脚本,如果有需要使用的变量,可以选择使用这个脚本用来准备运行任务的环境。","s":"beforeScript","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#beforescript","p":503},{"i":512,"t":"对于桌面类应用,系统提交一个计算任务。此任务将会在计算节点上启动一个TurboVNC实例,此TurboVNC实例将会以配置中的xstartup脚本作为其启动脚本。 所以对于桌面类应用而言,您只需要填写正确的xstartup脚本即可。","s":"xstartup","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#xstartup","p":503},{"i":514,"t":"如果需要指定应用版本,可以通过attributes配置项添加自定义HTML表单,具体配置示例请参考attributes配置。","s":"attributes","u":"/SCOW/docs/deploy/config/portal/apps/configure-vnc-app","h":"#attributes","p":503},{"i":516,"t":"Web和VNC类应用都可以通过attributes配置项,修改创建应用的HTML表单,允许管理员定义用户创建交互式应用时的表单选项,让用户能够指定应用的版本等信息。 用户提交的内容会作为运行应用的计算节点的环境变量生效,web类应用可以在script项使用,VNC类应用可以在xstartup使用这些变量。 如果用户需要输入其他sbatch参数,可以在此项中配置,具体示例请参考其他sbatch参数配置。。","s":"配置HTML表单","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"","p":515},{"i":519,"t":"以coder/code-server启动VSCode为例,为web类应用自定义HTML表单的配置文件如下: config/apps/vscode.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) # 运行任务的脚本。使用了用户在自定义表单中选择的选项 script: | module load ${selectVersion} PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" # 配置HTML表单,用户可以指定code-server版本 attributes: - type: select name: selectVersion label: 选择版本 required: true # 用户必须选择一个版本 placeholder: 选择code-server的版本 # 提示信息 select: - value: code-server/4.8.0 label: version 4.8.0 - value: code-server/4.9.0 label: version 4.9.0 如果用户选择的是version 4.8.0选项,xstartup中module load ${selectVersion}实际执行的是module load code-server/4.8.0。","s":"web类应用配置HTML表单示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#web类应用配置html表单示例","p":515},{"i":521,"t":"以Emacs为例,桌面类应用自定义HTML表单的配置文件如下: config/apps/emacs.yml # 这个应用的ID id: emacs # 这个应用的名字 name: emacs # 指定应用类型为vnc type: vnc # VNC应用的配置 vnc: # 可以使用准备脚本来准备运行任务的环境 # beforeScript: # export VERSION=1.0 # 此X Session的xstartup脚本。使用了用户在自定义表单中选择的选项 xstartup: | module load ${selectVersion} emacs -mm # 配置HTML表单,用户可以指定Emacs版本 attributes: - type: select name: selectVersion label: 选择版本 required: true # 用户必须选择一个版本 placeholder: 选择code-server的版本 # 提示信息 select: - value: emacs/27.1 label: Emacs 27.1 released - value: emacs/28.1 label: Emacs 28.1 released 如果用户选择的是Emacs 28.1 released选项,xstartup中module load ${selectVersion}实际执行的是module load emacs/28.1。","s":"VNC类应用配置HTML表单示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#vnc类应用配置html表单示例","p":515},{"i":523,"t":"配置attributes可以加载多个HTML表单,每一条可用配置项如下: 属性 类型 是否必填 解释 type number, text 或者 select 是 在HTML表单元素中输入的内容的类型 name 字符串 是 HTML表单的name属性,在编程中使用,并且会作为计算节点环境变量名,可以在Web应用的script或者VNC应用的xstartop使用 label 字符串 是 HTML表单的label属性,输入框左侧显示的标签 required 布尔类型 否 如果设置为true,用户必须填写此项,如果为false,用户可以不填,默认为true。 default 字符串或者数字 否 表单的默认值,number类型的默认值必须设置为数字。对于select类型的表单,如果没有配置default,则默认值为第一项 placeholder 字符串 否 描述输入字段预期值的提示信息,提示用户此处的输入 select 选项的列表 否 如果type是select,必须配置此项,指明具体的选项,具体配置办法见select示例","s":"配置解释","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置解释","p":515},{"i":525,"t":"配置一个输入内容是文本类型的表单,需要指定type为text, 示例如下: attributes: - type: text name: version label: 版本 如果用户输入了v3.4.5,计算节点的环境变量version=v3.4.5可以在应用启动时被读取。 配置一个不是必填项的表单,并且配置默认值: attributes: - type: text name: version label: 版本 required: false defalt: v3.4.0","s":"配置输入类型为文本的HTML表单","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入类型为文本的html表单","p":515},{"i":527,"t":"配置一个输入内容是数字类型的表单,需要指定type为number, 此时用户仅能输入数字,示例如下: attributes: - type: number name: size label: 数量 如果用户输入了345,计算节点的环境变量size=345可以在应用启动时被读取。 配置一个不是必填项的表单,并且配置默认值: attributes: - type: number name: size label: 数量 required: false default: 123","s":"配置输入类型为数字的HTML表单","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入类型为数字的html表单","p":515},{"i":529,"t":"配置一个输入内容是下拉选择器的表单,需要指定type为select,并且配置select项。select项需要配置value和label,作为用户可以选择的选项。 属性 类型 是否必填 解释 value 字符串 是 HTML表单选项的value属性,在编程中使用,并且会作为计算节点环境变量的值 label 字符串 是 HTML表单的label属性,选项中展示给用户的文本 示例如下: attributes: - type: select name: selectVersion label: 选择版本 required: true select: - value: version10 label: v10 - value: version11 label: v11 如果用户选择v11选项,计算节点的环境变量 selectVersion=version11 可以在应用启动时被读取。","s":"配置输入为下拉选择器的HTML表单","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置输入为下拉选择器的html表单","p":515},{"i":531,"t":"name需要设置为sbatchOptions,指定type为text, 示例如下: attributes: - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"配置其他sbatch参数","u":"/SCOW/docs/deploy/config/portal/apps/configure-attributes","h":"#配置其他sbatch参数","p":515},{"i":533,"t":"参考文档简要了解交互式作业功能。 配置VNC类应用 配置Web类应用 配置表单 已有交互式应用 Baltamatica Desktop Emacs IGV Jupyter JupyterLab Matlab Octave Relion RStudio VSCode","s":"交互式作业","u":"/SCOW/docs/deploy/config/portal/apps/intro","h":"","p":532},{"i":536,"t":"登录节点桌面功能能够让用户在浏览器上就能访问登录节点的桌面,并进行GUI操作。","s":"登录节点桌面功能","u":"/SCOW/docs/deploy/config/portal/desktop","h":"","p":535},{"i":538,"t":"目前,桌面功能仅支持登录到登录节点。在计算节点上启动桌面可借助交互式任务实现。 下文中将启动桌面的节点称为桌面节点。 请确认集群配置满足以下条件: 桌面节点已安装TurboVNC 3.0版本或者以上(官方安装教程)","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/desktop","h":"#前提条件","p":535},{"i":540,"t":"在config/portal.yml文件的loginDesktop.wms部分可以配置支持的桌面, 也可以在config/clusters下的集群配置文件内分集群配置支持的桌面,config/clusters配置文件下的配置优先级高于config/portal.yml文件。 config/portal.yaml 或 config/clusters/[集群ID]/config.yml loginDesktop: wms: - name: Xfce wm: xfce 其中,name表示桌面的名称,wm表示TurboVNC中-wm选项的值。我们使用TurboVNC的-wm选项指定支持启动的桌面。用户选择的桌面对应的wm值将会被传入TurboVNC的-wm参数。 可以查看TurboVNC 3.0.x Window Manager Compatibility Report来确认桌面和操作系统之间的兼容性。 下表为目前已经在CentOS 7上测试的各个桌面与turbovnc的兼容性以及对应的wm值。要想使用对应的桌面,请在对应的桌面节点安装epel-release包,再运行安装命令部分的命令安装对应的桌面。 桌面 wm值 安装命令 兼容性 KDE 1-kde-plasma-standard yum groupinstall \"KDE Plasma Workspaces\" 可用 Xfce xfce yum groupinstall \"Xfce\" 可用 MATE mate yum groupinstall \"MATE Desktop\" 可用 cinnamon cinnamon yum install cinnamon 可用 GNOME 2 2d yum groupinstall \"GNOME Desktop\" 不可用 GNOME 3 (空字符串) yum groupinstall \"GNOME Desktop\" 不可用 根据TurboVNC的文档,如果需要启动其他桌面,您可以将wm值设置为任意/usr/share/xsessions下的文件名(不包括.desktop后缀)来启动对应的桌面。","s":"支持的桌面","u":"/SCOW/docs/deploy/config/portal/desktop","h":"#支持的桌面","p":535},{"i":543,"t":"请确保在需要运行应用的计算节点上安装有需要的软件包。","s":"前提条件","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#前提条件","p":541},{"i":545,"t":"下面以使用coder/code-server启动VSCode的配置为例来讲解如何配置一个服务器类应用。 创建config/apps目录,在里面创建vscode/config.yml或vscode.yml文件,其内容如下: config/apps/vscode/config.yml # 这个应用的ID id: vscode # 这个应用的名字 name: VSCode # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) # 运行任务的脚本。可以使用准备脚本定义的变量 script: | PASSWORD=$PASSWORD code-server -vvv --bind-addr 0.0.0.0:$PORT --auth password # 如何连接应用 connect: method: POST path: /login formData: password: \"{{ PASSWORD }}\" 增加了此文件后,刷新即可。","s":"配置示例","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#配置示例","p":541},{"i":548,"t":"用户通过以下格式的URL访问Web类的交互式应用 http[s]://${域名或者IP}/${SCOW系统的base path}/api/proxy/${运行应用的集群ID}/${这个应用的proxyType}/${计算节点的IP或者主机名}/${应用所在的端口号}/${...应用所需要的path} 对于web类型的应用,需要配置proxyType。不同的交互式应用使用了不同的nginx proxy方式,通过配置proxyType,可以允许应用携带不同类型的uri到后端计算节点。 proxyType可以配置为relative或者absolute,如果不配置默认是relative。 如果设置成absolute,会把完整URL请求路径反向代理到给定的主机和端口。比如访问以下地址: https://hpc.pku.edu.cn/demo/scow/api/proxy/hpc01/absolute/192.168.220.133/7383/index.html 以下URL请求将会被发送给计算节点192.168.220.133的7383端口。 /demo/scow/api/proxy/hpc01/absolute/192.168.220.133/7383/index.html 如果设置成relative,只使用URL请求路径的路径部分将请求反向代理到给定的主机和端口。比如访问以下地址: https://hpc.pku.edu.cn/demo/scow/api/proxy/hpc01/relative/192.168.220.133/4253/index.html 以下URL请求将会被发送给计算节点192.168.220.133的4253端口。 /index.html","s":"proxyType","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#proxytype","p":541},{"i":550,"t":"beforeScript部分为准备脚本。这个脚本用来准备运行任务的环境。这个脚本要求必须export两个变量: PORT:程序将会运行在的端口 PASSWORD: 连接程序用的密码 connect的formData项需要使用的变量也需要在此处export。 准备脚本中的export的变量可以在script中使用。 script部分为如何启动这个应用的脚本。 beforeScript和script中可以使用以下辅助函数: 函数名 作用 参数 返回值 get_port 获得一个可用的TCP端口 无 一个调用时可用的TCP端口 get_password 生成一个包含A-Za-z0-9的随机密码 $1: 密码长度 密码 还可以使用以下变量。如果自定义属性中出现了和这里同名的变量,这里的变量将会被覆盖。 变量名 值 PROXY_BASE_PATH 这个应用在被访问时,其URL中位于计算节点IP之前的内容,不以/结尾。对SCOW来说,为${SCOW的base path}/api/proxy/${集群ID}/${此应用的proxyType} 这些脚本,以及一些辅助的脚本将会被作为一个作业提交给调度系统,并最终在某个计算节点上运行。","s":"beforeScript和script","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#beforescript和script","p":541},{"i":552,"t":"connect部分定义如何连接到应用。系统将会给可以连接的应用创建一个用于连接应用的a标签。点击a标签之后,系统将会打开一个新标签页,打开新标签页时实际进行的动作将可以在这里自定义。 配置如下: 属性 类型 是否必填 解释 path 字符串 是 新标签页所访问的相对路径 method \"GET\" 或者 \"POST\" 是 发起一个什么的HTTP请求 query 字符串到字符串的字典 否 连接时附带的query formData 字符串到字符串的字典 否 如果method是POST,这个请求将会带的form data 我们推荐将应用使用密码方式进行加密,所以一般在连接时需要将密码输入给应用。path, query的值和formData的值部分可以使用{{ PASSWORD }}代替应用在创建时生成的密码。 此外,如果formData需要使用其他变量,可以在准备脚本beforeScript中export需要的变量,然后以{{ 变量名 }}的形式使用。","s":"connect","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#connect","p":541},{"i":554,"t":"如果需要指定应用版本,可以通过attributes配置项添加自定义HTML表单,具体配置示例请参考attributes配置。","s":"attributes","u":"/SCOW/docs/deploy/config/portal/apps/configure-web-app","h":"#attributes","p":541},{"i":556,"t":"您可以自定义门户项目仪表盘的LOGO和文本。","s":"自定义仪表盘","u":"/SCOW/docs/deploy/config/portal/customization/dashboard","h":"","p":555},{"i":558,"t":"LOGO图片的文件名应为banner,后缀应为svg, png或者jpg后缀名,如果多个后缀名的文件同时存在,则顺序为svg, png, jpg。 有的图片在暗色主题下显示背景不佳,系统支持单独设置在暗色模式下显示的LOGO图片。在暗色模式下显示的LOGO图片的文件名应该为banner.dark,后缀名规则和上述规则相同。如果不存在暗色模式下的图片,则系统将显示正常模式下的LOGO图片。 将LOGO图片放入config/logo下即可。 系统支持根据不同的来访域名显示不同的LOGO。将需要在某个域名下显示的LOGO文件放到config/logo/{域名}下即可。config/logo下的文件为对所有其他域名的LOGO图片。判断来访域名的规则请参考这里。 如果您使用svg图片,那么自定义仪表盘LOGO将会默认占据整个页面的100%宽度,高度跟随宽度自动缩放。您可以给您的svg文件的svg标签设置width属性来限制图片的最大宽度。 如果您使用png或者jpg图片,那么自定义仪表盘LOGO的最大大小为图片本身的大小,如果浏览器视口宽度小于图片的宽度,则图片将会自动缩放。","s":"自定义仪表盘LOGO","u":"/SCOW/docs/deploy/config/portal/customization/dashboard","h":"#自定义仪表盘logo","p":555},{"i":560,"t":"本节介绍如何配置门户系统。","s":"配置门户系统","u":"/SCOW/docs/deploy/config/portal/intro","h":"","p":559},{"i":562,"t":"修改安装配置文件install.yaml install.yaml # 确保门户系统会部署 portal: # 如果门户系统将会部署在系统的根目录下,设置BASE_PATH为/。默认为/ basePath: / # 如果门户系统将会部署在系统的/portal下,设置BASE_PATH为/portal # basePath: /portal 提示 如果想自定义系统部署的相对路径,了解PORTAL.BASE_PATH的含义,请参考自定义相对路径。","s":"修改安装配置文件","u":"/SCOW/docs/deploy/config/portal/intro","h":"#修改安装配置文件","p":559},{"i":564,"t":"在config/portal.yaml文件中,根据备注修改所需要的配置 config/portal.yaml # 是否启用作业管理功能 jobManagement: true # 登录节点桌面功能 loginDesktop: # 是否启用桌面功能 enabled: true # 桌面 wms: # 桌面名和对应的wm值。见文档 - name: Xfce wm: xfce # 单个登录节点最多启动多少个桌面节点 maxDesktops: 3 # 将创建的登录节点桌面信息的保存到什么位置。相对于用户的家目录 desktopsDir: scow/desktops # 是否启用交互式任务功能 apps: true # 提交作业命令框中的提示语,可选配置 submitJobPromptText: \"#此处参数设置的优先级高于页面其它地方,两者冲突时以此处为准\" # 是否启用终端功能 shell: true # # 文件管理 # file: # # 文件预览功能 # preview: # # 大小限制 # # 可接受的格式为nginx的client_max_body_size可接受的值,默认为 50m # limitSize: \"50m\" # # 文件编辑功能 # edit: # # 文件编辑大小限制 # # 可接受的格式为nginx的client_max_body_size可接受的值,默认为 1m # # 建议设置为较大值 # limitSize: \"1m\" # 提交作业的默认工作目录。使用{{ name }}代替作业名称。相对于用户的家目录 # submitJobDefaultPwd: scow/jobs/{{ name }} # 将保存的作业保存到什么位置。相对于用户家目录 # savedJobsDir: scow/savedJobs # 将交互式任务的信息保存到什么位置。相对于用户的家目录 # appJobsDir: scow/appData # TurboVNC的安装路径 # turboVNCPath: /opt/TurboVNC # # 新增导航链接相关配置 # navLinks: # # 链接名 # - text: \"一级导航1\" # # 链接地址,一级导航链接地址为可选填,二级导航链接地址为必填 # url: \"\" # # 是否打开新的页面,可选填,默认值为false # # openInNewPage: true # # 自定义图标地址,可选填 # # iconPath: \"\" # # 可以看到这个链接的用户,可选填 # # 用户类型: user, accountUser, accountAdmin, accountOwner, tenantFinance, tenantAdmin, platformAdmin, platformFinance # allowedRoles: [] # # 二级导航,可选填 # children: # # 二级导航相关配置,与一级导航相同,但是url为必填配置,同时不允许再设置children # - text: \"二级导航1\" # url: \"https://hahahaha1.1.com\" # # openInNewPage: true # iconPath: \"\" # allowedRoles: [accountAdmin, accountOwner] # - text: \"二级导航2\" # url: \"https://hahahaha1.2.com\" # allowedRoles: [tenantAdmin, platformAdmin] # - text: \"一级导航2\" # url: \"https://hahahaha2.com\"","s":"编写门户服务配置","u":"/SCOW/docs/deploy/config/portal/intro","h":"#编写门户服务配置","p":559},{"i":566,"t":"一些功能可能需要进一步的配置,请根据对应的文档完成。 登录节点桌面 跨集群传输","s":"更多配置","u":"/SCOW/docs/deploy/config/portal/intro","h":"#更多配置","p":559},{"i":568,"t":"运行./cli compose up -d启动门户系统。","s":"启动服务","u":"/SCOW/docs/deploy/config/portal/intro","h":"#启动服务","p":559},{"i":570,"t":"门户系统的桌面和交互式作业功能是通过HTTP代理,将用户的流量代理到了运行桌面的登录节点或者运行计算作业的计算节点上来实现的。这要求SCOW所在的服务节点能够直连所有登录和计算节点。 但是,在多集群环境中,各个集群之间的网络可能不连通,SCOW所在的服务节点可能不能直连所有集群的计算节点。 对于这种情况,您可以给集群配置代理网关节点。在有代理网关的情况下,SCOW将会把交互式应用(包括VNC类型和Web类型)的流量首先发给集群的代理网关节点。代理网关节点将会负责将流量进一步转发到具体的节点中去。","s":"代理网关节点","u":"/SCOW/docs/deploy/config/portal/proxy-gateway","h":"","p":569},{"i":572,"t":"您需要在您的需要代理网关节点的集群中选择一个节点作为代理网关节点。这个节点必须能被SCOW直接访问,也能访问自己集群中的所有机器。您需要给这个节点向SCOW所在的服务节点开放一个端口用作下文的监听端口。 当您选择好了节点后,您需要在网关节点上安装nginx,并创建/etc/nginx/conf.d/scow-portal-proxy-gateway.conf touch /etc/nginx/conf.d/scow-portal-proxy-gateway.conf 然后将以下内容写入此文件,替换如下部分: ${PORT}: 监听端口号 ${PORTAL_BASE_PATH}: 门户系统的base path,以/结尾 /etc/nginx/conf.d/scow-portal-proxy-gateway.conf server { # 监听端口号,可修改 listen 12031; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection \"upgrade\"; location ~ ^${PORTAL_BASE_PATH}api/proxy/(?.*)/relative/(?[\\d|\\.]*)/(?\\d+)(?.*)$ { proxy_pass http://$node:$port$rest$is_args$args; } location ~ ^${PORTAL_BASE_PATH}api/proxy/(?.*)/absolute/(?[\\d|\\.]*)/(?\\d+)(?.*)$ { proxy_pass http://$node:$port$request_uri; } } 重新加载nginx配置 nginx -s reload 之后,您需要在SCOW的集群配置文件中,对需要开启这个功能的集群的配置文件增加以下配置: config/clusters/hpc01/config.yaml proxyGateway: url: {代理网关节点nginx监听地址} 例如,这个集群的代理网关节点为192.168.88.100,上面新增的文件中监听端口号为12031,则此处填写 config/clusters/hpc01/config.yaml proxyGateway: url: http://192.168.88.100:12031 重启portal-web即可生效。 ./cli compose restart portal-web 注意,一旦修改了此配置,被修改了配置的集群在修改配置之间启动的交互式作业将会无法重新连接。","s":"手动配置","u":"/SCOW/docs/deploy/config/portal/proxy-gateway","h":"","p":569},{"i":574,"t":"您也可以让SCOW自动帮您做这个配置。要使用自动配置,您需要确保: SCOW节点可以使用公钥以root身份SSH登录到代理网关节点 代理网关节点上安装了nginx 您需要在集群配置文件中编写如下配置: config/clusters/hpc01/config.yaml proxyGateway: url: {代理网关节点的nginx的监听地址} autoSetupNginx: true 这样之后,portal-server每次启动时,都会SSH登录到代理网关节点,并根据手动配置部分自动配置。","s":"自动配置","u":"/SCOW/docs/deploy/config/portal/proxy-gateway","h":"","p":569},{"i":576,"t":"如果您配置了代理网关节点,那么需要确保在配置各集群登录节点时,登录节点的域名或者IP地址在所有集群中都是不重复的。否则,代理网关节点将无法区分不同的登录节点。 代理网关节点可以使用公钥以root身份SSH登录到所有计算节点","s":"配置要求","u":"/SCOW/docs/deploy/config/portal/proxy-gateway","h":"","p":569},{"i":578,"t":"Shell终端支持输入命令跳转到文件系统,进行文件的上传和下载;支持下载指定文件。","s":"Shell终端文件传输功能","u":"/SCOW/docs/deploy/config/portal/shell","h":"","p":577},{"i":580,"t":"输入sopen命令后,会跳转到文件系统的当前目录,用户可以在图形界面进行文件上传或者下载。","s":"sopen命令","u":"/SCOW/docs/deploy/config/portal/shell","h":"#sopen命令","p":577},{"i":582,"t":"输入sup命令后,您可以将本地文件上传到当前路径下。","s":"sup命令","u":"/SCOW/docs/deploy/config/portal/shell","h":"#sup命令","p":577},{"i":584,"t":"输入sdown [文件名],用户当前路径的该文件会被下载到本地,目前仅支持直接输入当前目录下的文件名,不支持相对路径,如果需要下载其他目录下的文件请使用sopen命令跳转到文件系统。如果用户输入了相对路径,会提示用户不能使用相对路径。 使用示例: sdown hello.txt 如果当前在B目录下,需要下载A目录下的文件,有两种方式: 可以进入A目录,然后sdown [文件名]下载 也可以sopen进入文件系统以后,在图形界面切换到A目录选择文件进行下载。","s":"sdown命令","u":"/SCOW/docs/deploy/config/portal/shell","h":"#sdown命令","p":577},{"i":586,"t":"输入sedit [文件名]后会跳转到图形界面的文本编辑器。 使用示例: sedit hello.txt","s":"sedit命令","u":"/SCOW/docs/deploy/config/portal/shell","h":"#sedit命令","p":577},{"i":588,"t":"sopen、sdown [文件名]和sedit [文件名]这三个命令仅在SCOW的Shell终端中使用有效。 在系统启动时,系统会自动上传到登录节点的/etc/profile.d/目录下一个scow-shell-file.sh脚本,用于在Shell终端中进行文件系统的跳转和文件的下载。如果/etc/profile.d/目录不存在会创建该目录。","s":"注意","u":"/SCOW/docs/deploy/config/portal/shell","h":"#注意","p":577},{"i":592,"t":"通常情况下,同属一个集群的所有节点,均在同一个子网下,我们称之为集群内网。例如:登录节点访问计算结点便是通过集群内网。 不同集群之间的节点,互相通常是访问不到的,除非接入到更大的网络之中,我们称之为集群间可达网。 任何机器都可以通过网络访问到的地址,为公网地址,我们称之为互联网公网。 网络范围排序:互联网公网 > 集群间可达网 > 集群内网","s":"网络区分","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#网络区分","p":589},{"i":594,"t":"在跨集群传输功能的配置中,每个集群需要有一个专门用来做文件传输的节点TransferNode,该TransferNode要求具有集群间可达网的地址,也就是说接入SCOW系统的所有集群的传输节点之间彼此是可以访问的。传输节点TransferNode和登录节点LoginNode可以是同一个节点。 传输节点能够访问文件系统,且挂载目录路径和登录节点访问文件系统的路径相同。出于安全性的考虑,传输节点最好不具备访问作业权限(例如,设置与slurm管理节点网络不通) 准备好传输节点后,需要将其接入到scow集群中。接下来需要修改集群配置文件config/clusters/xxx.yaml,在yaml文件末尾添加crossClusterFileTransfer模块,添加enabled和transferNode属性。如果enabled为true表示开启该功能需要配置transferNode,为false表示不开启该功能无需配置transferNode。transferNode配置格式为ip:port,如果不配置port默认为22端口。 config/clusters/hpc01.yaml displayName: hpc01Name adapterUrl: 0.0.0.0:6000 loginNodes: - name: loginNode01 address: localhost:22222 crossClusterFileTransfer: enabled: true transferNode: localhost:22222 提示 传输节点如果是一个新节点,则该节点需要与集群有一致的用户,即配置与该集群相同的认证系统(LDAP),挂载相同的共享目录。","s":"配置","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#配置","p":589},{"i":596,"t":"在scow节点运行以下命令 # 执行以下命令,连续回车,输入密码后设置免密成功 ssh-copy-id root@[TransferNodeIP]","s":"2. 建立scow节点到每个传输节点的root用户免密","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#2-建立scow节点到每个传输节点的root用户免密","p":589},{"i":598,"t":"scow-sync传输软件目前只支持从源码构建。 拉取scow-sync代码。首先需要以root身份登录到传输节点,然后拉取scow-sync的仓库https://github.com/PKUHPC/scow-sync.git。通常将scow-sync安装在/data/software目录下。 # 以root身份登录传输节点 ssh root@[TransferNodeIP] -p [TransferNodePort] # 拉取scow-sync到/data/software目录 cd /data/software git clone https://github.com/PKUHPC/scow-sync.git 安装python依赖库。在传输节点上按照scow-sync的requirements.txt文件安装好对应版本的依赖库。 python >= 3.6.0 paramiko >= 3.0.0 psutil >= 5.9.4 subprocess concurrent 设置python解释器的路径。 如果用户使用的python解释器的路径为/usr/bin/python3,则可以直接执行sudo bash install.sh,该脚本会在全局安装scow-sync相关的命令。 如果用户使用自定义的python解释器的路径,需要修改scow-sync代码中的scow_sync/config.py配置文件的SHEBANG_PATH为python解释器的路径,再执行sudo bash install.sh update更新scow-sync各个脚本的SheBang,最后再执行sudo bash install.sh安装scow-sync。 输入以下命令观察是否安装成功。 [root@login01 ~]# scow-sync-start -h usage: scow-sync-start [-h] [-a ADDRESS] [-u USER] [-s SOURCE] [-d DESTINATION] [-m MAX_DEPTH] [-p PORT] [-k SSHKEY_PATH] [-c] argsparser for starting transferring files optional arguments: -h, --help show this help message and exit -a ADDRESS, --address ADDRESS address of the server -u USER, --user USER username for logging in -s SOURCE, --source SOURCE path of the source file or directory -d DESTINATION, --destination DESTINATION path of the destination directory -m MAX_DEPTH, --max-depth MAX_DEPTH max parallel depth of the directory -p PORT, --port PORT ssh port of the server -k SSHKEY_PATH, --sshkey-path SSHKEY_PATH path of the private key -c, --check check whether the key in scow-sync-ssh is right [root@login01 ~]# scow-sync-query [] [root@login01 ~]# scow-sync-terminate -h usage: scow-sync-terminate [-h] [-a ADDRESS] [-u USER] [-s SOURCE] argsparser for terminating transferring files optional arguments: -h, --help show this help message and exit -a ADDRESS, --address ADDRESS address of the server -u USER, --user USER username for logging in to the server -s SOURCE, --source SOURCE path to the source file or directory","s":"3. 在每个传输节点上安装scow-sync传输软件","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#3-在每个传输节点上安装scow-sync传输软件","p":589},{"i":600,"t":"配置scow-sync的输出路径为可选操作,默认的输出路径为~/scow/.scow-sync。 修改scow-sync代码中的scow_sync/config.py的SCOWSYNC_PATH、LOG_PATH和ERROR_PATH,以下为默认配置: SCOWSYNC_PATH = os.path.expanduser('~/scow/.scow-sync') # scow-sync传输文件进度保存目录 LOG_PATH = os.path.join(SCOWSYNC_PATH, 'scow-sync.log') # scow-sync打印日志目录 ERROR_PATH = os.path.join(SCOWSYNC_PATH, 'scow-sync.err') # scow-sync错误日志目录 SCOWSYNC_PATH的路径必须为以~开头的用户路径,从而实现用户信息的隔离。","s":"4. 可选:自定义scow-sync的日志路径","u":"/SCOW/docs/deploy/config/portal/transfer-cross-clusters","h":"#4-可选自定义scow-sync的日志路径","p":589},{"i":603,"t":"本方案各节点IP使用的是private_network模式(Host-Only),若不与其他虚机IP冲突,可不需要修改直接使用默认即可。如需要修改节点IP,可参照如下操作: (1) Vagrantfile修改: 通过修改Vagrantfile文件vm_list下各节点的eth1属性,修改集群中各节点 使用的IP,需保证设置的各节点IP在同一局域网内。 (2) slurm配置文件修改: slurm\\slurm.conf文件中的nodes配置部分,将各节点IP修改为与vm_list中配置的一致; slurm\\ldap_client.sh文件中ServHost改为slurm节点IP; slurm\\nfs_client.sh文件中的192.168.88.101改为slurm节点IP。 (3) SCOW配置文件修改: scow\\scow-deployment\\config\\auth.yml文件中的ldap.url的IP改为slurm节点IP; scow\\scow-deployment\\config\\mis.yaml文件中fetchJobs.db.host改为scow节点IP; scow\\scow-deployment\\config\\clusters\\hpc01.yaml文档中slurm.mis.managerUrl改为slurm节点IP。 (4) export job配置文件修改: scow\\export-jobs\\config.py文件中的cluster_db_conf.host改为slurm节点IP,mgt_db_conf.hostscow节点IP。 以上配置修改完成之后执行部署命令: vagrant up","s":"1. 如何修改节点私网IP","u":"/SCOW/docs/deploy/get-started/vagrant/customization","h":"#1-如何修改节点私网ip","p":601},{"i":605,"t":"以添加计算节点cn02为例,Vagrantfile文件vm_list中复制一份cn01的配置,并做如下修改: { :name => \"cn02\", :eth1 => \"192.168.88.104\", :mem => \"4096\", :cpu => \"4\", :sshport => 22234, :box => \"icode/slurm_compute\", :role => \"slurm\", :is_service_node => false } 注意修改name,eth1,sshport的值,可不修改其他属性值。 slurm\\slurm.conf文件中修改计算节点和分区配置信息部分: # NODES 配置部分将cn02节点加入 NodeName=cn0[1-2] NodeAddr=192.168.88.10[3-4] CPUs=4 CoresPerSocket=2 ThreadsPerCore=1 RealMemory=3500 Procs=1 State=UNKNOWN # PARTITIONS 配置部分将cn02节点加入 PartitionName=compute Nodes=cn0[1-2] Default=YES MaxTime=INFINITE State=UP scow\\scow-deployment\\config\\clusters\\hpc01.yaml修改节点和分区配置: # ... slurm: loginNodes: - name: login address: 192.168.88.102 partitions: - name: compute # 分区内节点数修改为2 nodes: 2 # ... 以上配置修改完成之后执行部署命令: vagrant up","s":"2. 如何新增计算节点","u":"/SCOW/docs/deploy/get-started/vagrant/customization","h":"#2-如何新增计算节点","p":601},{"i":608,"t":"在vagrant up时出现如下报错: 解决方法: 进入vagrant的box目录,找到对应box的box.ovf配置文件(默认在{userhome}/.vagrant.d/boxes/下进入对应的box目录查找),删除AudioAdapter配置。","s":"1. Invalid value 'WAS' in AudioAdapter/@driver attribute","u":"/SCOW/docs/deploy/get-started/vagrant/faq","h":"#1--invalid-value-was-in-audioadapterdriver-attribute","p":606},{"i":610,"t":"本项目面向开发和测试人员,基于Vagrant,采用VirtualBox作为Provider,提供slurm+SCOW集群一键部署方案,极大简化了部署流程和部署门槛。 部署slurm+SCOW四节点集群,节点角色及默认配置如下表所示: 节点名称/角色 主要服务 私网IP 配置 scow scow:portal、mis、auth、gateway 192.168.88.100 4C4G slurm slurmdbd、slurmctld、slurmd、mariadb、nfs-server、slapd、sssd 192.168.88.101 2C2G login slurmd、sssd、nfs、Xfce、KDE、MATE、cinnamon 192.168.88.102 2C2G cn01 slurmd、sssd、nfs、Xfce、KDE、MATE、cinnamon 192.168.88.103 2C2G","s":"使用","u":"/SCOW/docs/deploy/get-started/vagrant","h":"","p":609},{"i":612,"t":"把scow-vagrant项目clone下来,在这个项目根目录下执行以下命令: git clone https://github.com/PKUHPC/scow-vagrant.git 部署前准备: 下载最新Release的scow-cli,拷贝至scow\\scow-deployment目录,并命名为cli; 编译生成最新的适配器可执行程序(CentOS7.9),替换adapter目录下的scow-slurm-adapter-amd64(默认为与SCOWv1.2.3匹配版本),编译参考文档; 修改配置文件scow\\scow-deployment\\install.yaml,imageTag修改为与cli匹配的版本,例如v1.2.3。 一键部署命令: vagrant up 第一次部署需要从vagrant clould拉取vagrant镜像,速度会比较慢,请耐心等待。","s":"1. 集群一键部署","u":"/SCOW/docs/deploy/get-started/vagrant","h":"#1-集群一键部署","p":609},{"i":614,"t":"初始化地址:http://192.168.88.100/mis/init/ 用户名/密码:demo_admin/demo_admin 进入初始化页面,选择创建初始管理员用户,将demo_admin设置为管理员用户。后续用户、账户设置请参考本项目操作手册。","s":"2. 集群初始化","u":"/SCOW/docs/deploy/get-started/vagrant","h":"#2-集群初始化","p":609},{"i":616,"t":"#登录到集群scow节点 vagrant ssh scow # 输入root用户密码,密码为:vagrant # 进入scow部署目录 /root/scow/scow-deployment # 拉取最新镜像 ./cli compose pull # 重启服务 ./cli compose down ./cli compose up -d","s":"3. SCOW运维操作","u":"/SCOW/docs/deploy/get-started/vagrant","h":"#3-scow运维操作","p":609},{"i":618,"t":"vagrant destroy","s":"4. 集群一键销毁命令","u":"/SCOW/docs/deploy/get-started/vagrant","h":"#4-集群一键销毁命令","p":609},{"i":620,"t":"vagrant环境搭建 自定义部署 vagrant镜像制作 FAQ","s":"5. 更多文档","u":"/SCOW/docs/deploy/get-started/vagrant","h":"#5-更多文档","p":609},{"i":623,"t":"基于vagrant官方centos/7镜像(7.8.2003),执行的命令如下: # 1. 升级到centos7.9.2009 yum update -y # 2. 关闭firewalld、dnsmasq、NetworkManager systemctl disable --now firewalld systemctl disable --now dnsmasq systemctl disable --now NetworkManager # 3. 关闭selinux setenforce 0 sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/sysconfig/selinux sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config getenforce # 4. 关闭swap swapoff -a && sysctl -w vm.swappiness=0enforcing sed -ri '/^[^#]*swap/s@^@#@' /etc/fstab # 5. 时间同步 rpm -ivh http://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm yum install ntpdate vim -y # 同步时间。time2.aliyun.com外网,vineyard.pku.edu.cn内网 # 时间同步配置如下: ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime echo 'Asia/Shanghai' >/etc/timezone ntpdate time2.aliyun.com cat >>/var/spool/cron/root </etc/timezone ntpdate time2.aliyun.com cat >>/var/spool/cron/root < \"${RSESSION_WRAPPER_FILE}\" << EOL #!/usr/bin/env bash # Log all output from this script export RSESSION_LOG_FILE=\"${PWD}/rsession.log\" exec &>>\"\\${RSESSION_LOG_FILE}\" # Launch the original command echo \"Launching rsession...\" set -x exec ${RSTUDIO_RSESSION} --r-libs-user \"${R_LIBS_USER}\" \"\\${@}\" EOL ) chmod 700 \"${RSESSION_WRAPPER_FILE}\" cd \"${HOME}\" export TMPDIR=\"$(mktemp -d)\" mkdir -p \"$TMPDIR/rstudio-server\" python -c 'from uuid import uuid4; print(uuid4())' > \"$TMPDIR/rstudio-server/secure-cookie-key\" chmod 0600 \"$TMPDIR/rstudio-server/secure-cookie-key\" set -x # Launch the RStudio Server export PATH=/data/software/rstudio-server/1.3.959/usr/lib/rstudio-server/bin:$PATH echo \"Starting up rserver...\" # RStudio Server 1.4.1103之前版本不需要--database-config-file,之后版本需要增加此配置 /data/software/rstudio-server/1.3.959/usr/lib/rstudio-server/bin/rserver \\ --www-port \"${PORT}\" \\ --auth-none 1 \\ --auth-pam-helper-path \"${RSTUDIO_AUTH}\" \\ --auth-encrypt-password 0 \\ --rsession-path \"${RSESSION_WRAPPER_FILE}\" \\ --server-data-dir \"${TMPDIR}\" \\ --server-user ${USER} \\ --secure-cookie-key-file \"${TMPDIR}/rstudio-server/secure-cookie-key\" \\ --rsession-which-r ${WHICHR} echo 'Singularity as exited...' # 如何连接应用 connect: method: POST path: /auth-do-sign-in formData: password: \"{{ PASSWORD }}\" username: \"{{ USER }}\" appUri: \"{{ APPURI }}\" # 配置HTML表单 attributes: - type: select name: r_version label: 请选择R版本 select: - value: R-3.6.0 label: 3.6.0 - value: R-4.2.3 label: 4.2.3 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"1、RStudio Server 1.4.1103之前版本","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#1rstudio-server-141103之前版本","p":636},{"i":652,"t":"config/apps/rstudio.yml # 这个应用的ID id: rstudio # 这个应用的名字 name: RStudio # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) export SLURM_COMPUTE_NODE_HOSTNAME=$(hostname) export APPURI=\"${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_HOSTNAME}/${PORT}/\" export USER=${USER} export SINGULARITY_VERSION=\"singularity/3.9.2\" # 运行任务的脚本。可以使用准备脚本定义的变量 script: | setup_env () { # Additional environment which could be moved into a module export RSTUDIO_PASSWORD=${PASSWORD} # Change these to suit export RSTUDIO_SERVER_IMAGE=\"/data/software/rstudio-server/rstudio.sif\" # 容器中rstudio的路径 export RSTUDIO_HOME=/usr/lib/rstudio-server export RSTUDIO_BIN_PATH=${RSTUDIO_HOME}/bin export RSTUDIO_RSERVER=${RSTUDIO_BIN_PATH}/rserver export RSTUDIO_RSESSION=${RSTUDIO_BIN_PATH}/rsession export RSTUDIO_AUTH=\"/data/software/rstudio-server/auth\" export RSESSION_WRAPPER_FILE=\"${PWD}/rsession.sh\" export DB_CONF_FILE=\"${PWD}/database.conf\" export WHICHR=/data/software/R/${r_version}/bin/R } setup_env module switch ${SINGULARITY_VERSION} ( umask 077 sed 's/^ \\{2\\}//' > \"${RSESSION_WRAPPER_FILE}\" << EOL #!/usr/bin/env bash # Log all output from this script export RSESSION_LOG_FILE=\"${PWD}/rsession.log\" exec &>>\"\\${RSESSION_LOG_FILE}\" # Launch the original command echo \"Launching rsession...\" set -x exec ${RSTUDIO_RSESSION} --r-libs-user \"${R_LIBS_USER}\" \"\\${@}\" EOL ) chmod 700 \"${RSESSION_WRAPPER_FILE}\" cd \"${HOME}\" export TMPDIR=\"$(mktemp -d)\" mkdir -p \"$TMPDIR/rstudio-server\" python -c 'from uuid import uuid4; print(uuid4())' > \"$TMPDIR/rstudio-server/secure-cookie-key\" chmod 0600 \"$TMPDIR/rstudio-server/secure-cookie-key\" ( umask 177 cat > \"${DB_CONF_FILE}\" << EOL provider=sqlite directory=${HOME}/.local/share/rstudio/database EOL ) set -x # Launch the RStudio Server echo \"Starting up rserver...\" # RStudio Server 1.4.1103之前版本不需要--database-config-file,之后版本需要增加此配置 singularity run -B \"/tmp:/tmp\",\"/data:/data\" \"$RSTUDIO_SERVER_IMAGE\" ${RSTUDIO_RSERVER} \\ --www-port \"${PORT}\" \\ --auth-none 1 \\ --auth-pam-helper-path \"${RSTUDIO_AUTH}\" \\ --auth-encrypt-password 0 \\ --rsession-path \"${RSESSION_WRAPPER_FILE}\" \\ --server-data-dir \"${TMPDIR}\" \\ --server-user ${USER} \\ --secure-cookie-key-file \"${TMPDIR}/rstudio-server/secure-cookie-key\" \\ --database-config-file \"${DB_CONF_FILE}\" \\ --rsession-which-r ${WHICHR} echo 'Singularity as exited...' # 如何连接应用 connect: method: POST path: /auth-do-sign-in formData: password: \"{{ PASSWORD }}\" username: \"{{ USER }}\" appUri: \"{{ APPURI }}\" # 配置HTML表单 attributes: - type: select name: r_version label: 请选择R版本 select: - value: R-3.6.0 label: 3.6.0 - value: R-4.2.3 label: 4.2.3 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\"","s":"2、RStudio Server 1.4.1103及之后版本(源码安装R)","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#2rstudio-server-141103及之后版本源码安装r","p":636},{"i":654,"t":"config/apps/rstudio.yml # 这个应用的ID id: rstudio # 这个应用的名字 name: RStudio # 指定应用类型为web type: web # Web应用的配置 web: # 指定反向代理类型 proxyType: relative # 准备脚本 beforeScript: | export PORT=$(get_port) export PASSWORD=$(get_password 12) export SLURM_COMPUTE_NODE_NAME=$(hostname) export APPURI=\"${PROXY_BASE_PATH}/${SLURM_COMPUTE_NODE_NAME}/${PORT}/\" export USER=${USER} export SINGULARITY_VERSION=\"singularity/3.9.2\" export SHELL_NAME=$(echo ${SHELL} | awk -F'/' '{print $NF}') export CONDA_VERSION=\"anaconda/3-2023.03\" # 运行任务的脚本。可以使用准备脚本定义的变量 script: | setup_env () { # Additional environment which could be moved into a module export RSTUDIO_PASSWORD=${PASSWORD} # Change these to suit export RSTUDIO_SERVER_IMAGE=\"/data/software/rstudio-server/rstudio.sif\" # 容器中rstudio的路径 export RSTUDIO_HOME=/usr/lib/rstudio-server export RSTUDIO_BIN_PATH=${RSTUDIO_HOME}/bin export RSTUDIO_RSERVER=${RSTUDIO_BIN_PATH}/rserver export RSTUDIO_RSESSION=${RSTUDIO_BIN_PATH}/rsession export RSTUDIO_AUTH=\"/data/software/rstudio-server/auth\" export RSESSION_WRAPPER_FILE=\"${PWD}/rsession.sh\" export DB_CONF_FILE=\"${PWD}/database.conf\" export WHICHR=/data/software/R/${r_version}/bin/R } setup_env module switch ${SINGULARITY_VERSION} for m in ${textModuleName}; do module switch ${m}; done conda -V &> /dev/null if [ $? -ne 0 ]; then module switch ${CONDA_VERSION} fi # init conda eval \"$($(which conda) shell.${SHELL_NAME} hook)\" conda activate ${r_version} if [ $? -ne 0 ]; then echo \"${r_version}不存在,请输入正确的R版本!\" exit 2 fi ( umask 077 sed 's/^ \\{2\\}//' > \"${RSESSION_WRAPPER_FILE}\" << EOL #!/usr/bin/env bash # Log all output from this script export RSESSION_LOG_FILE=\"${PWD}/rsession.log\" exec &>>\"\\${RSESSION_LOG_FILE}\" # Launch the original command echo \"Launching rsession...\" set -x exec ${RSTUDIO_RSESSION} --r-libs-user \"${R_LIBS_USER}\" \"\\${@}\" EOL ) chmod 700 \"${RSESSION_WRAPPER_FILE}\" cd \"${HOME}\" export TMPDIR=\"$(mktemp -d)\" mkdir -p \"$TMPDIR/rstudio-server\" python -c 'from uuid import uuid4; print(uuid4())' > \"$TMPDIR/rstudio-server/secure-cookie-key\" chmod 0600 \"$TMPDIR/rstudio-server/secure-cookie-key\" ( umask 177 cat > \"${DB_CONF_FILE}\" << EOL provider=sqlite directory=${HOME}/.local/share/rstudio/database EOL ) set -x # Launch the RStudio Server echo \"Starting up rserver...\" # RStudio Server 1.4.1103之前版本不需要--database-config-file,之后版本需要增加此配置 singularity run -B \"/tmp:/tmp\",\"/data:/data\" \"$RSTUDIO_SERVER_IMAGE\" ${RSTUDIO_RSERVER} \\ --www-port \"${PORT}\" \\ --auth-none 1 \\ --auth-pam-helper-path \"${RSTUDIO_AUTH}\" \\ --auth-encrypt-password 0 \\ --rsession-path \"${RSESSION_WRAPPER_FILE}\" \\ --server-data-dir \"${TMPDIR}\" \\ --server-user ${USER} \\ --secure-cookie-key-file \"${TMPDIR}/rstudio-server/secure-cookie-key\" \\ --database-config-file \"${DB_CONF_FILE}\" # --rsession-which-r ${WHICHR} echo 'Singularity as exited...' # 如何连接应用 connect: method: POST path: /auth-do-sign-in formData: password: \"{{ PASSWORD }}\" username: \"{{ USER }}\" appUri: \"{{ APPURI }}\" # 配置HTML表单 attributes: - type: select name: r_version label: 请选择R版本 select: - value: R-3.6.0 label: 3.6.0 - value: R-4.2.3 label: 4.2.3 - type: text name: textModuleName label: Modules required: false # 输入需要额外加载的环境模块列表 placeholder: 输入需要额外加载的环境模块列表,模块之间用空格分开(比如:python/2.7.5 code-server/4.9.1) # 提示信息 - type: text name: sbatchOptions label: 其他sbatch参数 required: false placeholder: \"比如:--gpus gres:2 --time 10\" 增加了此文件后,刷新WEB浏览器即可。 对于RStudio,export以下变量的含义是: SLURM_COMPUTE_NODE_HOSTNAME: 计算节点的主机名 SINGULARITY_VERSION:Singularity版本","s":"3、RStudio Server 1.4.1103及之后版本(Conda环境安装R)","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#3rstudio-server-141103及之后版本conda环境安装r","p":636},{"i":657,"t":"Singularity用于构建和运行RStudio Server容器镜像,建议安装在共享存储上,集群各节点只需要挂载上共享存储,并配置好环境变量后便可以使用。 安装Singularity依赖包: yum install -y gcc libuuid-devel squashfs-tools openssl-devel make Singularity使用Go语言开发,需要先安装Go: export VERSION=1.20.3 OS=linux ARCH=amd64 wget https://dl.google.com/go/go$VERSION.$OS-$ARCH.tar.gz mkdir -p /data/software/go tar -C /data/software/go -xzvf go$VERSION.$OS-$ARCH.tar.gz mv /data/software/go/go /data/software/go/$VERSION rm -f go$VERSION.$OS-$ARCH.tar.gz 将Go添加到module工具中统一管理: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/go cat >> ${MODULEPATH}/go/1.20.3 << EOF #%Module1.0##################################################################### ## ## go@1.20.3 modulefile ## proc ModulesHelp { } { puts stderr \" This module defines environment variables, aliases and add PATH, LD_LIBRARY_PATH for go\" puts stderr \" Version 1.20.3\" } module-whatis \"go@1.20.3\" prepend-path PATH \"/data/software/go/1.20.3/bin\" prepend-path LIBRARY_PATH \"/data/software/go/1.20.3/lib\" prepend-path LD_LIBRARY_PATH \"/data/software/go/1.20.3/lib\" EOF 安装Singularity: export VERSION=3.9.2 wget https://github.com/sylabs/singularity/releases/download/v${VERSION}/singularity-ce-${VERSION}.tar.gz tar -xzf singularity-ce-${VERSION}.tar.gz cd singularity-ce-${VERSION} module load go/1.20.3 ./mconfig --prefix=/data/software/singularity/${VERSION} cd builddir/ make -j && make install 将Singularity添加到module工具中统一管理: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/singularity cat >> ${MODULEPATH}/singularity/3.9.2 << EOF #%Module1.0##################################################################### ## ## singularity@3.9.2 modulefile ## proc ModulesHelp { } { puts stderr \" This module defines environment variables, aliases and add PATH, LD_LIBRARY_PATH for singularity\" puts stderr \" Version 3.9.2\" } module-whatis \"singularity@3.9.2\" prepend-path PATH \"/data/software/singularity/3.9.2/bin\" EOF","s":"1、Singularity安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#1singularity安装","p":636},{"i":659,"t":"2.1、源码安装R​ 安装R的依赖包: yum -y install gcc-gfortran gcc-c++ glibc-headers java-1.8.0-openjdk java-1.8.0-openjdk-devel libX11-devel libXt-devel xz-devel curl-devel bzip2-devel readline-devel zlib-devel openssl-devel pcre2 安装R: # 下载R的源代码并编译安装 curl -LJO https://cran.rstudio.com/src/base/R-4/R-4.2.3.tar.gz tar zxf R-4.2.3.tar.gz # 必须有--enable-R-shlib这个选项(lib64/R/lib/libR.so) ./configure --prefix=/data/software/R/R-4.2.3 --enable-R-shlib make -j make install 将R添加到module工具中统一管理: # ${MODULEPATH}为modulefile所在的路径 mkdir -p ${MODULEPATH}/R cat >> ${MODULEPATH}/R/3-2023.03 << EOF #%Module1.0##################################################################### ## ## R@4.2.3 modulefile ## proc ModulesHelp { } { puts stderr \"\\tThis module defines environment variables, aliases and add PATH for R\" puts stderr \"\\tVersion 4.2.3\" } module-whatis \"R@4.2.3\" prepend-path PATH \"/data/software/R/R-4.2.3/bin\" EOF 2.2、在Conda环境安装R​ # 载入conda到系统环境中,并初始化conda环境 module load anaconda/3-2023.03 eval \"$($(which conda) shell.bash hook)\" # 添加北大镜像源,查找相应版本的R进行安装 conda config --add channels https://mirrors.pku.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.pku.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.pku.edu.cn/anaconda/cloud/conda-forge/ conda search R # 根据查找到的R版本,创建Conda虚拟环境,并在创建的时候指定需要安装的R版本,这里选择安装R-3.6.0版本; conda create -n R-3.6.0 r=3.6.0 -y # 进入上一步创建好的虚拟环境; conda activate R-3.6.0 # 安装R语言库,比如stringi conda install r-stringi -y # 安装完后就可以用R语言环境了,如果要退出当前环境则执行以下指令; conda deactivate","s":"2、R安装","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#2r安装","p":636},{"i":661,"t":"下载RStudio Server源码包进行编译打包: # 下载源码包 wget https://github.com/rstudio/rstudio/archive/refs/tags/v2023.03.0+386.tar.gz # 解压源码包 tar -zxvf v2023.03.0+386.tar.gz cd rstudio-2023.03.0-386 # 跳过登录时的csrf-token验证,高版本的RStudio Server集成到scow需要跳过验证 sed -i '134s/^/\\/\\//' src/cpp/server/auth/ServerAuthCommon.cpp # 在当前路径初始化git仓库 git init # 增加git缓存配置 git config --global http.postBuffer 5242880000 # 因为是新初始化的git仓库,所以没有提交记录,那么没有HEAD引用。通过执行第一次提交来创建一个HEAD引用 git config --global user.email ${USER_EMAIL_ADDRESS} git commit --allow-empty -n -m \"Initial commit.\" # 以下脚本首先构建编译rstudio server所需环境的docker容器,然后在容器内进行rstudio server编译,编译完成后会在源码包路径的package目录下生成rstudio server的rpm包 # 执行过程如果遇到git克隆包克隆不下来的情况,可以在执行的shell环境添加代理或者修改代码中的克隆地址 sh docker/docker-compile.sh centos7 server 2023.03.0-386 # 可以看到目录下有编译好的rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm包 ls package 在rstudio-2023.03.0-386目录下编写Dockerfile文件: FROM centos:7 COPY package/rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm / RUN yum -y update && \\ yum -y install epel-release && \\ yum -y install which gcc-gfortran gcc-c++ glibc-headers java-1.8.0-openjdk java-1.8.0-openjdk-devel libX11-devel libXt-devel xz-devel curl-devel bzip2-devel readline-devel zlib-devel openssl-devel pcre2 initscripts postgresql-libs psmisc && \\ cd / && \\ rpm2cpio rstudio-server-rhel-2023.03.0-386-x86_64-relwithdebinfo.rpm | cpio -div && \\ mkdir data && \\ yum clean all 在rstudio-2023.03.0-386目录下构建RStudio Server的docker镜像: docker build -t rstudio:2023.03.0-386 . 构建RStudio Server的Singularity镜像: singularity build rstudio.sif docker-daemon://rstudio:2023.03.0-386 将Singularity镜像拷贝到共享存储,以便在计算节点可以访问并运行: cp rstudio.sif /data/software/rstudio-server/","s":"3、构建RStudio Server镜像","u":"/SCOW/docs/deploy/config/portal/apps/apps/rstudio","h":"#3构建rstudio-server镜像","p":636},{"i":663,"t":"本节介绍如何在已有的超算集群上部署SCOW系统。您可参考本文档在生产环境中部署SCOW。","s":"安装","u":"/SCOW/docs/deploy/install","h":"","p":662},{"i":665,"t":"slurm集群准备完毕 版本为21.08.4及以上 已经部署slurm的Accounting功能 部署slurm集群可参考slurm集群部署实践 slurm集群各节点实现了LDAP认证,提供两个基于CentOS7的脚本用来快速搭建和配置LDAP,修改两个文件开头部分的相关配置(Start Configuratin Part和End Configuration Part之间的变量),运行即可: provider.sh: 用于配置LDAP服务器 client.sh: 用于配置LDAP客户端(slurm集群所有节点都需要执行) slurm集群挂载了并行文件系统,例如lustre、gpfs等,提供NFS的搭建供参考; 登录节点和计算节点安装TurboVNC,版本3.0以上,官方安装教程; 登录节点安装桌面,例如Xfce、KDE、MATE等。","s":"一. 前提条件","u":"/SCOW/docs/deploy/install","h":"#一--前提条件","p":662},{"i":668,"t":"我们推荐将SCOW部署在一个单独的节点上。下文称部署这些组件的节点为服务节点,要求如下: 最小配置:8C16G,推荐配置(生产级):16C32G; 与slurm集群各节点网络可达,或者至少与slurm集群登录节点和管理节点网络可达(代理网关方案)。 服务节点可以免密以root用户SSH登录到slurm集群各个登录节点,并且服务节点的~/.ssh目录下有登录所需要的id_rsa.pub和id_rsa文件 运行所有部署的命令用户不需要为root,但是此用户的~/.ssh下的密钥对需可以以root用户登录登录节点 服务节点/代理网关节点可以SSH连接到所有计算节点,并且计算节点和登录节点的所有用户共享同样的SSH authorized_keys配置文件 警告 因为这个issue,如果您的登录节点和计算节点的所使用的OpenSSH的版本高于8.2(大多比CentOS 7新的操作系统默认的版本均高于此),那么即使您能在SCOW节点上通过ssh命令连接到登录和计算节点上,SCOW可能也无法通过SSH连接到这些节点上。如果您遇到了这个问题,您需要在您的各个节点的/etc/ssh/sshd_config文件中增加以下内容,并重启sshd服务。 PubkeyAcceptedKeyTypes=+ssh-rsa 这是因为OpenSSH从8.2版本开始默认取消了对ssh-rsa公钥签名算法的支持(OpenSSH 8.2 Release Note)。当前系统仅支持使用ssh-rsa类型的公钥对进行SSH登录,在后续我们会增加对使用更新算法(例如ed25519)的公私钥对的默认支持。 另外,Rocky Linux 9.3 或 RHEL 9 中,需调整加密策略到 LEGACY 以支持加密算法(如 ssh-rsa)。 sudo update-crypto-policies --set LEGACY 为了简化部署,系统组件以docker镜像的形式分发。服务节点应该安装好 docker(安装docker的官方文档) docker compose(安装docker compose的官方文档)。","s":"1. 准备SCOW部署节点","u":"/SCOW/docs/deploy/install","h":"#1-准备scow部署节点","p":662},{"i":670,"t":"针对不同种类的调度器,需要在集群上部署对应的适配器。适配器是在SCOW和底层调度器之间的中间层,向SCOW提供一组接口,SCOW通过这组接口调用适配器功能。理论上,只要适配器实现了接口所定义的功能,SCOW就能方便地部署在对应集群上。 适配器本质上是一个gRPC服务器,我们已经实现了部分调度器对应的适配器,可以参考下列文档部署适配器 slurm 提示 适配器运行依赖本机glibc版本,强烈建议在与运行环境(slurm管理节点)一致的环境中下载源码自行编译。 适配器将会暴露一个端口来提供服务,SCOW将通过ip地址+端口号访问适配器,调用接口。请记录下适配器的地址信息,用于后续部署。","s":"2. 编译和部署适配器","u":"/SCOW/docs/deploy/install","h":"#2-编译和部署适配器","p":662},{"i":672,"t":"3.1 下载scow-cli​ scow-cli是我们官方维护的SCOW部署和运维工具,能够帮助您快速部署、管理和维护SCOW集群。 参考scow-cli下载scow-cli,并将其存放到一个你用于存放SCOW配置文件的目录下。 # scow目录将会用于存在SCOW相关的配置文件 mkdir scow cd scow # 将下载的scow-cli移动到scow目录下 cp /path/to/scow-cli ./ chmod +x scow-cli 3.2 配置文件​ 运行以下命令生成示例配置文件: # 生成安装配置文件./install.yaml和示例配置文件目录./config ./cli init 主要配置文件及说明(根据以下顺序配置系统): 顺序 配置文件 功能说明 是否必须 配置DEMO 备注 1 install.yaml 安装文件 必须 install.yaml 按照集群需求修改对应参数 2 {集群ID}.yaml 集群配置文件 必须 {集群ID}.yaml 支持多集群,一个集群一个配置文件 3 auth.yaml 认证系统 必须 auth.yaml 所有集群同一个认证系统 4 mis.yaml 管理系统 可选 mis.yaml 5 portal.yaml 门户系统 可选 portal.yaml 若登录节点不是安装的xfce,需要对应进行修改 6 audit.yaml 审计系统 可选 audit.yaml 3.3 其他配置(可选)​ 交互式应用 为交互式应用配置图标 多集群交互式应用配置 自定义logo 跨集群文件传输功能 代理网关节点 集群监控配置 自定义前端主题 自定义用户密码规则 国际化 配置完成后,运行以下命令启动系统。 ./cli compose up -d 当修改了配置文件后,运行以下命令重启系统 ./cli compose restart","s":"3. 安装和配置SCOW","u":"/SCOW/docs/deploy/install","h":"#3-安装和配置scow","p":662},{"i":674,"t":"目前系统处于公开测试阶段,暂不提供构建好的镜像下载。本部分介绍如何从源码构建项目的镜像。 在服务节点中安装以下软件: docker docker compose 从仓库clone项目 git clone https://github.com/PKUHPC/SCOW --depth=1 构建镜像 # 构建tag为scow:latest的镜像。如果需要修改镜像的tag,请修改-t参数的值 docker build -f docker/Dockerfile.scow -t scow . 提示 为了简化构建镜像时所需要的环境和减少所需时间,使用此命令构建镜像时,docker将会自动使用运行此命令时的机器的架构编译镜像。例如如果您在AMD64架构的机器上编译,编译出来的镜像仅支持AMD64架构。 请查看多架构支持文档来了解系统对非AMD64架构(如ARM64)的机器的支持。","s":"从源码构建","u":"/SCOW/docs/deploy/install/build-from-source","h":"#从源码构建","p":673},{"i":676,"t":"本文档从部署规划开始,一步一步搭建slurm集群,安装共享存储、安装module、intel等工具软件。 让我们从零开始。","s":"slurm部署简介","u":"/SCOW/docs/hpccluster","h":"","p":675},{"i":678,"t":"SCOW系统支持以下运行环境的镜像。您只需在支持的机器上安装对应版本的docker,就可以拉取或者构建符合你当前机器架构的镜像。 linux/amd64 linux/arm64","s":"多架构支持","u":"/SCOW/docs/deploy/install/multi-platform","h":"","p":677},{"i":680,"t":"scow-cli同样支持上述运行环境。请在下载时选择您部署所在的机器的操作系统和架构下载。","s":"scow-cli","u":"/SCOW/docs/deploy/install/multi-platform","h":"#scow-cli","p":677},{"i":682,"t":"直接运行docker build构建出来的镜像为只支持您编译时机器的架构的镜像。要想编译出同时支持以上所有架构的的镜像,请参考以下步骤: 根据docker官方的Multi-platform images文档,创建并使用支持多平台编译的builder docker buildx create --name mybuilder --driver docker-container --bootstrap --use 通过这个builder构建镜像 # docker buildx build -f docker/Dockerfile.scow -t scow --platform=linux/arm64,linux/cmd64 .","s":"编译支持多架构的镜像","u":"/SCOW/docs/deploy/install/multi-platform","h":"#编译支持多架构的镜像","p":677},{"i":684,"t":"请通过以下方法下载scow-cli,并将下载的文件解压,将里面的可执行文件存放到您将会存放SCOW配置文件的目录下。 GitHub Release: SCOW每次发布新的版本时,将会将此版本的scow-cli上传到Release中 想获取最新的scow-cli版本?您可以从GitHub Actions的Test, Build and Publish Projects workflow中下载到上传到Archive的scow-cli。 参考命令 # 如果没有wget,可以先install yum install wget # 下载对应的release版本。修改latest、cli-x64可下载指定版本cli # 修改latest为v0.4.0即可下载0.4.0版本的cli,如 https://github.com/PKUHPC/SCOW/releases/download/v0.4.0/cli-x64 # 可修改cli-x64为cli-arm64下载arm64版本,如 https://github.com/PKUHPC/SCOW/releases/download/v0.4.0/cli-arm64 wget https://github.com/PKUHPC/SCOW/releases/download/latest/cli-x64 # 重命名 mv cli-x64 cli #修改文件权限 chmod +x cli","s":"下载","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":686,"t":"scow-cli使用运行目录下的install.yaml作为配置来管理集群,但您可以通过-c命令行选项指定install.yaml的路径。","s":"配置","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":688,"t":"# docker compose 操作 # 在compose后跟任意compose参数 # 注意:每次运行compose的操作时,cli将会在本目录下创建一个临时的docker-compose-{时间戳}.yml文件,运行结束后会删除此文件 # 以保证docker compose配置的内容为最新 # 启动集群 ./cli compose up -d # 关闭集群 ./cli compose down # 更新镜像 ./cli compose pull # 生成docker-compose.yml文件 ./cli generate -o docker-compose.yml # 进入数据库 ./cli db # 将最简版本的示例配置文件放到当前目录下 ./cli init # 将全版本的示例配置文件放到当前目录下 ./cli init -f # 查看当前使用install.yaml的内容 ./cli view-install # 检查./config目录下的SCOW配置文件的格式 ./cli check-config","s":"使用","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":690,"t":"从scow-deployment迁移到scow-cli是非常容易的。 首先,请先下载scow-cli到您的scow-deployment文件夹中,确保config.py存在于目录中,然后运行 ./cli migrate 此命令将会读取当前目录中config.py中的配置,并生成对应的install.yaml。 之后,您就可以使用scow-cli来管理您的集群了。","s":"从scow-deployment迁移","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":692,"t":"使用 scow-deployment scow-cli 启动系统 ./compose.sh up -d ./cli compose up -d 停止系统 ./compose.sh down ./cli compose down 跟随查看所有日志 ./compose.sh logs -f ./cli compose logs -f 更新镜像 ./compose.sh pull ./cli compose pull 进入数据库 ./db.sh ./cli db","s":"常见命令的对照","u":"/SCOW/docs/deploy/install/scow-cli","h":"#常见命令的对照","p":683},{"i":694,"t":"scow-cli可以自我更新。 # 更新到PR 535对应的最新的版本 ./cli update --pr 535 # 将test分支的最新cli下载到./cli-test ./cli update --pr 535 -o ./cli-test # 更新到test分支的最新cli版本 ./cli update --branch test # 更新至最新版本的scow-cli ./cli update # 更新cli至v0.4.0版本 ./cli update --release v0.4.0 # 下载v0.4.0版本的scow-cli并保存到./cli-test ./cli update --release v0.4.0 -o ./cli-test 使用--pr或者--branch选项需要您创建一个有workflow权限的GitHub Token ( https://github.com/settings/tokens/new ),并将这个token放到cli目录下的.env文件 .env # .env GITHUB_TOKEN={token}","s":"更新scow-cli","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":696,"t":"CLI需要访问网络的功能(例如更新scow-cli)可以设置HTTP代理。您可以通过设置HTTPS_PROXY, https_proxy, HTTP_PROXY, http_proxy环境变量来设置代理。如果多个环境变量同时存在,则使用优先级为上面列出来的顺序。 # 环境变量也可以写入.env中 export HTTPS_PROXY=http://localhost:1080 ./cli update","s":"代理","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":698,"t":"LOG_LEVEL=\"debug\" ./cli","s":"打印调试日志","u":"/SCOW/docs/deploy/install/scow-cli","h":"","p":683},{"i":700,"t":"部署LDAP后台管理后,访问http://{LDAP服务节点ip}:8080/ ,登录DN: cn=Manager,ou=hpc,o=pku Password: LDAP服务端安装脚本adminPasswd的值。","s":"LDAP新建用户","u":"/SCOW/docs/hpccluster/add-user","h":"","p":699},{"i":702,"t":"部署LDAP后台管理后,访问http://{LDAP服务节点ip}:8080/ ,登录DN: cn=Manager,ou=hpc,o=pku Password: LDAP服务端安装脚本adminPasswd的值。 登录成功后,新建Group: 选择 generic:posix group 填写group名字 点击create,然后点击commit,创建成功。 点击people新建用户 选择generic:user account 填写fist name,last name,设置密码。 GID选择刚刚设置的组。 home directory需要设置为NFS的目录,按照教程的配置,应该为 /data/home/用户名 点击create,然后点击commit,创建成功。 系统初始化时,访问部署路径的mis/init路径下,将管理员设置为刚刚创建的用户。 以该身份登录管理系统,点击租户管理-用户管理-创建用户,可以创建别的用户。 点击租户管理-账户管理-创建账户,账户的拥有者ID选择刚刚在管理系统创建的新用户。","s":"1. 界面添加LDAP用户","u":"/SCOW/docs/hpccluster/add-user","h":"#1-界面添加ldap用户","p":699},{"i":704,"t":"ldap服务节点操作 vim demo_admin.ldif dn: uid=demo_admin,ou=People,ou=hpc,o=pku objectClass: inetOrgPerson objectClass: posixAccount objectClass: shadowAccount cn: demo_admin sn: demo_admin uidNumber: 65001 gidNumber: 65001 homeDirectory: /data/home/demo_admin loginShell: /bin/bash userPassword: {SSHA}emlfzzuvWxe54LgoP5uCO7S63vIfK7jY dn: cn=demo_admin,ou=Group,ou=hpc,o=pku objectClass: posixGroup gidNumber: 65001 memberUid: demo_admin # 添加 ldapadd -x -D cn=Manager,ou=hpc,o=pku -W -f demo_admin.ldif #查找 ldapsearch -x -D cn=Manager,ou=hpc,o=pku -W \"uid=demo_admin,ou=People,ou=hpc,o=pku\" # 删除 ldapdelete -x -D cn=Manager,ou=hpc,o=pku -W \"uid=demo_admin,ou=People,ou=hpc,o=pku\" # 密码SSHA(可选择MD5等其他加密方式)加密 slappasswd -h {SSHA} -s \"password\"","s":"2. 命令添加LDAP用户","u":"/SCOW/docs/hpccluster/add-user","h":"#2-命令添加ldap用户","p":699},{"i":707,"t":"提示 门户系统报错时,请查看portal-server(优先)和portal-web日志;管理系统报错时,请查看mis-server(优先)和mis-web日志。","s":"1. 系统报错:查看运行日志","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#1-系统报错查看运行日志","p":705},{"i":709,"t":"各组件的实时日志是输出在stdout,可以通过./cli compose logs -f 查看实时的日志输出: # 查看所有组件的日志 ./cli compose logs -f # 查看认证系统的日志 ./cli compose logs -f auth # 查看门户系统服务器端的日志 ./cli compose logs -f portal-server # 查看管理系统服务器端的日志 ./cli compose logs -f mis-server 若开启了日志收集工具fluentd(默认开启),可以查看各组件的历史日志,历史日志的默认路径在/var/log/fluentd/,各组件的日志按组件名称分文件夹存储,每个组件的日志按照大小和日期分文件存储。 各组件日志: mis-web日志:","s":"1.1 查看日志","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#11-查看日志","p":705},{"i":711,"t":"SCOW日志输出支持日志等级设置,可选等级包括trace, debug, info, warn, error,默认等级为info,通过修改install.yamll日志配置部分来实现: log: # 可选trace, debug, info, warn, error, 默认info level: \"info\"","s":"1.2 设置日志级别","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#12-设置日志级别","p":705},{"i":714,"t":"作业执行完成时,在该作业的工作目录会生成两个标准输出文件:job.{job_id}.out和job.{job_id}.err。 当作业执行失败(状态为FAILED)时,可以通过查看job.{job_id}.err 文件内容分析错误的原因:所有作业列表->该作业行->进入目录:","s":"2.1 作业执行失败","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#21-作业执行失败","p":705},{"i":716,"t":"交互式应用分为web和vnc两类。 查看交互式应用执行的节点: web类应用:工作目录下的server_session_info.json文件中的HOST vnc类应用:工作目录下的VNC_SESSION_INFO文件 查看交互式应用输出日志及报错: web类应用:工作目录下的slurm-{job_id}.out文件 vnc类应用:工作目录下的output和vnc.log文件 截图略。","s":"2.2 交互式应用执行失败","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#22-交互式应用执行失败","p":705},{"i":718,"t":"SCOW支持可插拔的审计日志功能,配置审计日志的步骤如下: (1) 在install.yaml中添加 # 可添加审计日志功能,并配置审计日志数据库密码 audit: dbPassword: \"must!chang3this\" (2) 添加审计日志配置文件,在./config目录下添加audit.yaml # 审计系统数据库的信息。可以不修改 db: host: audit-db port: 3306 user: root dbName: scow_audit SCOW支持用户、账户、租户、平台级别操作日志查看:","s":"3. 用户操作审计:查看操作日志","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#3-用户操作审计查看操作日志","p":705},{"i":720,"t":"为解决只在某个用户下出现的错误,管理员可以通过模仿该用户,以该用户的身份登录到SCOW重现问题。 内置认证系统: 在config/auth.yml文件添加如下内容: # 当登录用户的ID为fromUser1,实际上以toUser1登录 mockUsers: fromUserId1: toUserId1 IAAA认证系统: 在config目录下创建pkuauth.yaml文件,内容如下: mockUsers: fromUserId1: toUserId1 修改改配置文件后无需重启认证系统,只需要退出再重新登录一下即可。","s":"4. 解决特定环境问题:模仿用户登录","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#4-解决特定环境问题模仿用户登录","p":705},{"i":723,"t":"在SCOW中可能会出现某个用户从账户中移除失败(slurm集群中该用户已与该账户取消关联)。该情况需要在SCOW数据库中处理: # 进入SCOW数据库 ./cli db use scow # 通过用户名查找该用户的ID,注意user表中的user_id是指用户名,用户ID是表的id列 select * from user where user_id=\"{user}\"; # 通过账户名查找该账户的ID select * from account where account_name=\"{account}\"; # 基于查找到的用户ID和账户ID,在用户账户关系表中。 # 注意user_account表中的user_id对应user表中的id,account_id对应account表中的id select * from user_account where user_id={user.id} and account_id={account.id}; #确认无误之后删除该记录 delete from user_account where user_id={user.id} and account_id={account.id};","s":"5.1 用户从账户中移除失败","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#51-用户从账户中移除失败","p":705},{"i":725,"t":"在SCOW中可能会出现将一个用户添加到某个账户中失败的情况(slurm集群中已存在该用户与该账户的关联)。该情况需要在SCOW数据库中处理: # 进入SCOW数据库、查找用户ID和账户ID请参考5.1小节 ./cli db use scow # 将用户与账户关系记录插入 insert into user_account(user_id,account_id,status,role,used_job_charge,job_charge_limit) values({user.id} , {account.id}, \"UNBLOCKED\", \"USER\", NULL, NULL);","s":"5.2 将用户添加到某个账户失败","u":"/SCOW/docs/deploy/ops/admin-usage-tips","h":"#52-将用户添加到某个账户失败","p":705},{"i":727,"t":"本节介绍如何对系统进行的常见运维操作。","s":"运维","u":"/SCOW/docs/deploy/ops","h":"","p":726},{"i":729,"t":"SCOW通过容器镜像分发,版本号即SCOW镜像的tag名。 要更新SCOW,请修改install.yaml中的imageTag为您想更新到的版本(tag名),例如: install.yaml # 使用v0.4.0版本 imageTag: v0.4.0 修改完成后,运行以下命令更新容器镜像并重新系统。 ./cli compose pull ./cli compose up -d 如果更新引入了破坏性的变更,请根据对应的更新说明,修改配置后在进行部署。","s":"更新","u":"/SCOW/docs/deploy/ops","h":"#更新","p":726},{"i":732,"t":"各个组件的日志直接写到stdout。可以使用常用的docker日志管理命令或者工具管理日志。如果使用的docker compose,可以使用./cli compose logs -f后面跟对应服务名称的方式查看服务的日志。 # 查看认证系统的日志 ./cli compose logs -f auth # 查看门户系统服务器端的日志 ./cli compose logs -f portal-server # 查看管理系统服务器端的日志 ./cli compose logs -f mis-server","s":"查看日志","u":"/SCOW/docs/deploy/ops","h":"#查看日志","p":726},{"i":734,"t":"您可以通过安装配置文件配置门户系统后端(portal-server)、管理系统后端(mis-server)和内置认证系统(auth)的日志输出选项。 install.yaml log: # LOG.LEVEL: 日志等级,可选trace, debug, info, warn, error。默认info level: \"info\" # LOG.PRETTY: 是否输出更适合直接读的log。如果为false,则输出json格式的日志。默认false pretty: false 当log.pretty为true时,输出日志格式如下: [02:27:00.372] INFO (18): request completed reqId: \"req-3\" res: { \"statusCode\": 200 } responseTime: 0.3789879999967525 当log.pretty为false时,输出日志格式如下: {\"level\":30,\"time\":1676429663943,\"pid\":18,\"hostname\":\"d3fc2f53e863\",\"reqId\":\"req-1\",\"res\":{\"statusCode\":200},\"responseTime\":4.37828900013119,\"msg\":\"request completed\"} 当您需要使用日志收集工具时,建议您使用JSON格式输出日志,然后使用日志分析工具来查看和分析收集到的日志。","s":"配置日志输出","u":"/SCOW/docs/deploy/ops","h":"#配置日志输出","p":726},{"i":736,"t":"# # slurmdbd.conf file. # # See the slurmdbd.conf man page for more information. # # Authentication info AuthType=auth/munge #认证方式,该处采用munge进行认证 AuthInfo=/var/run/munge/munge.socket.2 #为了与slurmctld控制节点通信的其它认证信息 # # slurmDBD info DbdAddr=localhost #数据库节点名 DbdHost=localhost #数据库IP地址 SlurmUser=slurm #用户数据库操作的用户 DebugLevel=verbose #调试信息级别,quiet:无调试信息;fatal:仅严重错误信息;error:仅错误信息; info:错误与通常信息;verbose:错误和详细信息;debug:错误、详细和调试信息;debug2:错误、详细和更多调试信息;debug3:错误、详细和甚至更多调试信息;debug4:错误、详细和甚至更多调试信息;debug5:错误、详细和甚至更多调试信息。debug数字越大,信息越详细 LogFile=/var/log/slurm/slurmdbd.log #slurmdbd守护进程日志文件绝对路径 PidFile=/var/run/slurmdbd.pid #slurmdbd守护进程存储进程号文件绝对路径 # # Database info StorageType=accounting_storage/mysql #数据存储类型 StoragePass=123456 #存储数据库密码 StorageUser=slurm #存储数据库用户名 StorageLoc=slurm_acct_db #数据库名称","s":"slurmdbd.conf 配置","u":"/SCOW/docs/hpccluster/config/slurmdbd.conf","h":"","p":735},{"i":738,"t":"# # slurm.conf file. Please run configurator.html # (in doc/html) to build a configuration file customized # for your environment. # # # slurm.conf file generated by configurator.html. # Put this file on all nodes of your cluster. # See the slurm.conf man page for more information. # ################################################ # CONTROL # ################################################ ClusterName=cluster #集群名称 SlurmctldHost=manage01 #管理服务节点名称 SlurmctldPort=6817 #slurmctld服务端口 SlurmdPort=6818 #slurmd服务的端口 SlurmUser=slurm #slurm的主用户 #SlurmdUser=root #slurmd服务的启动用户 ################################################ # LOGGING & OTHER PATHS # ################################################ SlurmctldDebug=info SlurmctldLogFile=/var/log/slurm/slurmctld.log SlurmdDebug=info SlurmdLogFile=/var/log/slurm/slurmd.log SlurmctldPidFile=/var/run/slurmctld.pid SlurmdPidFile=/var/run/slurmd.pid SlurmdSpoolDir=/var/spool/slurmd StateSaveLocation=/var/spool/slurmctld ################################################ # ACCOUNTING # ################################################ AccountingStorageEnforce=associations,limits,qos #account存储数据的配置选项 AccountingStorageHost=manage01 #数据库存储节点 AccountingStoragePass=/var/run/munge/munge.socket.2 #munge认证文件,与slurmdbd.conf文件中的AuthInfo文件同名。 AccountingStoragePort=6819 #slurmd服务监听端口,默认为6819 AccountingStorageType=accounting_storage/slurmdbd #数据库记账服务 ################################################ # JOBS # ################################################ JobCompHost=localhost #作业完成信息的数据库本节点 JobCompLoc=slurm_acct_db #数据库名称 JobCompPass=123456 #slurm用户数据库密码 JobCompPort=3306 #数据库端口 JobCompType=jobcomp/mysql #作业完成信息数据存储类型,采用mysql数据库 JobCompUser=slurm #作业完成信息数据库用户名 JobContainerType=job_container/none JobAcctGatherFrequency=30 JobAcctGatherType=jobacct_gather/linux ################################################ # SCHEDULING & ALLOCATION # ################################################ SchedulerType=sched/backfill SelectType=select/cons_tres SelectTypeParameters=CR_Core ################################################ # TIMERS # ################################################ InactiveLimit=0 KillWait=30 MinJobAge=300 SlurmctldTimeout=120 SlurmdTimeout=300 Waittime=0 ################################################ # OTHER # ################################################ MpiDefault=none ProctrackType=proctrack/cgroup ReturnToService=1 SwitchType=switch/none TaskPlugin=task/affinity ################################################ # NODES # ################################################ NodeName=manage01 NodeAddr=192.168.29.106 CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN NodeName=login01 NodeAddr=192.168.29.101 CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN NodeName=compute0[1-2] NodeAddr=192.168.29.10[2-3] CPUs=2 CoresPerSocket=1 ThreadsPerCore=1 RealMemory=200 Procs=1 State=UNKNOWN ################################################ # PARTITIONS # ################################################ PartitionName=compute Nodes=compute0[1-2] Default=YES MaxTime=INFINITE State=UP","s":"slurm.conf 配置","u":"/SCOW/docs/hpccluster/config/slurm.conf","h":"","p":737},{"i":740,"t":"新版intel编译器不再是parallel_studio_xe_xxx_update4_cluster_edition,而改名为oneAPI。 intel编译器安装包下载链接。","s":"intel编译器安装","u":"/SCOW/docs/hpccluster/intel","h":"","p":739},{"i":742,"t":"本文档以Base Toolkit和HPC Toolkit为例。打开下载的地址: 以下载Base Toolkit为例,进入页面: 点击Download,选择如下信息: 在此页面不要点Download(它会让你注册账号),直接复制红框里的地址,在linux系统中直接wget,或者去掉前边wget,放在迅雷里下载即可(安装包比较大,3G多)。 同理,自行下载HPC的安装包。","s":"1. 获取安装包","u":"/SCOW/docs/hpccluster/intel","h":"#1-获取安装包","p":739},{"i":744,"t":"以Base为例,创建安装目录: 提示 注意事项: 为保证集群所有计算节点可用,安装在NFS共享存储文件目录下; 安装需要大概30G左右空间,请确保此目录空间充足。 mkdir -p /data/software/intel/oneapi 执行安装脚本: sh l_BaseKit_p_2022.2.0.262_offline.sh 出现如下界面,选择自定义安装: 选择安装的包,下一步: 自定义安装目录,修改为之前准备好的目录: 提示 小提示:需要同时按下Ctrl+Backspace 才能删除原路径 开始安装: 等待安装完成即可。 提示 HPC(包含ifort, icc, mpiifort等编译器)等其他工具包安装方法类似。","s":"2. 安装","u":"/SCOW/docs/hpccluster/intel","h":"#2-安装","p":739},{"i":746,"t":"source /data/software/intel/oneapi/setvars.sh","s":"3. 添加环境变量","u":"/SCOW/docs/hpccluster/intel","h":"#3-添加环境变量","p":739},{"i":748,"t":"# 设置环境变量 source /data/software/intel/oneapi/mpi/2021.6.0/env/vars.sh # 生成xhpl cd /data/software/intel/oneapi/mkl/2022.1.0/benchmarks/mp_linpack ./build.sh # 执行计算 mpirun -n 36 ./xhpl # 多节点 mpirun -hosts cn1,cn2,cn3,cn4 -np 36 -ppn 4 /data/software/intel/oneapi/mkl/2022.1.0/benchmarks/mp_linpack/xhpl","s":"4. Linkpack测试","u":"/SCOW/docs/hpccluster/intel","h":"#4-linkpack测试","p":739},{"i":750,"t":"module是给集群所有节点使用,安装在nfs共享存储目录上。创建module安装目录: mkdir /data/software/module","s":"module安装","u":"/SCOW/docs/hpccluster/module","h":"","p":749},{"i":752,"t":"module工具,依赖tcl工具,因此首先要安装tcl工具。 创建工具目录: mkdir -p /data/software/module/tools/tcl 下载、编译、安装: # 下载 wget https://cfhcable.dl.sourceforge.net/project/tcl/Tcl/8.5.9/tcl8.5.9-src.tar.gz # 解压 tar -zxvf tcl8.5.9-src.tar.gz cd tcl8.5.9/unix # 编译 & 安装,注意修改此处目录 ./configure --prefix=/data/software/module/tools/tcl make make install","s":"1. tcl安装","u":"/SCOW/docs/hpccluster/module","h":"#1-tcl安装","p":749},{"i":754,"t":"创建工具目录: mkdir -p /data/software/module/tools/modules 下载、编译、安装: # 下载,此处可能需要科学上网 wget https://newcontinuum.dl.sourceforge.net/project/modules/Modules/modules-4.2.4/modules-4.2.4.tar.gz #解压 tar -zxvf modules-4.2.4.tar.gz cd modules-4.2.4 # 编译 & 安装,注意修改路径 ./configure --prefix=/data/software/module/tools/modules --with-tcl-lib=/data/software/module/tools/tcl/lib --with-tcl-inc=/data/software/module/tools/tcl/include make make install","s":"2. module安装","u":"/SCOW/docs/hpccluster/module","h":"#2-module安装","p":749},{"i":756,"t":"安装完成之后,在/data/software/module/tools/modules目录下,就有module工具了。不过在/usr/bin目录下,是没有module这个命令的。 配置环境变量: source /data/software/module/tools/modules/init/profile.sh 接下来就可以使用module命令了:","s":"3. 配置","u":"/SCOW/docs/hpccluster/module","h":"#3-配置","p":749},{"i":758,"t":"假设待挂载盘符为/dev/sdb,挂载目录为/data 查看准备的磁盘: fdisk -l 创建磁盘分区: fdisk /dev/sdb ,依次输入:n, p, 1, 两次回车, wq 格式化磁盘: mkfs.ext4 /dev/sdb,输入:y 挂载磁盘: # 1. 建立挂载目录 mkdir -p /data # 2. 挂载硬盘 mount /dev/sdb /data # 3. 设置开机自动挂载 vim /etc/fstab # 在文档末尾添加 /dev/sdb /data ext4 defaults 0 0 # 4. 重启生效 reboot","s":"数据盘挂载","u":"/SCOW/docs/hpccluster/mount-disk","h":"","p":757},{"i":760,"t":"本方案以NFS作为共享存储。","s":"NFS安装和配置","u":"/SCOW/docs/hpccluster/nfs","h":"","p":759},{"i":762,"t":"选择一台机器作为NFS的服务端,例如选择服务节点manage01,IP为192.168.29.106。 安装NFS、RPC服务 yum install -y nfs-utils rpcbind 创建共享目录 # 此处需要执行权限 mkdir /data chmod 755 /data 提示 若需单独挂载一个磁盘作为共享目录,可参考该链接数据盘挂载 修改配置文件vim /etc/exports,添加如下内容 /data *(rw,sync,insecure,no_subtree_check,no_root_squash) 启动RPC,NFS服务 systemctl start rpcbind systemctl start nfs-server systemctl enable rpcbind systemctl enable nfs-server 查看服务端是否正常加载配置文件 showmount -e localhost # 有如下输出 Export list for localhost: /data *","s":"1. 安装NFS服务端","u":"/SCOW/docs/hpccluster/nfs","h":"#1-安装nfs服务端","p":759},{"i":764,"t":"需要使用共享存储的节点包括所有的登录节点和计算节点 提示 以下操作在所有登录节点和计算节点上执行 安装NFS客户端nfs-utils yum install nfs-utils -y 查看服务端可共享的目录 # 192.168.29.106为NFS服务端IP showmount -e 192.168.29.106 # 有如下输出 Export list for 192.168.29.106: /data * 挂载服务端共享目录 # 创建目录 mkdir /data #将共享存储/data 挂载至192.168.29.106服务器的/data目录下 mount 192.168.29.106:/data /data -o proto=tcp -o nolock # 设置开机自动挂载 vim /etc/fstab # 在文档末尾添加 192.168.29.106:/data /data nfs rw,auto,nofail,noatime,nolock,intr,tcp,actimeo=1800 0 0 查看挂载 df -h |grep data # 有如下输出 192.168.29.106:/data 79G 56M 75G 1% /data","s":"2. 客户端搭建","u":"/SCOW/docs/hpccluster/nfs","h":"#2-客户端搭建","p":759},{"i":766,"t":"测试 # 例如在NFS服务端节点(其他节点也可以)写入一个测试文件 echo \"hello nfs server\" > /data/test.txt cat /data/test.txt # 在服务端节点或客户端节点均可以查看以下内容 hello nfs server 创建目录 # 创建home目录作为用户家目录的集合,可自定义 mkdir /data/home # 创建software目录作为交互式应用的安装目录 mkdir /data/software","s":"3. 使用","u":"/SCOW/docs/hpccluster/nfs","h":"#3-使用","p":759},{"i":768,"t":"本次部署以1个服务节点、1个登录节点、2个计算节点为例,集群节规划如下: 主机名 IP 角色 配置 manage01 192.168.29.106 服务节点 2C4G login01 192.168.29.101 登录节点 2C4G compute01 192.168.29.102 计算节点 2C4G compute02 192.168.29.103 计算节点 2C4G 主要工具版本信息: 信息 备注 系统版本 CentOS 7.9 docker版本 19.03.12 slurm 22.05.3 docker-compose版本 2.7.0","s":"集群规划","u":"/SCOW/docs/hpccluster/plan","h":"","p":767},{"i":770,"t":"AI 系统能让您通过 Web 界面管理您在 AI 训练中的数据集、算法、模型,并通过镜像的方式来进行您的 AI 训练任务。 当前 AI 系统仍处于 Beta 版本,使用时如有任何疑问或建议,欢迎在 Github Issue 中反馈。","s":"AI 系统简介(Beta)","u":"/SCOW/docs/info/ai","h":"","p":769},{"i":772,"t":"数据集 个人数据集版本管理 公共数据集分享与使用 镜像 生成训练环境镜像 分享和使用公共镜像 算法 个人算法版本管理 公共算法分享与使用 作业 使用数据集、算法和镜像来快速进行作业训练 作业管理 模型 个人模型版本管理 公共模型分享与使用","s":"功能和特点","u":"/SCOW/docs/info/ai","h":"#功能和特点","p":769},{"i":774,"t":"SCOW是一个面向用户和运维人员的超算门户与管理系统。 超算门户使超算用户无需安装任何软件,只使用一个现代浏览器即可有效使用超算资源完成计算任务。 超算管理系统面向运维工作者,协助运营人员建立成熟的超算运营机制,管理超算的人员、费用等信息,帮助超算的运营工作。","s":"平台简介","u":"/SCOW/docs/info","h":"","p":773},{"i":776,"t":"门户功能 终端(Shell) 任务管理、提交 文件管理 远程桌面,GUI程序 管理系统功能 用户账户管理 计算资源计费收费(作业) 账户、用户限额 支持多集群 现代化的UI,优秀的用户体验 采用现代技术栈和部署方案,方便部署、维护、自定义和扩展","s":"功能和特点","u":"/SCOW/docs/info","h":"#功能和特点","p":773},{"i":778,"t":"访问地址:https://hpc.pku.edu.cn/demo/scow 用户名/密码 管理员:demo_admin / demo_admin 用户:demo_user / demo_user","s":"体验环境","u":"/SCOW/docs/info","h":"#体验环境","p":773},{"i":780,"t":"管理系统提供高性能计算集群常见的管理功能。","s":"管理系统简介","u":"/SCOW/docs/info/mis","h":"","p":779},{"i":782,"t":"在部署之前,请参考业务模型部分的文档了解系统的计费收费和用户模型。","s":"业务模型","u":"/SCOW/docs/info/mis","h":"#业务模型","p":779},{"i":784,"t":"系统使用三级的用户模型:租户(tenant)、账户(account)、用户(user)。各级之间的关系如下图所示: 每个用户和账户属于且只属于一个租户,一个用户可以属于0个或者多个账户,每个用户在账户中的角色为用户、管理员或者拥有者之一,可另为租户和整个平台的租户管理员和财务人员(可均为)。 每个用户的用户名和账户名在整个平台的范围(注意,并非租户)中唯一。在所使用的认证系统支持的情况下,账户管理员、租户管理员可以创建用户。","s":"用户模型","u":"/SCOW/docs/info/mis/business/users","h":"#用户模型-1","p":783},{"i":786,"t":"当前系统中页面展示的账户状态有:正常、封锁、欠费。 状态定义 解释 账户在集群中的状态 正常 账户未被封锁或冻结,且账户余额 大于 账户封锁阈值; 或者账户已存在于账户白名单 正常 封锁 账户已被租户管理员或平台管理员封锁 封锁 欠费 账户未被封锁或冻结,且账户余额 小于等于 账户封锁阈值 封锁 各状态间的转换条件如下:","s":"账户状态","u":"/SCOW/docs/info/mis/business/users","h":"#账户状态","p":783},{"i":788,"t":"(1). 账户在白名单中: 不可进行封锁或解封操作 移出白名单时,判断账户余额,余额 大于 账户封锁阈值,状态变仍为正常 移出白名单时,判断账户余额,余额 小于等于 账户封锁阈值,状态变更为欠费 (2). 账户不在白名单中: 添加白名单:状态仍为正常 使用扣费或者修改账户封锁阈值后,判断账户余额,余额 小于等于 账户封锁阈值,状态变更为欠费 租户管理员或平台管理员主动封锁账户,状态变更为封锁","s":"1.账户处于正常状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#1账户处于正常状态时","p":783},{"i":790,"t":"添加白名单:状态变为正常 租户管理员或平台管理员主动解封账户,判断账户余额,余额 大于 账户封锁阈值,状态变更为正常 租户管理员或平台管理员主动解封账户,判断账户余额,余额 小于等于 账户封锁阈值,状态变更为欠费","s":"2.账户处于封锁状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#2账户处于封锁状态时","p":783},{"i":792,"t":"添加白名单:状态变为正常 对帐户充值或者修改账户封锁阈值后,余额 大于 账户封锁阈值,状态变更为正常 租户管理员或平台管理员主动封锁账户,状态变更为封锁","s":"3.账户处于欠费状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#3账户处于欠费状态时","p":783},{"i":794,"t":"当前系统中页面展示的用户在账户中的状态有:正常、封锁、限额。 状态定义 解释 用户在集群中的状态 正常 用户未被封锁时,1.未设置用户作业费用限额; 2.已设置用户作业费用限额,且用户已用额度 小于 用户限额 正常(账户在集群中未封锁) 封锁 用户已被账户管理员或账户拥有者封锁 封锁 限额 用户未被封锁,但已设置用户作业费用限额,且用户已用额度 大于等于 用户限额 封锁 各状态间的转换条件如下:","s":"用户在账户中的状态","u":"/SCOW/docs/info/mis/business/users","h":"#用户在账户中的状态","p":783},{"i":796,"t":"未设置用户作业费用限额时,即使发生作业扣费,用户在账户中的状态也不发生变化,仍为正常 已设置用户作业费用限额,发生扣费使用户已用额度 小于 用户限额,状态仍然为正常;发生扣费使用户已用额度 大于等于 用户限额,用户在账户中的状态变更为限额 已设置用户作业费用限额,修改限额使用户已用额度 小于 用户限额,状态仍然为正常;修改限额使用户已用额度 等于 用户限额,用户在账户中的状态变更为限额 封锁用户时,用户在账户中的状态变更为封锁","s":"1.用户在账户中处于正常状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#1用户在账户中处于正常状态时","p":783},{"i":798,"t":"未设置用户作业费用限额时,账户管理员或拥有者主动解封用户后,用户在账户中的状态变更为正常 已设置用户作业费用限额,账户管理员或拥有者主动解封用户,判断限额,用户已用额度 小于 用户限额时,用户在账户中的状态变更为正常 已设置用户作业费用限额,账户管理员或拥有者主动解封用户,判断限额,用户已用额度 大于等于 用户限额时,用户在账户中的状态变更为限额 设置用户作业费用限额或修改作业费用限额时,不发生状态改变,状态仍为封锁","s":"2.用户在账户中处于封锁状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#2用户在账户中处于封锁状态时","p":783},{"i":800,"t":"账户管理员或拥有者主动封锁用户时,用户在账户中的状态变更为封锁 修改用户作业费用限额,使用户已用额度 等于 用户限额时,用户在账户中的状态仍为限额 修改用户作业费用限额,使用户已用额度 小于 用户限额时,用户在账户中的状态变更为正常 取消限额时,用户在账户中的状态变更为正常","s":"3.用户在账户中处于限额状态时:","u":"/SCOW/docs/info/mis/business/users","h":"#3用户在账户中处于限额状态时","p":783},{"i":802,"t":"门户系统给高性能计算集群的用户提供了一个基本web的功能入口。","s":"门户系统简介","u":"/SCOW/docs/info/portal","h":"","p":801},{"i":804,"t":"连接到登录节点的终端 作业管理、提交 文件管理 使用桌面节点的桌面 以GUI和Web形式启动计算作业,并在浏览器上使用软件","s":"支持的功能","u":"/SCOW/docs/info/portal","h":"","p":801},{"i":806,"t":"借助交互式应用功能,您可以直接在浏览器上使用集群资源在计算节点上启动应用,并通过浏览器使用这些应用。","s":"交互式应用","u":"/SCOW/docs/info/portal/app","h":"","p":805},{"i":808,"t":"我们将交互式应用分为两类:Web和VNC。 Web类是指通过HTTP和WebSocket协议提供功能的应用,如VSCode, RStudio等; VNC类是指运行在桌面上的GUI程序,如Matlab等。系统通过VNC协议远程连接到启动这些应用的计算节点上的X Session中。 系统同时支持这两种应用。您只需要填写对应应用的配置,就可以让用户在浏览器上快速启动并连接到服务器类或者VNC类应用。","s":"交互式应用的分类","u":"/SCOW/docs/info/portal/app","h":"#交互式应用的分类","p":805},{"i":810,"t":"参考配置交互式应用文档。","s":"配置","u":"/SCOW/docs/info/portal/app","h":"#配置","p":805},{"i":812,"t":"系统目前采用一个独立的财务系统。 收费: 系统采用预付费制,每个租户和账户具有余额 平台管理员可以给租户增加余额,租户管理员可以给账户增加余额 在数据库中余额存储到小数点后4位,前台显示3位 计费: 系统的计费收费模型按照集群、分区和QOS进行收费 参考北大高性能平台收费标准设计 系统支持多级计费:平台对租户使用一个统一的收费标准,而租户可以自定义租户内的账户的费用标准 系统支持用户通过代码自定义收费规则","s":"计费收费","u":"/SCOW/docs/info/mis/business/billing","h":"","p":811},{"i":814,"t":"服务器会定期地从调度器适配器中获取已完成的作业信息,并根据规则对租户和账户进行扣费操作。 系统计费以费用项目 price item为基础,每个计费项有独特的ID以及价格,每个(集群,分区,QOS)项应该有一个独特的计费项。计费项一旦创建和分配不能被重新分配、修改或者删除,如果您想修改一个计费项的价格,您需要创建一个新的计费项。 费用项目的信息存放在数据库的job_price_item表中。每次需要计算价格时,服务器将会从数据库中取得所有计费项,并得到每个(集群,分区,QOS)的最新的计费规则。如果在集群配置文件的某个QOS不存在费用项,服务器将会报错。 每个作业的费用计算方法如下: 四舍五入(作业持续小时 (timeUsed / 3600) x 用量 x 所适用的费用项目的价格) 每个作业的用量由计费策略(amount)确定,支持的计费策略取值如下: amount 总量算法 cpusAlloc cpusAlloc gpu gpu max-cpusAlloc-mem max(cpusAlloc, 向上取整(memReq / (分区内存量/分区核心数))) max-gpu-cpusAlloc max(gpu, 向上取整(cpusAlloc / (分区核心数/分区gpu数))) 在计算过程中如果发现了其他策略,则整个作业的费用为0。","s":"计费规则","u":"/SCOW/docs/info/mis/business/billing","h":"#计费规则","p":811},{"i":816,"t":"您可以在系统初始化时或者以平台管理员身份登录系统后进入平台管理->编辑作业价格表,在网页上编辑作业价格表。 新的作业价格表将在下次获取作业时生效。","s":"从网页编辑作业价格表","u":"/SCOW/docs/info/mis/business/billing","h":"#从网页编辑作业价格表","p":811},{"i":818,"t":"您可以创建一个config/priceItems.{json|yml|yaml}文件,定义(集群,分区,QOS)项以及对应的费用项目,服务器可以快速根据这些信息在数据库中创建费用项目。文件格式以及各个字段的解释请参考下列yaml文件的注释。 config/priceItems.yml config/priceItems.json default: # 默认规则,对所有集群和租户生效 hpc01: # 对hpc01集群的... compute: # compute分区的... low: # QOS为low的任务 id: HPC01 # 费用项目ID为HPC01 price: '1.00' # 基础价格为1.00,字符串形式 amount: 'cpusAlloc' # 计费策略,看上文 normal: id: HPC02 price: '2.00' amount: 'cpusAlloc' high: id: HPC03 price: '3.00' amount: 'cpusAlloc' GPU: # 如果整个分区的费用相同,您也可以给一整个分区定义一个费用项目 id: HPC04 price: '10.00' amount: 'cpusAlloc' tenant_1: # 对租户tenant_1的账户用户发起的任务,在默认规则的基础上,覆盖以下配置 hpc01: GPU: low: id: HPC07 # 对租户tenant_1的hpc01.GPU.low的任务,价格为12.00 price: '12.00' amount: 'cpusAlloc' { \"default\": { \"hpc01\": { \"compute\": { \"low\": { \"id\": \"HPC01\", \"price\": \"1.00\", \"amount\": \"cpusAlloc\" }, \"normal\": { \"id\": \"HPC02\", \"price\": \"2.00\", \"amount\": \"cpusAlloc\" }, \"high\": { \"id\": \"HPC03\", \"price\": \"3.00\", \"amount\": \"cpusAlloc\" } }, \"GPU\": { \"low\": { \"id\": \"HPC04\", \"price\": \"10.00\", \"amount\": \"cpusAlloc\" }, \"normal\": { \"id\": \"HPC05\", \"price\": \"20.00\", \"amount\": \"cpusAlloc\" }, \"high\": { \"id\": \"HPC06\", \"price\": \"30.00\", \"amount\": \"cpusAlloc\" } } } }, \"tenant_1\": { \"hpc01\": { \"GPU\": { \"low\": { \"id\": \"HPC07\", \"price\": \"12.00\", \"amount\": \"cpusAlloc\" } } } } } 注意事项: 每个计费项应该只出现一次。即使多个QOS费用相同,也应该定义两个计费项 数据库中不存在具有相同计费项名的行 在数据库正在运行、docker-compose.yml配置编写完成的条件下,运行以下命令快速在数据库中创建费用项信息: docker compose run mis-server createPriceItems","s":"快速创建计费规则","u":"/SCOW/docs/info/mis/business/billing","h":"#快速创建计费规则","p":811},{"i":820,"t":"您可以通过以下方式将您自己的工具和系统与SCOW系统集成: 自定义认证系统 使用自定义认证系统 实现自定义认证系统 SCOW API:通过编程调用SCOW的功能 SCOW Hook:监听SCOW的事件 UI扩展:将您的UI集成进SCOW","s":"与SCOW集成","u":"/SCOW/docs/integration","h":"","p":819},{"i":822,"t":"借助作业功能,您可以直接在浏览器上点击提交作业来使用超算集群,提交成功后,可以在未结束作业中看到该作业的运行状态等详细信息,并在所有作业中看到作业的执行结果。","s":"作业","u":"/SCOW/docs/info/portal/job","h":"","p":821},{"i":824,"t":"作业需在特定分区(队列)中运行,一般不同分区(队列)允许的资源不一样,比如单作业核数等。 我们将集群分区分为两类:CPU分区和GPU分区。 CPU分区是指仅提供CPU资源的分区; GPU分区是同时提供GPU资源和CPU资源的分区,其CPU核数根据GPU卡数按比例分配。 系统同时支持两种分区。您只需要在初始化系统时增加对应的配置,就可以让用户在浏览器提交作业时根据自己的需求选择不同的分区提交作业。分区与集群的配置详见集群配置文件。","s":"分区(队列)","u":"/SCOW/docs/info/portal/job","h":"#分区队列","p":821},{"i":826,"t":"用于用户填写作业信息并提交到超算系统计算,同时支持将作业信息保存为模板方便后续使用。如下图所示,分别在CPU分区和GPU分区上提交作业作业。 如果使用GPU分区的节点,有区别的选项如下图(分区可能为其它名字而非GPU): 主要参数说明: 参数 说明 备注 集群 指定本次作业在哪个集群上运行 选项由集群配置文件里指定 作业名 为本次作业命名 - 命令 作业命令 - 账户 指定本次作业的扣款账户 选项为当前用户关联账户 分区 指定本次作业想要在哪个分区上计算 选项在集群配置文件里指定,分区的选择影响CPU/GPU相关参数 QOS 选择作业的服务质量 选项在集群配置文件里指定 节点数 申请的节点数 上限为当前分区节点数 单节点核心数 每个节点上申请的CPU核心数 CPU分区单节点核心数为输入值;如果是GPU分区,此选项不展示,通过计算得到:GPU分区单节点核心数=节点总核心数 *(单节点GPU卡数/单节点总GPU卡数) 单节点GPU卡数 每个节点上申请的GPU卡数 仅GPU分区展示 最长运行时间 本次作业的最长计算时间 - 工作目录 指定作业相关文件的存储路径 - 标准输出文件 指定作业标准输出文件的文件名 - 错误输出文件 指定作业错误输出文件的文件名 - 总节点数 申请的节点数 总节点数=节点数 总核心数 申请的总核心数 总核心数(CPU分区)=节点数 * 单节点核心数;总核心数(GPU分区)=节点数 * 单节点总核心数 *(单节点GPU卡数/单节点总GPU卡数) 总卡数 申请的GPU卡总数 仅GPU分区展示;总卡数 = 节点数 * 单节点GPU卡数 总内存容量 申请的总内存容数 总内存容量 = 节点数 * 单节点核心数 *(单节点内存数/单节点总核心数) 备注 备注信息 - 保存为模板 将本次作业保存为模板 - 生成的slurm调度器脚本中参数取值: 核心数 -c 取单节点核心数; 内存 --mem 取总内存容量; GPU卡数 --gres=gpu: 取单节点GPU卡数。 ※注意:上面的计算若未整除,结果皆向下取整。","s":"提交作业","u":"/SCOW/docs/info/portal/job","h":"#提交作业","p":821},{"i":828,"t":"如果系统提供的认证系统不能满足您的需求,您可以自己使用和实现一个自定义认证服务。","s":"使用自定义认证系统","u":"/SCOW/docs/integration/auth/use","h":"","p":827},{"i":830,"t":"您自己编写的自定义认证服务应该被打包为一个docker镜像,放在您部署所在机器可以访问的地址上。 修改安装配置文件的auth.custom部分以使用您的自定义认证服务。 install.yaml auth: custom: # 自定义认证系统类型 # external(使用外部系统) | image(使用自定义认证系统镜像),默认为 image type: image # 自定义外部认证系统配置 # 如果 type 为 external 则需要配置 external 选项,否则仍然使用默认认证系统 URL external: url: http://custom-url:port # 容器相关配置 image: # 自定义认证系统镜像名。必填 # imageName: my-custom-auth:v1.0 # 端口映射。可选 # ports: # - \"5000:5000\" # 更多挂载卷。可选 # 默认添加/etc/hosts:/etc/hosts和./config:/etc/scow # volumes: # - \"./myfile:/etc/myfile\" # 下列 image、ports、volumes 配置为老版本的配置,已过时,未来将会删除 # 兼容老版本,image 在老版本中为字符串 # 定义认证系统镜像名。必填 # image: my-custom-auth:v1.0 # 兼容老版本, 端口映射。可选 # ports: # - \"5000:5000\" # 兼容老版本, 更多挂载卷。可选 # 默认添加/etc/hosts:/etc/hosts和./config:/etc/scow # volumes: # - \"./myfile:/etc/myfile\" # 环境变量,可选。 # environment: # - DEBUG=log","s":"使用自定义认证服务","u":"/SCOW/docs/integration/auth/use","h":"#使用自定义认证服务","p":827},{"i":832,"t":"如果系统提供的认证系统不能满足您的需求,您可以自己实现一个自定义认证服务。","s":"实现自定义认证系统","u":"/SCOW/docs/integration/auth/impl","h":"","p":831},{"i":834,"t":"SCOW中使用identityId标识一个用户,并同时使用此identityId作为用户在集群上的登录名。 用户登录后,认证系统应负责给当前登录用户的当前会话赋予一个Token,SCOW将会在每次需要认证的请求时使用token请求认证系统以获取用户的身份。 一个认证服务本质是一个实现了以下HTTP API的HTTP服务器。 请注意 以/public开头的API将会是用户可以直接访问的,其他的用户不可直接访问 所有响应和处于body位置的参数均为json格式","s":"基本概念","u":"/SCOW/docs/integration/auth/impl","h":"#基本概念","p":831},{"i":837,"t":"发起登录。 请求​ 参数 位置 类型 是否必须 解释 callbackUrl querystring 字符串 是 登录完成后的回调地址。必须是一个合法的URL。 期望的响应​ 返回登录HTML或者重定向到实际的登录界面。 解释​ 此API用于进行实际的登录操作。用户点击登录后,系统将会重定向到这个URL。您可以选择自己实现一个登录页面,或者重定向到第三方登录认证的页面。 登录完成后,请返回一个重定向的请求到callbackUrl指定的URL,并附上querystring?token={您用来跟踪本用户的状态的token}。这些token的生成和保存您需要自己实现。后续的用户将会带着此token用于鉴权。 如果您在后端使用类似OAuth2的认证系统,这些认证系统登录完成后会给一个token用于跟踪用户状态并重定向到您指定的回调地址。对于这些系统,您应该自己实现一个单独的回调地址(且这些回调地址的URL必须以/public为前缀以使用户可以直接访问),在这些地址的处理函数中获取认证系统给予的token,并使用token进行后续的处理(例如生成自己的token,将这些token映射到用户等)。处理完成后,再回调到callbackUrl指定的URL。","s":"GET /public/auth","u":"/SCOW/docs/integration/auth/impl","h":"#get-publicauth","p":831},{"i":839,"t":"验证token,返回对应的用户ID。SCOW将会在每次需要验证的请求发生时,使用登录时获取的token请求此API,所以请保证此API的性能。 请求​ 参数 位置 类型 是否必须 解释 token querystring 字符串 是 用户的token 期望的响应​ 200 OK​ 字段 类型 是否必须 解释 identityId 字符串 是 此token对应的用户的用户ID 400 Bad Request​ 字段 类型 是否必须 解释 code 字符串常量INVALID_TOKEN 是 INVALID_TOKEN:token无效","s":"GET /public/validateToken","u":"/SCOW/docs/integration/auth/impl","h":"#get-publicvalidatetoken","p":831},{"i":841,"t":"无效化一个token。 请求​ 参数 位置 类型 是否必须 解释 token query 字符串 是 token 响应​ 状态码 内容 解释 204 无 操作完成。如果token不存在也应该返回这个状态码。 解释​ 此API用于无效化一个token。调用这个请求后,这个token将不应该继续能够通过GET /validateToken获得用户的信息。","s":"DELETE /token","u":"/SCOW/docs/integration/auth/impl","h":"#delete-token","p":831},{"i":843,"t":"返回认证系统支持的能力。 请求​ 无。 期望的响应​ 200 OK​ 字段 类型 是否必须 解释 createUser boolean 否 此认证系统是否支持创建用户 getUser boolean 否 此认证系统是否支持查询用户 checkPassword boolean 否 此认证系统是否支持验证用户密码 changePassword boolean 否 此认证系统是否支持修改用户密码 accountUserRelation boolean 否 此认证系统是否支持管理用户账户关系 解释​ 此API用于认证系统声明自己的支持的能力。系统的其他部分将会根据此API的返回值选择性地选择是否显示某些功能。例如,如果changePassword为false或者为undefined,那么前端系统将会不显示修改密码的功能。","s":"GET /capabilities","u":"/SCOW/docs/integration/auth/impl","h":"#get-capabilities","p":831},{"i":845,"t":"认证系统如果声明支持创建用户,则必须实现此部分的API。","s":"创建用户功能相关API","u":"/SCOW/docs/integration/auth/impl","h":"#创建用户功能相关api","p":831},{"i":847,"t":"创建用户。 请求​ 参数 位置 类型 是否必须 解释 identityId body 字符串 是 用户ID password body 字符串 是 密码 id body 整数 是 用户在数据库中的ID name body 字符串 是 用户姓名 mail body 字符串 是 用户邮箱 响应​ 状态码 内容 解释 204 无 创建完成 409 无 用户ID已经存在 501 无 不支持创建用户功能 解释​ 此API用于在认证系统中创建用户。当前,系统只支持通过管理系统创建用户。管理系统首先在自己的数据库中创建用户,然后请求认证系统创建用户。请求参数中的id即是数据库中这个新的用户的自增ID。如果认证系统返回非成功的返回值,管理系统将会撤回在数据库中的项。","s":"POST /user","u":"/SCOW/docs/integration/auth/impl","h":"#post-user","p":831},{"i":850,"t":"获取已经存在的用户信息。目前只需要返回用户的ID。 请求​ 参数 位置 类型 是否必须 解释 identityId querystring 字符串 是 用户的ID 200 OK​ 字段 类型 是否必须 解释 user.identityId 字符串 是 用户的ID。和请求的identityId一致 user.name 字符串 否 用户的姓名。如果认证系统可以获取用户的姓名,则返回。如果不能获取,就不设置 user.mail 字符串 否 用户的邮箱。如果认证系统可以获取用户的邮箱,则返回。如果不能获取,就不设置 404 Not Found​ 字段 类型 是否必须 解释 code 字符串常量USER_NOT_FOUND 是 USER_NOT_FOUND:用户不存在 解释​ 此API可以获取用户的信息。此API也可以用于获取用户是否存在。","s":"GET /user","u":"/SCOW/docs/integration/auth/impl","h":"#get-user","p":831},{"i":852,"t":"认证系统如果声明支持修改邮箱,则必须实现此部分的API。","s":"修改邮箱相关API","u":"/SCOW/docs/integration/auth/impl","h":"#修改邮箱相关api","p":831},{"i":854,"t":"修改邮箱。 请求​ 参数 位置 类型 是否必须 解释 identityId body 字符串 是 用户ID newEmail body 字符串 是 新邮箱 期望的响应​ 状态码 内容 解释 204 无 修改完成 404 无 用户未找到 501 无 不支持修改邮箱功能 解释​ 此API用于完成修改邮箱的功能。","s":"PATCH /user/email","u":"/SCOW/docs/integration/auth/impl","h":"#patch-useremail","p":831},{"i":857,"t":"验证密码。 请求​ 参数 位置 类型 是否必须 解释 identityId query 字符串 是 用户ID password query 字符串 是 密码 200 OK​ 字段 类型 是否必须 解释 success 布尔值 是 验证结果 404 Not Found​ 字段 类型 是否必须 解释 code 字符串常量USER_NOT_FOUND 是 USER_NOT_FOUND:用户不存在 501​ 表示此功能在当前服务器配置下不可用,返回null。","s":"GET /checkPassword","u":"/SCOW/docs/integration/auth/impl","h":"#get-checkpassword","p":831},{"i":859,"t":"认证系统如果声明支持修改密码,则必须实现此部分的API。","s":"修改密码相关API","u":"/SCOW/docs/integration/auth/impl","h":"#修改密码相关api","p":831},{"i":861,"t":"修改密码。 请求​ 参数 位置 类型 是否必须 解释 identityId body 字符串 是 用户ID newPassword body 字符串 是 新密码 期望的响应​ 状态码 内容 解释 204 无 修改完成 404 无 用户未找到 501 无 不支持修改密码功能 解释​ 此API用于完成修改密码的功能。","s":"PATCH /password","u":"/SCOW/docs/integration/auth/impl","h":"#patch-password","p":831},{"i":863,"t":"认证系统如果声明支持管理用户账户关系,则必须实现此部分API。","s":"用户账户关系相关API","u":"/SCOW/docs/integration/auth/impl","h":"#用户账户关系相关api","p":831},{"i":865,"t":"在认证系统中创建账户。 请求​ 参数 位置 类型 是否必须 解释 accountName body 字符串 是 账户名 ownerUserId body 字符串 是 拥有者用户ID 期望的响应​ 状态码 内容 解释 204 无 创建成功","s":"POST /account","u":"/SCOW/docs/integration/auth/impl","h":"#post-account","p":831},{"i":867,"t":"把用户加入账户中。 请求​ 参数 位置 类型 是否必须 解释 accountName path 字符串 是 账户名 userId body 字符串 是 用户ID 期望的响应​ 状态码 内容 解释 204 无 把用户加入账户成功","s":"POST /account/${accountName}/user","u":"/SCOW/docs/integration/auth/impl","h":"#post-accountaccountnameuser","p":831},{"i":869,"t":"把用户从账户中删除。 请求​ 参数 位置 类型 是否必须 解释 accountName path 字符串 是 账户名 userId path 字符串 是 用户ID 期望的响应​ 状态码 内容 解释 204 无 删除用户成功","s":"DELETE /account/${accountName}/user/${userId}","u":"/SCOW/docs/integration/auth/impl","h":"#delete-accountaccountnameuseruserid","p":831},{"i":871,"t":"SCOW系统提供了一些数据统计相关的API,您可以通过这些API获取SCOW系统的一些统计数据。其中有部分API是以日期为维度进行的统计,您可以通过这些API获取x天内每一天的统计数据。但由于数据库里采用的是UTC时间,如果希望统计的维度和客户端一致,在使用这些API时,您需要注意时区的问题。","s":"数据统计相关API","u":"/SCOW/docs/integration/scow-api-hook/api/statistic","h":"","p":870},{"i":873,"t":"GetActiveUserCount:获取x天内每一天的用户登录次数 GetNewUserCount:获取x天内每一天的新用户注册数 GetNewJobCount:获取x天内每一天的新作业提交数 GetDailyCharge:获取x天内每一天的用户消费金额总计 GetDailyPay: 获取x天内每一天的用户充值金额总计","s":"相关API","u":"/SCOW/docs/integration/scow-api-hook/api/statistic","h":"#相关api","p":870},{"i":875,"t":"以上API在调用时都需要传timeZone参数,这个参数是用来指定统计的时区。如果不传timeZone参数,统计的时区默认为UTC。如果希望统计的维度和客户端一致,您需要传入timeZone参数。 timeZone参数请遵循以下格式指南: UTC偏移量: 使用格式+HH:MM或-HH:MM表示相对于UTC的偏移。例如,+08:00表示东八区。 时区名称: 使用具体的地理时区名称,如Asia/Shanghai或Europe/London。这些名称代表特定地区的标准时间。 请根据您的需求选择以上一种格式来指定时区。","s":"参数 TimeZone","u":"/SCOW/docs/integration/scow-api-hook/api/statistic","h":"#参数-timezone","p":870},{"i":877,"t":"UTC-12:00 Etc/GMT+12 - -12:00 UTC-11:00 Pacific/Pago_Pago - -11:00 UTC-10:00 Pacific/Honolulu - -10:00 UTC-09:00 America/Anchorage - -09:00 UTC-08:00 America/Los_Angeles - -08:00 UTC-07:00 America/Denver - -07:00 UTC-06:00 America/Chicago - -06:00 UTC-05:00 America/New_York - -05:00 UTC-04:00 America/Caracas - -04:00 UTC-03:00 America/Argentina/Buenos_Aires - -03:00 UTC-02:00 Atlantic/South_Georgia - -02:00 UTC-01:00 Atlantic/Azores - -01:00 UTC+00:00 UTC - +00:00 UTC+01:00 Europe/Paris - +01:00 UTC+02:00 Europe/Athens - +02:00 UTC+03:00 Europe/Moscow - +03:00 UTC+04:00 Asia/Dubai - +04:00 UTC+05:00 Asia/Karachi - +05:00 UTC+06:00 Asia/Dhaka - +06:00 UTC+07:00 Asia/Bangkok - +07:00 UTC+08:00 Asia/Shanghai - +08:00 UTC+09:00 Asia/Tokyo - +09:00 UTC+10:00 Australia/Sydney - +10:00 UTC+11:00 Pacific/Noumea - +11:00 UTC+12:00 Pacific/Fiji - +12:00","s":"可用时区名称及UTC偏移量","u":"/SCOW/docs/integration/scow-api-hook/api/statistic","h":"#可用时区名称及utc偏移量","p":870},{"i":879,"t":"示例项目:https://github.com/PKUHPC/scow-go-demo","s":"Go示例","u":"/SCOW/docs/integration/scow-api-hook/examples/go","h":"","p":878},{"i":881,"t":"您需要: 安装好Go语言开发工具链(Go语言官网) 安装Buf CLI(官网文档) 有一个Go项目 您可以通过go mod init命令,初始化一个Go项目,假设模块名为github.com/PKUHPC/scow-go-demo go mod init github.com/PKUHPC/scow-go-demo","s":"准备环境","u":"/SCOW/docs/integration/scow-api-hook/examples/go","h":"#准备环境","p":878},{"i":883,"t":"创建buf.gen.yaml文件,内容如下: buf.gen.yaml version: v1 managed: enabled: true go_package_prefix: # 项目模块名+生成路径(plugins中out) default: github.com/PKUHPC/scow-go-demo/gen/go except: - buf.build/googleapis/googleapis plugins: - plugin: buf.build/protocolbuffers/go out: gen/go opt: paths=source_relative - plugin: buf.build/grpc/go out: gen/go opt: paths=source_relative,require_unimplemented_servers=false 指定需要使用的SCOW的版本,生成代码 # 通过#后的参数确认SCOW和SCOW API版本,可输入 # SCOW API的版本号(tag=api-v0.3.0)(推荐,从v0.3.0版本开始可用) # SCOW的分支(branch=master) # SCOW Tag号(tag=v0.4.0) # 不写默认使用SCOW的master分支版本 buf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=api-v0.3.0","s":"使用Buf获取Proto文件并生成代码","u":"/SCOW/docs/integration/scow-api-hook/examples/go","h":"#使用buf获取proto文件并生成代码","p":878},{"i":885,"t":"编写Go代码使用调用SCOW API的代码 api.go package main import ( \"context\" \"log\" \"github.com/PKUHPC/scow-go-demo/gen/go/server\" \"google.golang.org/grpc\" \"google.golang.org/grpc/credentials/insecure\" ) func main() { // 假设mis-server在192.168.88.100:7571上监听 conn, err := grpc.Dial(\"192.168.88.100:7571\", grpc.WithTransportCredentials(insecure.NewCredentials())) if err != nil { panic(err) } // 生成AccountServiceClient client := server.NewAccountServiceClient(conn) // 调用`GetAccounts` RPC,获取所有账户 resp, err := client.GetAccounts(context.Background(), &server.GetAccountsRequest{}) if err != nil { panic(err) } log.Printf(\"Account list: %v\", resp) } 下载依赖并运行 go mod tidy go run api.go","s":"使用SCOW API","u":"/SCOW/docs/integration/scow-api-hook/examples/go","h":"#使用scow-api","p":878},{"i":887,"t":"创建一个hook.go文件,实现HookServiceServer (protos/hook/hook.proto) hook.go package main import ( \"context\" \"log\" \"net\" \"github.com/PKUHPC/scow-go-demo/gen/go/hook\" \"google.golang.org/grpc\" \"google.golang.org/protobuf/encoding/protojson\" ) type MyHookServer struct{} func (s *MyHookServer) OnEvent(ctx context.Context, req *hook.OnEventRequest) (*hook.OnEventResponse, error) { log.Printf(\"Received event: %+v\", protojson.Format(req)) return &hook.OnEventResponse{}, nil } func main() { addr := \"0.0.0.0:5000\" lis, err := net.Listen(\"tcp\", addr) if err != nil { log.Fatalf(\"failed to listen: %v\", err) } var opts []grpc.ServerOption grpcServer := grpc.NewServer(opts...) server := MyHookServer{} hook.RegisterHookServiceServer(grpcServer, &server) log.Printf(\"Listening at %s\", addr) grpcServer.Serve(lis) } 下载依赖并运行 go mod tidy go run hook.go 修改config/common.yaml文件,配置Hook Server的地址 config/common.yaml scowHook: url: localhost:5000 重启SCOW。当SCOW有相关事件发生时,SCOW会调用Hook Server。","s":"实现并注册SCOW Hook","u":"/SCOW/docs/integration/scow-api-hook/examples/go","h":"#实现并注册scow-hook","p":878},{"i":889,"t":"SCOW系统总体来说分为前端和后端部分(架构),SCOW的前端和后端部分使用gRPC进行通信。 要使用SCOW API,您需要 获取SCOW Protobuf文件并生成相关代码 编写程序,调用gRPC API与SCOW的后端部分组件mis-server, portal-server, audit-server交互","s":"SCOW API","u":"/SCOW/docs/integration/scow-api-hook/api","h":"","p":888},{"i":891,"t":"部署好的系统的后端服务容器mis-server, portal-server, audit-server位于docker compose创建的网络中,从外界无法直接访问mis-server, portal-server和audit-server服务。 要想访问这些服务,您需要通过install.yaml将主机上的端口映射到mis-server, portal-server和audit-server服务的5000端口中。配置完成后,您可以从部署SCOW的机器上通过定义的IP和端口与对应的服务交互。 portal: portMappings: # portal-server的5000端口映射到127.0.0.1:7572 portalServer: \"127.0.0.1:7572\" mis: portMappings: # mis-server的5000端口映射到127.0.0.1:7571 misServer: \"127.0.0.1:7571\" audit: portMappings: # audit-server的5000端口映射到127.0.0.1:7573 auditServer: \"127.0.0.1:7573\"","s":"打开后端服务网络接口","u":"/SCOW/docs/integration/scow-api-hook/api","h":"#打开后端服务网络接口","p":888},{"i":893,"t":"默认情况下,mis-server和portal-server的gRPC调用并不认证请求,任何用户都可以直接调用mis-server和portal-server的API。 在不认证的情况下,如果您在映射端口时直接输入端口号(如7571不是127.0.0.1:7571),由于在同一个集群中各个节点的网络是互通的,则在同一个集群中的其他作业可能可以直接访问SCOW的gRPC后端,进而直接操作SCOW系统的数据,造成安全隐患。所以我们建议: 不将SCOW服务节点用作集群的登录节点或者计算节点 在映射端口时输入127.0.0.1:7571,使映射出的端口只能在SCOW服务节点上使用 给SCOW服务节点设置好防火墙,防止集群内部的服务访问到SCOW服务 您也可以配置服务器端认证。当打开了认证后,任何没有通过认证的请求将会收到UNAUTHENTICATED响应。","s":"API认证","u":"/SCOW/docs/integration/scow-api-hook/api","h":"#api认证","p":888},{"i":895,"t":"您也可以配置服务器使用静态Token认证。 在config/common.yaml中增加以下配置: config/common.yaml scowApi: auth: token: <秘密字符串,越长越好> 当配置好后,任何到服务器的请求都必须带有authorization header,其内容为Bearer <秘密字符串>。 门户系统和管理系统前端发送到服务器的请求将会自动带有这个header,无需单独配置。","s":"静态Token认证","u":"/SCOW/docs/integration/scow-api-hook/api","h":"#静态token认证","p":888},{"i":897,"t":"Go","s":"实际项目示例","u":"/SCOW/docs/integration/scow-api-hook/api","h":"#实际项目示例","p":888},{"i":899,"t":"SCOW API和Hook的数据结构和服务都通过Protocol Buffer格式统一定义并分发。要想使用SCOW API和Hook,您需要首先获取proto文件,通过proto文件生成您对应的语言的代码,然后才能进行开发。","s":"SCOW Protobuf文件","u":"/SCOW/docs/integration/scow-api-hook/proto","h":"","p":898},{"i":901,"t":"我们将SCOW API和Hook的proto文件放到了代码仓库中,您可以直接从代码仓库中获取。代码仓库中protos目录下则为proto文件:master分支protos目录链接 proto文件分为common, portal, server, audit和hook。其中, common中定义了公用的数据结构 portal定义了门户系统的SCOW API。portal-server门户系统后端实现了portal中定义的服务,您可以通过portal下的文件与portal-server交互 server定义了管理系统的SCOW API。mis-server管理系统后端实现了server中定义的服务,您可以通过server下的文件与mis-server交互 audit定义了审计系统的SCOW API。audit-server审计系统系统后端实现了audit中定义的服务,您可以通过audit下的文件与audit-server交互 hook定义了SCOW Hook的事件和服务。portal-server和mis-server将会通过hook下的文件与您配置的SCOW Hook服务器交互 除了直接从代码仓库中获取,我们更推荐使用工具获取Protobuf文件。您可以通过以下方式获取到SCOW的Protobuf文件","s":"获取Proto文件","u":"/SCOW/docs/integration/scow-api-hook/proto","h":"#获取proto文件","p":898},{"i":903,"t":"Buf是一个管理gRPC API和proto文件的一站式工具,可完成获取文件、生成代码等常见功能。我们推荐通过使用Buf直接从GitHub上获取代码并生成您的语言的模板的代码的工作。 # 使用本地buf.gen.yaml生成模板,使用v0.3.0版本的SCOW API(v0.3.0开始可以通过此方式,推荐) buf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=api-v0.3.0 # 使用本地buf.gen.yaml生成模板,使用SCOW仓库的master分支的代码对应的SCOW API buf generate --template buf.gen.yaml https://github.com/PKUHPC/SCOW.git#subdir=protos,branch=master 详细的示例请参考: Go","s":"1. 使用Buf获取和生成代码(推荐)","u":"/SCOW/docs/integration/scow-api-hook/proto","h":"#1-使用buf获取和生成代码推荐","p":898},{"i":905,"t":"您可以通过npm从npmjs.org上获取任意版本的proto文件 # 最新版本的API文件 npm install -g @scow/grpc-api # 特定版本(0.1.2)的API npm install -g @scow/grpc-api@0.1.2 # 安装好后,可以去npm的全局模块的目录中查找到这个包,并获取内部的文件 cd $(npm root -g)/@scow/grpc-api # 如果您使用npm对您的项目进行依赖管理,则可以在您的项目中安装此包,并直接在此包的node_modules中获取到proto文件 npm install --save @scow/grpc-api cd node_modules/@scow/grpc-api","s":"2. 通过npm获取proto文件","u":"/SCOW/docs/integration/scow-api-hook/proto","h":"#2-通过npm获取proto文件","p":898},{"i":907,"t":"我们通过npm以及package.json文件对API版本进行控制。当前的版本为: API的版本通过@scow/grpc-api包的版本进行定义。SCOW gRPC API版本控制原则: 不影响API的修改,例如lint文件:提高PATCH号 修改了API,但是兼容当前的API:提高MINOR号 不兼容已有的配置文件,提高MAJOR版本 当前,我们并不保证新版本SCOW对老版本API的兼容性。SCOW每次发布版本时,会同时公布此版本支持的SCOW API的版本号。","s":"API版本控制","u":"/SCOW/docs/integration/scow-api-hook/proto","h":"#api版本控制","p":898},{"i":909,"t":"如果用户配置了SCOW Hook,那么SCOW在发生一些事件时,会通过SCOW Hook调用监听的Hook服务器。您可以通过SCOW Hook监听SCOW中发生的事件,并自己进行一些后续处理。 会调用Hook的事件请参考protos/hook/hook.proto文件中OnEventRequest消息的message属性。 要使用SCOW Hook,您需要: 获取SCOW Protobuf文件并生成代码 根据hook目录下的proto文件实现其中定义的gRPC服务 启动您的gRPC服务器 在SCOW中配置SCOW Hook功能 config/common.yaml scowHook: # 启用SCOW Hook功能,默认为true # enabled: true # 若您只有一个hook,您可以直接使用url属性,并填入您的Hook的地址 url: 您的gRPC服务器的地址 # 若您有多个hook,则可以使用hooks属性,逐个填入您的地址。 # 若您填写了hooks,则url属性将会被忽略 hooks: - name: hook-name-1 # hook名,可选,若填写了,则在日志中可以看到被调用的hook的名字 url: hook 1地址 # hook服务器端地址 - name: hook-name-2 url: hook 2地址 重启SCOW","s":"SCOW Hook","u":"/SCOW/docs/integration/scow-api-hook/hook","h":"","p":908},{"i":911,"t":"请注意,SCOW的服务器是运行在容器中的,通过localhost无法访问到运行到SCOW节点上的服务。当设定hook的URL时,请使用服务在您的局域网中的地址。 如果您不确定一个地址是否能从容器中连接,您可以手动在容器中运行ping等命令尝试是否能到达您的Hook服务: ./cli compose exec mis-server sh ping 您的gRPC服务器的地址","s":"SCOW服务连接到Hook服务","u":"/SCOW/docs/integration/scow-api-hook/hook","h":"#scow服务连接到hook服务","p":908},{"i":913,"t":"Go","s":"实际项目示例","u":"/SCOW/docs/integration/scow-api-hook/hook","h":"#实际项目示例","p":908},{"i":915,"t":"警告 实验性功能! 如果您需要在SCOW的界面中增加更多的页面,您可以开发自己的UI,并通过UI扩展功能将您的UI集成进SCOW的UI中。这样,您的用户在访问您自己的页面时,也可以获得与访问SCOW的功能一致的体验。 下图为一个UI扩展演示。演示中的UI扩展增加了一个顶级导航项,并在下面增加了两个二级导航项。 第一个二级导航项显示了一个登录界面,其获取了SCOW的登录用户的token,并与SCOW的国际化和黑暗模式相同步。此导航项的图标也是由UI扩展自己提供。 第二个二级导航项是一个至GitHub的链接","s":"UI扩展 (Beta)","u":"/SCOW/docs/integration/ui-extension","h":"","p":914},{"i":917,"t":"请参考开发UI扩展。","s":"开发UI扩展","u":"/SCOW/docs/integration/ui-extension","h":"#开发ui扩展","p":914},{"i":919,"t":"当您的扩展站开发并部署完成后,请在config/portal.yaml和/或config/mis.yaml中增加以下内容,以开启SCOW UI扩展。 如果您在门户系统或者管理系统中仅使用一个UI扩展,可使用以下配置。您将可以使用{SCOW URL}/extensions访问到此UI扩展。 config/{portal,mis}.yaml uiExtension: # 您的UI扩展页部署URL。 url: http://localhost:16566/basepath 如果您在门户系统或者管理系统中需使用多个UI扩展,请使用以下配置。您将可以使用{SCOW URL}/extensions/{name}访问到对应名称的UI扩展。同一份配置文件中的多个UI扩展名称之间的名称不可重复。 config/{portal,mis}.yaml uiExtension: - # 这个UI扩展的名称 name: extension1 # 您的此UI扩展页部署URL url: http://localhost:16566/basepath - # 这个UI扩展的名称 name: extension2 # 您的此UI扩展页部署URL url: http://localhost:16567/basepath","s":"配置SCOW使用UI扩展","u":"/SCOW/docs/integration/ui-extension","h":"#配置scow使用ui扩展","p":914},{"i":921,"t":"SCOW多集群部署架构如下图所示: 提示 SCOW主要服务包括portal、mis、auth、gateway、db、audit、cli,支持多HPC集群管理,支持多种调度器(Slurm/CraneSched/K8S)。待接入的HPC集群需满足如下条件: 所有集群都必须使用同一个LDAP; 每个HPC集群NFS路径需相同,例如用户Home目录都为/data/home,软件安装目录都为/data/software。 SCOW多集群管理设置: 在每个集群管理节点上启动一个适配器服务; 每个集群有一个集群配置文件,即在config/clusters目录下每个集群有一个配置文件; 支持每个集群独立的交互式应用配置,也支持所有集群使用全局交互式应用配置。 SCOW接入多集群部署,与接入一个集群的区别主要在于: (1) 每个slurm集群有一个集群配置文件,即在config/clusters目录下每个集群有一个配置文件,如下所示: # 集群显示名称 displayName: hpc01 #登录节点配置 loginNodes: - name: hpc01_login01 address: hpc01_login01 #适配器url配置 adapterUrl: \"192.168.188.102:8999\" 提示 每个集群配置文件请按照该集群的实际情况修改配置。 (2) 各集群独立的交互式应用配置文件位于config/clusters/{clusterID}/apps目录下。也可以使用全局交互式应用配置,目录为config/apps(独立的优先级高于全局的)。","s":"多集群管理","u":"/SCOW/docs/multi_cluster","h":"","p":920},{"i":924,"t":"Untitled object in undefined – -","s":"Top-level Schemas","u":"/SCOW/docs/refs/config/app","h":"#top-level-schemas","p":922},{"i":927,"t":"Untitled object in undefined – undefined#/properties/web Untitled object in undefined – undefined#/properties/web/properties/connect Untitled object in undefined – undefined#/properties/web/properties/connect/properties/query Untitled object in undefined – undefined#/properties/web/properties/connect/properties/formData Untitled object in undefined – undefined#/properties/vnc","s":"Objects","u":"/SCOW/docs/refs/config/app","h":"#objects","p":922},{"i":929,"t":"Untitled array in undefined – undefined#/properties/nodes","s":"Arrays","u":"/SCOW/docs/refs/config/app","h":"#arrays","p":922},{"i":931,"t":"本部分为自动生成的配置参考。","s":"配置参考","u":"/SCOW/docs/refs","h":"","p":930},{"i":934,"t":"object (Details)","s":"Untitled object in undefined Type","u":"/SCOW/docs/refs/config/app/definition","h":"#untitled-object-in-undefined-type","p":932},{"i":936,"t":"Property Type Required Nullable Defined by name string Required cannot be null Untitled schema nodes array Optional cannot be null Untitled schema type Merged Required cannot be null Untitled schema web object Optional cannot be null Untitled schema vnc object Optional cannot be null Untitled schema","s":"Untitled object in undefined Properties","u":"/SCOW/docs/refs/config/app/definition","h":"","p":932},{"i":938,"t":"App名 name is required Type: string cannot be null defined in: Untitled schema","s":"name","u":"/SCOW/docs/refs/config/app/definition","h":"#name","p":932},{"i":940,"t":"string","s":"name Type","u":"/SCOW/docs/refs/config/app/definition","h":"#name-type","p":932},{"i":942,"t":"支持启动这个App的节点名。如果不设置,则所有节点都可以运行 nodes is optional Type: string[] cannot be null defined in: Untitled schema","s":"nodes","u":"/SCOW/docs/refs/config/app/definition","h":"#nodes","p":932},{"i":944,"t":"string[]","s":"nodes Type","u":"/SCOW/docs/refs/config/app/definition","h":"#nodes-type","p":932},{"i":946,"t":"应用类型 type is required Type: merged type (Details) cannot be null defined in: Untitled schema","s":"type","u":"/SCOW/docs/refs/config/app/definition","h":"#type","p":932},{"i":948,"t":"merged type (Details) any of Untitled string in undefined Untitled string in undefined","s":"type Type","u":"/SCOW/docs/refs/config/app/definition","h":"#type-type","p":932},{"i":950,"t":"web is optional Type: object (Details) cannot be null defined in: Untitled schema","s":"web","u":"/SCOW/docs/refs/config/app/definition","h":"#web","p":932},{"i":952,"t":"object (Details)","s":"web Type","u":"/SCOW/docs/refs/config/app/definition","h":"#web-type","p":932},{"i":954,"t":"vnc is optional Type: object (Details) cannot be null defined in: Untitled schema","s":"vnc","u":"/SCOW/docs/refs/config/app/definition","h":"#vnc","p":932},{"i":956,"t":"object (Details)","s":"vnc Type","u":"/SCOW/docs/refs/config/app/definition","h":"#vnc-type","p":932},{"i":959,"t":"string","s":"name Type","u":"/SCOW/docs/refs/config/app/definition-properties-name","h":"#name-type","p":957},{"i":961,"t":"要使用UI扩展,您首先需要开发并构建一个从外界可以访问的网站(称为扩展站)。您可以使用任何技术开发、维护和部署此网站,只需要满足您的用户可以通过直接公网访问即可。","s":"开发UI扩展","u":"/SCOW/docs/integration/ui-extension/develop","h":"","p":960},{"i":963,"t":"SCOW会在访问扩展页和调用某些配置接口时,将以下参数作为查询字符串(querystring)加入访问的URL,UI扩展可以通过这些参数获取当前SCOW系统的信息。具体哪些页面/API会传递这些参数会在具体章节里提到。 参数 取值 解释 scowDark \"true\" | \"false\" 当前SCOW是否以黑暗主题显示 scowUserToken string | undefined 当前SCOW的登录用户的token。可通过SCOW认证系统接口查询登录用户 scowLangId string 当前SCOW显示所使用的语言ID","s":"上下文参数","u":"/SCOW/docs/integration/ui-extension/develop","h":"#上下文参数","p":960},{"i":965,"t":"UI扩展的功能应实现为标准的网页。当访问SCOW的扩展路径时,SCOW将会在外层显示SCOW的基础导航结构,并在页面主要部分使用一个