【问题标题】:hail.utils.java.FatalError: IllegalStateException: unread block datahail.utils.java.FatalError: IllegalStateException: 未读块数据
【发布时间】:2020-03-16 18:35:05
【问题描述】:

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

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

导出 SPARK_JAVA_OPTS+=" -Djava.library.path= $SPARK_LIBRARY_PATH : $JAVA_HOME "

不能解决问题。要启动 master + slave,我只需使用 start-all.sh 脚本。任何建议将不胜感激。

【问题讨论】:

    标签: java apache-spark master-slave hail


    【解决方案1】:

    好的,我们修复了它,解决方案是将以下设置添加到运行脚本的命令中:

    –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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-01-30
      • 2014-07-05
      • 2016-04-26
      • 2018-03-30
      • 2018-01-26
      • 1970-01-01
      • 2014-01-27
      相关资源
      最近更新 更多