计算化学公社

标题: 搭建在线量子化学平台 CalcUS [打印本页]

作者
Author:
wxyhgk    时间: 2022-11-11 14:22
标题: 搭建在线量子化学平台 CalcUS
本帖最后由 wxyhgk 于 2022-11-11 22:47 编辑


(, 下载次数 Times of downloads: 114)

0. 部分功能预览


本项目来自于 GitHub 项目:点我打开 ,原项目编译会出问题,自己修改了一下,可以正常使用

1. 准备工作
1.1 说明
项目来源于:https://github.com/cyllab/CalcUS

下载 MobaXterm : 点我下载 , 全能终端工具,集成 ssh , sftp , x11 转发,运维神器!强烈推荐


1.2 Docker 安装
首先更新源
  1. sudo apt-get update
  2. sudo apt upgrade -y
复制代码


然后安装docker
  1. sudo apt install docker -y
复制代码
  1. sudo apt install docker.io -y
复制代码

1.3 Docker-compose 安装
  1. sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesud
复制代码

赋予 docker-compose 可执行权
  1. sudo chmod +x /usr/local/bin/docker-compose
复制代码

1.4 设定 Docker 组
  1. sudo groupadd docker
复制代码
  1. sudo usermod -aG docker $USER
复制代码
  1. newgrp docker
复制代码


2. CalcUS 搭建
2.1 准备工作
原项目是有问题的,没法部署,会报错,经过个人修改,下面是我修改过的文件


