【问题标题】:Spark Dataproc job failing due to unable to rename error in GCS由于 GCS 中无法重命名错误,Spark Dataproc 作业失败
【发布时间】:2019-06-22 05:22:03
【问题描述】:

我的 Spark 作业由于以下错误而失败。

 org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 34338.0 failed 4 times, most recent failure: Lost task 0.3 in stage 34338.0 (TID 61601, homeplus-cmp-transient-20190128165855-w-0.c.dh-homeplus-cmp-35920.internal, executor 80): java.io.IOException: Failed to rename FileStatus{path=gs://bucket/models/2018-01-30/model_0002002525030015/metadata/_temporary/0/_temporary/attempt_20190128173835_34338_m_000000_61601/part-00000; isDirectory=false; length=357; replication=3; blocksize=134217728; modification_time=1548697131902; access_time=1548697131902; owner=yarn; group=yarn; permission=rwx------; isSymlink=false} to gs://bucket/models/2018-01-30/model_0002002525030015/metadata/attempt_20190128173835_34338_m_000000_61601/attempt_20190128173835_34338_m_000000_61601/attempt_20190128173835_34338_m_000000_61601/attempt_20190128173835_34338_m_000000_61601/attempt_20190128173835_34338_m_000000_61601/attempt_20190128173835_34338_m_000000_61601/attempt_20190128173835_34338_m_000000_61601/part-00000

我无法弄清楚缺少什么权限,因为 Spark 作业能够写入临时文件,我假设已经有写入权限。

【问题讨论】:

  • 您使用什么 Dataproc 和 GCS 连接器版本?您可以分享用于创建 Dataproc 集群并提交作业的命令吗?您是一次只运行一项工作还是并行运行多个工作?他们写到同一个文件夹吗?这种失败的频率如何?
  • 我使用的是 Dataproc 映像 1.2.37,因此无论安装什么版本都可以使用。我正在使用 Airflow 运算符创建集群,并且在集群创建期间我没有传递任何额外的 sparkhivecore 属性。我只是使用cloud-sql-proxy 初始化配置单元元存储,我正在运行多个作业,但它们确实写入同一个存储桶中的不同位置,如下面的gs://bucket/outputfolder/job1gs://bucket/outputfolder/job2 我在每次运行时都会看到这个错误。
  • 请您在主节点上执行此命令:sudo sh -c 'echo "\nlog4j.logger.com.google.cloud.hadoop.fs.gcs.GoogleHadoopFileSystemBase=DEBUG" >> /etc/spark/conf/log4j.properties'。它将为记录exception that occurs during rename 的类启用调试日志。您将能够使用 GHFS.rename 字符串在 StackDriver 中找到此日志消息。
  • 所以我发现我在存储桶上只有Storage Legacy Owner 角色。我也添加了Storage Admin 角色,这似乎解决了这个问题。谢谢。

标签: apache-spark google-cloud-platform google-cloud-storage google-cloud-dataproc


【解决方案1】:

根据 OP 评论,问题出在权限配置中:

所以我发现我在存储桶中只有Storage Legacy Owner 角色。我也添加了Storage Admin 角色,这似乎解决了这个问题。谢谢。

【讨论】:

    猜你喜欢
    • 2019-11-03
    • 1970-01-01
    • 2019-07-15
    • 2017-11-24
    • 2019-01-18
    • 2014-06-29
    • 2016-10-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多