spark-submit error: Invalid maximum heap size: -Xmx4g --jars, but enough of memory on the system

spark-submit error: Invalid maximum heap size: -Xmx4g --jars, but enough of memory on the system

我正在 运行 进行 spark 工作:

spark-submit --master spark://ai-grisnodedev1:7077 --verbose --conf spark.driver.port=40065 --driver-memory 4g
--jars /opt/seqr/.conda/envs/py37/lib/python3.7/site-packages/hail/hail-all-spark.jar 
--conf spark.driver.extraClassPath=/opt/seqr/.conda/envs/py37/lib/python3.7/site-packages/hail/hail-all-spark.jar 
--conf spark.executor.extraClassPath=./hail-all-spark.jar ./hail_scripts/v02/convert_vcf_to_hail.py ./hgmd_pro_2019.4_hg38.vcf -ht 
--genome-version 38 --output ./hgmd_pro_2019.4_hg38.ht

并且命令报错:

Invalid maximum heap size: -Xmx4g --jars Error: Could not create the Java Virtual Machine. Error: A fatal exception has occurred. Program will exit.

我检查了内存:

所以,好像没问题。我检查了 java:

(py37) -bash-4.2$ java -version
openjdk version "1.8.0_232"
OpenJDK Runtime Environment (build 1.8.0_232-b09)
OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)

然后我在 Chrome 中检查了 spark 是否在 ai-grisnodedev1:7077 运行ning 并且它与一名工人有关。如果我使用 ipython,我可以 运行 https://hail.is/docs/0.2/getting_started.html 中的简单 install 示例:

import hail as hl
mt = hl.balding_nichols_model(n_populations=3, n_samples=50, n_variants=100)
mt.count()

因此,依赖于 SparkHail 也在工作。也许我的命令格式不正确或某些文件已损坏?s 但是错误非常具有误导性。我可以做些什么来尝试调试这个问题?

尽管非常绝望,但刚刚发布了问题并立即修复了它。问题是我在几个编辑器中复制粘贴命令并返回,并且在 --driver-memory 4g 之后可能出现了一些错误的字符。我刚刚删除了空格(可能不是空格)并重新插入它们,它开始工作了。很难说为什么,也许 tabnewline 以某种方式搞砸了。我正在使用 Microsoft One Note - 也许它正在对空格进行一些修改...

我也遇到了这个问题。无论如何,我正在使用 pySpark。 对我来说,这是 spark.executor.memory 接受的问题,例如16gb,而spark.driver.memory只接受16g->bgb 导致错误(老实说有点不直观)。