pyslurm的使用

pyslurm是slurm API的python扩展库, 通过调用slurm的api接口,获取slurm集群的状态信息。

pyslurm的安装

pyslurm依赖slurm的lib库和include文件,所以在安装pyslurm之前,需要安装slurm库

$ sudo apt-get install libslurm-dev
$ sudo apt-get install libslurmdb-dev

pyslurm调用到了cython,也需要安装

$ sudo apt-get install cython

在github上下载pyslurm

$ git clone https://github.com/PySlurm/pyslurm.git

PySlurm下的pyslurm一直在维护,它是从 phantez/pyslurm里fork出来的,phantez/pyslurm已经 没有维护了,所以不要下错了。 pyslurm需要对应不同的slurm版本,我ubuntu下使用apt-get安装的slurm的版本为2.6.5,对应的pyslurm 版本为pyslurm(slurm-2.6.0),所以在安装之前,我们需要先跳转到slurm-2.6.0分支,在安装时一定要安装与slrum对应版本的pyslurm

$ git checkout -b slurm-2.6.0 origin/slurm-2.6.0

然后便可以进行安装了

$ cd pyslurm
$ python setup.py build
$ sudo python setup.py install

如果slurm的安装目录不是/usr,需要在指定slurm安装目录,pyslurm的README里有介绍。

pyslurm使用

到pyslurm的examples里面运行一个例子

$ cd examples
$ ./node_list.py
cn02 :
    alloc_cpus        : 0
    arch              : x86_64
    boards            : 1
    boot_time         : Fri Aug 12 06:08:08 2016
    cores             : 6
    cpu_load          : 0.00
    cpus              : 24
    energy            : {'current_watts': 0, 'consumed_energy': 0, 'base_consumed_energy': 0, 'previous_consumed_energy': 0, 'base_watts': 0}
    err_cpus          : 0
    features          : []
    gres              : []
    idle_cpus         : 24
    name              : cn02
    node_addr         : cn02
    node_hostname     : cn02
    node_state        : IDLE
    os                : Linux
    real_memory       : 1
    reason            : None
    reason_time       :
    reason_uid        :
    sensors           : {'current_watts': 0, 'consumed_energy': 4294967294, 'temperature': 4294967294, 'energy_update_time': 0}
    slurmd_start_time : Fri Aug 12 06:54:19 2016
    sockets           : 2
    threads           : 2
    tmp_disk          : 0
    weight            : 1

一下是pyslurm接口。

你可能感兴趣的:(pyslurm的使用)