下载好之后,将文件移动到你的 home 目录(运行 echo $HOME 就可以看到你的 home 目录路径了)下,举例来说就是
(, 下载次数 Times of downloads: 104)
这里的我的 home`目录就是:/home/wxyhgk,将软件移动到 /home/wxyhgk 下面.

2.2 安装
下载后,在目录下解压
  1. cd $HOME && tar -xvf calcus.tar.gz
复制代码
解压后会得到 `CalcUS` 文件夹,我们接下来进入 `CalcUS` 文件夹操作
  1. cd $HOME/CalcUS && bash start.sh
复制代码
这一步会比较慢,因为得下载各种 docker 镜像,耐心等待即可,下面的 Pulling 表明在 拉取镜像当出现下面的这个 web_1 字眼的时候表明启动成功

(, 下载次数 Times of downloads: 111)

最后去浏览器,输入 ip:1234 就可以进去了,这里的 ip 是你机器的ip,也就是你登录 ssh 的 ip.

默认

2.3 配置
上面的操作说明为了让 CalcUS 能跑起来,下面是配置,首先停掉 CalcUS,按 Ctrl + c 键就能停掉了.

.env 文件的配置,进入 CalcUS 目录,删掉 .env 文件
  1. cd $HOME/CalcUS&&rm .env
复制代码
然后使用命令
  1. python3 generate_env.py
复制代码


新建一个 `.env` 文件,这里是让你创建一个用户,密码是 default
(, 下载次数 Times of downloads: 118)
配置好之后重新运行
  1. bash start.sh
复制代码
使用这个命令是重新配置 docker 镜像,以前的 docker 容器会被删除.

配置好上面的之后,以后启动的时候,就到 CalcUS 目录下,运行

  1. docker-compose start
复制代码


就行了,稍等几分钟,就能在浏览器访问了.
3. 集群配置
这里是一台远程主机的配置,如果你有多台主机,全部按照下面来配置就可以了.
3.1 准备工作
首先在你要远程运行的机器上安装 slurm ,slurm 如何安装? 点我打开


3.2 创建计算目录
  1. mkdir $HOME/calcus
复制代码
然后将



放入到 calcus 目录中,解压.

3.3 制作脚本
下面的脚本均要在 calcus 目录中创建




3.5 集群远程连接
点击网站右上角的 `My Profile` 按钮
(, 下载次数 Times of downloads: 113)
然后找到这个
(, 下载次数 Times of downloads: 109)
解释以下每个名词的含义




配置好之后,点这个 Manage 按钮进入
(, 下载次数 Times of downloads: 108)

然后点击 View public key

(, 下载次数 Times of downloads: 114)
会得到一串数字复制这个数字,然后保留着,后面就是配置 ssh免密登录 ,网上教程很多,可以搜索 `ssh 免密登录` , 配置好免密登录后,然后点击上面的  Connect to cluster  按钮就可以了


3.6 计算测试
配置好上面所有的东西之后,就可以做计算了.如图所示
(, 下载次数 Times of downloads: 107)

更多的可以看官方教程:点我打开
4. 参考教程
4.1 Docker 相关

4.2 CalcUS 相关












作者
Author:
sobereva    时间: 2022-11-11 22:16
文中的外链的图我这里显示不出来
作者
Author:
wxyhgk    时间: 2022-11-11 22:33
sobereva 发表于 2022-11-11 22:16
文中的外链的图我这里显示不出来

可能我用的国外的图床,我调整一下
作者
Author:
ggdh    时间: 2022-11-12 21:33
强啊! 把建模和计算结合在一起了, MS风格的量化
作者
Author:
lonemen    时间: 2022-11-13 11:13
太强啦,膜拜
作者
Author:
冰释之川    时间: 2022-11-14 09:03
ggdh 发表于 2022-11-12 21:33
强啊! 把建模和计算结合在一起了, MS风格的量化

感觉可以卖好多钱啊
作者
Author:
冰释之川    时间: 2022-11-14 09:04
第一幅图概览图是真的好喜欢
作者
Author:
ABetaCarw    时间: 2022-11-14 14:07
国内不少公司在做类似的计算平台,有第一性的 有量化的 有生信的 也有MD的…… 要是这玩意推广开了 让那些公司情何以堪啊
作者
Author:
gog    时间: 2022-11-15 08:23
七八万,我们单位的领导都不同意批准,你说能卖多少许可数量?
Meda,Maps,我都了解过,价格贵了,买的单位和个人 数量少。
眼下这种经济形势,科研经费不容易申请到。
作者
Author:
anlancx    时间: 2022-11-15 09:45
这东西计算资源用的谁的
作者
Author:
wxyhgk    时间: 2022-11-16 00:03
anlancx 发表于 2022-11-15 09:45
这东西计算资源用的谁的

可以用本地服务器也可以用远程服务器
作者
Author:
neocc    时间: 2022-11-16 16:47
本帖最后由 neocc 于 2022-11-16 21:10 编辑

楼主
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composesud

应该是需要再把其改名为:/usr/local/bin/docker-compose 吧?



另外重建账号后一直有" mkdir: cannot create directory ‘ ’: Permission denied" 报错需要怎么处理呢? 加上了sudo也不行

作者
Author:
neocc    时间: 2022-11-16 18:11
在执行
  1. sudo apt install docker.io -y
复制代码
命令的时候如果有报错,可以参考一下解决方案:

安装docker 报错:

  1. $ sudo apt-get install docker.io
复制代码


下列软件包有未满足的依赖关系:
docker.io : 依赖: containerd (>= 1.2.6-0ubuntu1~)
E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

解决:
# 查看是否安装了 containerd
  1. $ dpkg -l containerd*
复制代码

期望状态=未知(u)/安装(i)/删除(r)/清除(p)/保持(h)
| 状态=未安装(n)/已安装(i)/仅存配置(c)/仅解压缩(U)/配置失败(F)/不完全安装(H)/触发器等待(W)/触发器未决(T)
|/ 错误?=(无)/须重装(R) (状态,错误:大写=故障)
||/ 名称                          版本                体系结构            描述
+++-=============================-===================-===================-===============================================================
ii  containerd                    1.5.5-0ubuntu3~18.0 amd64               daemon to control runC
rc  containerd.io                 1.6.6-1             amd64               An open and reliable container runtime

# 如果containerd不存在,则安装
  1. sudo apt install containerd
复制代码

# 如果containerd.io不存在,则安装
  1. sudo apt-get install containerd.io
复制代码

# 安装成功后再安装 docker.io
  1. sudo apt-get install docker.io
复制代码

# 查询版本
  1. docker version
复制代码


其他:

# 如果不行,也可以安装 docker-ce
  1. sudo apt-get install docker-ce
复制代码



参考
docker.io : 取决于: containerd (>= 1.2.6-0ubuntu1~)

请参考:https://blog.csdn.net/p1279030826/article/details/126185482


作者
Author:
wxyhgk    时间: 2022-11-17 00:36
neocc 发表于 2022-11-16 16:47
楼主
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$ ...

不知道你是什么系统,我测试的系统都是20.04 几个机器都是没问题的。
作者
Author:
neocc    时间: 2022-11-17 01:07
wxyhgk 发表于 2022-11-17 00:36
不知道你是什么系统,我测试的系统都是20.04 几个机器都是没问题的。

谢谢楼主

我用的是ubuntu20.04
没有搞定自建账户,就直接用楼主的账号吧

如果是只有一台机器安装了slurm,工作节点和计算节点都是这一台机器,需要如何设置非root用户下的ssh免密和slurm呢?
作者
Author:
wxyhgk    时间: 2022-11-17 09:10
neocc 发表于 2022-11-17 01:07
谢谢楼主

我用的是ubuntu20.04

上网搜ssh免密登陆就行了,把密匙放入你本机器就可以了
作者
Author:
neocc    时间: 2022-11-17 13:36
学习了本机非ROOT的ssh密钥的制作:
1、查看当前用户的家目录是否有.ssh文件夹,如果没有则创建(mkdir  ~/.ssh),并修改权限(chmod 700 ~/.ssh);
2、生成公钥和私钥,指令:$ ssh-keygen -t rsa       ;一路回车键
3、将生成的公钥传至主机:$ssh-copy-id user@hostname (user是用户,hostname是主机信息)
4、$ cat id_rsa.pub >> authorized_keys
5、测试:$ ssh  user@hostname

附上官网链接:https://help.ubuntu.com/community/SSH/OpenSSH/Keys


然后发现一个问题,使用楼主的账号,public key是楼主的user@hostname 写入authorized_keys里面用不了
然而前面提到的自建账号又会报错,陷入一个循环中。
作者
Author:
wxyhgk    时间: 2022-11-17 16:06
本帖最后由 wxyhgk 于 2022-11-17 16:17 编辑
neocc 发表于 2022-11-17 13:36
学习了本机非ROOT的ssh密钥的制作:
1、查看当前用户的家目录是否有.ssh文件夹,如果没有则创建(mkdir  ~ ...
1、查看当前用户的家目录是否有.ssh文件夹,如果没有则创建(mkdir  ~/.ssh),并修改权限(chmod 700 ~/.ssh);

如果是 Ubuntu20.04 系统就可以安装下面的来, centos 还得修改 ssh 配置什么的比较麻烦,这里我就不说了

1. 配置 ssh 免密登录权限
这里其实有些坑爹的地方,我当时写的急,有些东西没说,ssh 配置远程的时候,需要配置这些
  1. chmod 700 ~/.ssh

  2. chmod 644 ~/.ssh/authorized_keys

  3. chmod 600 ~/.ssh/id_rsa
复制代码


2.创建密匙
然后到网站去操作


注意这里的 Cluster Username 是你的远程机器的用户名,不是 wxyhgk

然后复制这里的代码



复制这里的代码

3. 写入密匙
登录 ssh ,使用命令
  1. echo "你刚刚复制的代码" >> ~/.ssh/authorized_keys
复制代码





作者
Author:
Zhangzhihe    时间: 2022-11-22 15:51
本帖最后由 Zhangzhihe 于 2022-11-22 16:03 编辑

同15楼的问题,在配置自己的账户的时候,报错权限问题(Ubuntu 20.04)
2.3小节,按照自己软件安装位置配置完成之后,bash start.sh 报错 postgres_1     | mkdir: cannot create directory ‘ ’: Permission denied
换用root未解决
作者
Author:
Zhangzhihe    时间: 2022-11-22 16:47
Zhangzhihe 发表于 2022-11-22 15:51
同15楼的问题,在配置自己的账户的时候,报错权限问题(Ubuntu 20.04)
2.3小节,按照自己软件安装位置配 ...

已解决:备份原有的.env,将新的env中的软件路径补充一下,其余设置保持不变,任然用楼主账号
作者
Author:
wxyhgk    时间: 2022-11-22 20:31
Zhangzhihe 发表于 2022-11-22 16:47
已解决:备份原有的.env,将新的env中的软件路径补充一下,其余设置保持不变,任然用楼主账号

实在不行,得将 Calcus 目录设置组和权限都是 root ,首先将 CalcUS 文件夹移动到 /home 目录下 ,然后使用命令
  1. sudo chown -R root:root CalcUS/
复制代码


然后进入 home/CalcUS 重新操作试试看





欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3