hail.utils.java.FatalError:IllegalStateException:未读块数据
我试图在spark cluster上运行一个基本脚本,它接收一个文件,转换它并以不同的格式输出。目前,spark群集由运行在同一节点上的1个主节点和1个从节点组成。完整命令是:hail.utils.java.FatalError:IllegalStateException:未读块数据,java,apache-spark,master-slave,hail,Java,Apache Spark,Master Slave,Hail,我试图在spark cluster上运行一个基本脚本,它接收一个文件,转换它并以不同的格式输出。目前,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/.co
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:未读块数据
更详细的堆栈跟踪可以在另一个论坛上找到,我在那里问了同样的问题:
这样的命令很有效:
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\u JAVA\u OPTS+=“-Djava.library.path=$SPARK\u library\u path:$JAVA\u HOME”
没有解决问题。要启动master+slave,我只需使用
start all.sh
script。如果您有任何建议,我们将不胜感激。好的,我们修复了它,解决方案是在运行脚本的命令中添加以下设置:
–jars /opt/seqr/.conda/envs/py37/lib/python3.7/site-packages/hail/hail-all-spark.jar
因此,工作命令如下所示:
spark-submit --master spark://ai-grisnodedev1: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 --jars /opt/seqr/.conda/envs/py37/lib/python3.7/site-packages/hail/hail-all-spark.jar test_hail.py
对于未来的Hail 0.2用户,可能需要知道需要指定这个--jars参数,并且它应该指向Hail-all-spark.jar