我试图在远程集群节点(rh7)上用以下代码对一些脚本进行排队:
#!/bin/bash
#PBS -N spark-cluster-path
#PBS -l select=2:ncpus=4:mem=2G
#PBS -l walltime=01:00:00
# Qsub template
# Scheduler: PBS
#Environment
export JAVA_HOME=/some/path/to/jdk/1.8.0_112
export SPARK_HOME=/some/path/to/spark/2.2.1
export PYTHONPATH=/some/path/to/python3.6/dist-packages
export PYSPARK_PYTHON=/some/path/to/Python/3.6.5/bin/python3
export PYSPARK_DRIVER_PYTHON=$PYSPARK_PYTHON
export PATH=$JAVA_HOME/bin:$SPARK_HOME/bin:$PYTHONPATH:$PATH
/some/path/to/spark/spark-on-pbs-0.1/pbs-spark-launcher ./word_count.py变量都是正确的,脚本word_count.py完全独立地工作,但是当我运行这个脚本时,我得到以下错误:
File "/some/path/to/spark/spark-on-pbs-0.1/pbs-spark-launcher", line 118, in <module>
raise EnvironmentError("Not in a PBS job")
EnvironmentError: Not in a PBS job谷歌在这里画了一个空白,我也是。这个问题从何而来?
发布于 2019-12-04 16:40:58
引用https://www.osc.edu/~troy/pbstools/man/pbs-spark-submit:
假设和限制 pbs-火花提交对其环境做出了两个假设。首先,火花主进程将在PBS作业的母上级节点上运行。其次,星火程序的工作目录位于分配给作业的节点上共享的文件系统上。
通过查看代码,它看起来像是在期待一个环境变量PBS_JOBID
https://stackoverflow.com/questions/59137693
复制相似问题