提交臭名昭著的ArangoDB沉默

时间:2018-06-19 15:39:29

标签: arangodb slurm

我试图在Cray超级计算机上以集群模式运行ArangoDB。 它在登录节点上运行。 我遵循以下指示: https://docs.arangodb.com/3.3/Manual/Deployment/Local.html

但是要正确使用Cray集群,我需要将其作为批处理作业(Slurm / sbatch)提交。 我在运行它时遇到问题,因为“ arangod”变为静默状态,这是因为它的命令行输出没有出现在slurm-log-file中。

我尝试使用此链接更改日志设置: https://docs.arangodb.com/3.3/Manual/Administration/Configuration/Logging.html 如果我将日志记录放到“ info”,那么我什么也得不到。如果我这样使用“跟踪”:

build/bin/arangod --server.endpoint tcp://0.0.0.0:5003 --agency.my-address tcp://148.187.32.9:5001 --server.authentication false --agency.activate true --agency.size 3 --agency.supervision true --database.directory db_dir/agency_2 --log.level startup=trace --log.level agency=trace --log.level queries=trace --log.level replication=trace --log.level threads=trace

我得到了一些东西,但是它不会打印出我感兴趣的任何行,即它是否创建了数据库目录,是否以八卦模式结束等等。如果我只是从终端运行的话,我不会在控制台中得到预期的输出。

正如我所说:在登录节点上,一切都正常。我怀疑问题可能出在Slurm和arangod的互动中。

你能帮我吗?

*编辑*

我做了一个小实验。首先,我运行了此程序(期待一条错误消息):

#!/bin/bash -l
#SBATCH --job-name=slurm_test
#SBATCH --time=00:30:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-core=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=1
#SBATCH --partition=debug
#SBATCH --constraint=mc

export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

srun build/bin/arangod --server.endpoint tcp://0.0.0.0:5001

得到了这一点(来自arangodb的第一行,我们所期望的): lur之以鼻....

no database path has been supplied, giving up, please use the '--database.directory' option
srun: error: nid00008: task 0: Exited with exit code 1
srun: Terminating job step 8106415.0

Batch Job Summary Report for Job "slurm_test" (8106415) on daint
-----------------------------------------------------------------------------------------------------
             Submit            Eligible               Start                 End    Elapsed  Timelimit 
------------------- ------------------- ------------------- ------------------- ---------- ---------- 
2018-06-20T22:41:54 2018-06-20T22:41:54             Unknown             Unknown   00:00:00   00:30:00 
-----------------------------------------------------------------------------------------------------
Username    Account     Partition   NNodes   Energy
----------  ----------  ----------  ------  --------------
peterem     g34         debug            1          joules

This job did not utilize any GPUs

----------------------------------------------------------
Scratch File System        Files       Quota
--------------------  ----------  ----------
/scratch/snx3000           85020     1000000

然后我运行了此

#!/bin/bash -l
#SBATCH --job-name=slurm_test
#SBATCH --time=00:30:00
#SBATCH --nodes=1
#SBATCH --ntasks-per-core=1
#SBATCH --ntasks-per-node=1
#SBATCH --cpus-per-task=1
#SBATCH --partition=debug
#SBATCH --constraint=mc

export OMP_NUM_THREADS=$SLURM_CPUS_PER_TASK

srun build/bin/arangod --server.endpoint tcp://0.0.0.0:5001 --agency.my-address tcp://127.0.0.1:5001 --server.authentication false --agency.activate true --agency.size 1 --agency.supervision true --database.directory agency1

这创建了“ agency1”目录,但未完成(运行了3分钟以上)。所以几分钟后,我“取消”了这项工作。这是唯一的输出(slurm -.... out:):

srun: got SIGCONT
slurmstepd: error: *** STEP 8106340.0 ON nid00008 CANCELLED AT 2018-06-20T22:38:03 ***
slurmstepd: error: *** JOB 8106340 ON nid00008 CANCELLED AT 2018-06-20T22:38:03 ***
srun: forcing job termination
srun: Job step aborted: Waiting up to 32 seconds for job step to finish.

Batch Job Summary Report for Job "slurm_test" (8106340) on daint
-----------------------------------------------------------------------------------------------------
             Submit            Eligible               Start                 End    Elapsed  Timelimit 
------------------- ------------------- ------------------- ------------------- ---------- ---------- 
2018-06-20T22:32:15 2018-06-20T22:32:15             Unknown             Unknown   00:00:00   00:30:00 
-----------------------------------------------------------------------------------------------------
Username    Account     Partition   NNodes   Energy
----------  ----------  ----------  ------  --------------
peterem     g34         debug            1          joules

This job did not utilize any GPUs

----------------------------------------------------------
Scratch File System        Files       Quota
--------------------  ----------  ----------
/scratch/snx3000           85020     1000000

所以:我知道这两种情况都在运行(提供输出或板条箱文件夹)。但是我不知道为什么在第二种情况下它没有输出。

我希望这可以澄清我的问题。

谢谢,伊曼纽尔

1 个答案:

答案 0 :(得分:0)

请打印整个slurm作业命令/作业文件吗? arangod记录到stdout。当stdout重定向到输出文件时,就像群集批处理系统默认情况下一样,您应该监视该文件。据我所知,默认情况下,草式写入slurm-$jobid.out