mysql - 如何使用 SLURM 集群的远程分区连接/使用 MySQL?
问题描述
我正在尝试使用 Orthomcl,其中包括在 Linux 中使用 MySQL。我可以访问大学范围内的集群,该集群设置有一个基本登录界面,用于非常小的命令(<5 分钟,内存不足)和多个远程分区,我只能通过 SLURM 与之交互。这些分区没有交互式命令。
我没有 sudo 权限,所以我安装了本地版本的 MySQL,并且能够通过登录和其他侦听端口打开 MySQL 连接(这些最终都通过登录运行)。
我暂时摆脱了这个问题,并达到了将一个大表(~140GB)加载到我的 orthomcl 数据库中的地步。然而,当我开始集群时,IT 终于抓住了我,而且夹具已经启动!但是他们没有时间帮助我找到在任何其他分区上运行 MySQL 的方法......我需要在其他分区之一上运行我的资源密集型命令,但我不知道如何在没有直接的情况下执行此操作命令行访问或使用 SLURM 语法。
有任何想法吗?我只是一个笨手笨脚的生物学家。
解决方案
如果将来有人遇到这种情况,我找到了一种解决方法。同样,我在笨手笨脚,所以我保证这不是最佳实践,但它对我有用。
首先,我将 .cnf 和 .config 文件中的端口更改为集群上的非登录监听端口。
我使用批处理脚本从 WSU 的这个优秀资源的非登录分区上启动 MySQL 实例:https : //hpc.wsu.edu/programmers-guide/running-databases/ 我无法运行 orthomcl 命令在这个里面,所以我只是在故障安全停止点之后切断它。
批量启动.sh
我得到了它在 slurm 输出文件中分配的分区节点的名称,然后我检查它是否在日志文件中打开并使用
srun --nodelist=nodename mysqladmin -S /path/to/special/socket -P port -u root status
然后我可以像平常一样访问和使用该分区
screen srun -p batchpartition --time=d-hh:mm:ss --nodelist=nodename orthomclLoadBlast orthomcl.config similarSequences.txt
OrthoMCL 特定:确保您记得在 orthomcl.config 文件中更改您的端口!
希望有一天有人会提供更好的答案,但这可能会在紧要关头。
推荐阅读
- node.js - 如何使用nodejs在redis缓存中实现hashset的分页
- c++ - 这是读取文件输入的正确方法吗?
- javascript - 如何使用 classList 切换显示/隐藏下拉列表内容?
- django - 从管理页面删除 Django 中的 ManyToManyField,然后单击按钮
- kubernetes - kubectl 创建部署命令使用模板示例
- mysqli - 如何在一个更新查询中使用多个集合?
- c# - 在 Insert 上手动设置 id 时出错 DuplicateKeyException
- flutter - 在颤动中使用自定义应用栏时如何使正文中的小部件可滚动?
- powershell - 检查用户是否是成员并删除
- javascript - 为什么 JS 不单独针对我的课程?