Hai,java:未读块数据

问题描述 投票:0回答:1

我正在尝试在spark集群上运行一个基本脚本,该脚本接收一个文件,将其转换并以不同的格式输出。目前,Spark集群由1个主节点和1个从属节点组成,它们都在同一节点上运行。完整的命令是:

nohup spark-submit --master spark://tr-nodedev1:7077 --verbose --conf spark.driver.port=40065 --driver-memory 4g --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 /clinvar_37.vcf -ht
--genome-version 37 --output /seqr-reference-hail2/clinvar_37.ht &

它给出一个错误:

hail.utils.java.FatalError:IllegalStateException:未读取的块数据

更详细的堆栈跟踪可以在我问过相同问题的另一个论坛上找到:

https://discuss.hail.is/t/unread-block-data-error-spark-master-slave-issue/1182

这样的命令可以正常工作:

nohup spark-submit --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.3_hg19_noDB.vcf -ht 
--genome-version 37 --output /seqr-reference-hail2/hgmd_2019.3_hg19_noDB.ht &

因此,在本地模式下,它运行良好,但在独立模式下,效果不佳。因此,我想这可能是主从设置不同的问题,可能是JAVA。但是,可以像这样在spark-env.sh中设置它们:

导出JAVA_HOME = / usr / lib / jvm / java

export SPARK_JAVA_OPTS + =“ -Djava.library.path = $ SPARK_LIBRARY_PATH:$ JAVA_HOME”

无法解决问题。要启动主站+从站,我只需要使用start-all.sh脚本即可。任何建议将不胜感激。

java apache-spark master-slave hail
1个回答
0
投票

[确定,我们已解决,解决方案是将以下设置添加到运行脚本的命令中:

© www.soinside.com 2019 - 2024. All rights reserved.