【问题标题】:How to use GCS bucket as workflow file source for Oozie in Dataproc如何在 Dataproc 中使用 GCS 存储桶作为 Oozie 的工作流文件源
【发布时间】:2020-04-15 16:16:35
【问题描述】:

我们正在将 EMR 集群迁移到 Dataproc,并且我们依靠 Oozie 来运行我们的工作流。第一个挑战是如何从 Cloud Storage 存储桶加载workflow.xml。我们曾经使用 S3 来做:

oozie.coord.application.path=s3://my_workflow/workflows/daily

尝试在 GCS 上使用相同的方法根本不起作用

oozie.coord.application.path=gs://my_workflow/workflows/daily

当我尝试运行 Oozie 作业时,我收到了这个错误:

gs URI scheme not supported

我必须在 Oozie 上手动配置方案吗?我正在使用Dataproc initialization action 来部署 Oozie。

【问题讨论】:

    标签: google-cloud-platform oozie google-cloud-dataproc oozie-workflow


    【解决方案1】:

    我重现了您的问题。似乎 Oozie 初始化操作还不支持从 GCS 加载 workflow.xml。我认为您可以为 init 操作提交错误,但现在您可能必须将文件放入 HDFS。

    关于修复,它需要:

    1) 在/etc/oozie/conf/oozie-site.xml,添加

    <property>
      <name>oozie.service.HadoopAccessorService.supported.filesystems</name>     
       <value>hdfs,gs</value>
       <decscription>...</decscription>
    </property>
    

    2) 在/etc/oozie/conf/hadoop-conf/core-site.xml中,添加

    <property>
      <name>fs.AbstractFileSystem.gs.impl</name>
      <value>com.google.cloud.hadoop.fs.gcs.GoogleHadoopFS</value>
      <description>The AbstractFileSystem for gs: uris.</description>
    </property>
    <property>
      <name>google.cloud.auth.service.account.enable</name>
      <value>false</value>
      <description>
        Whether to use a service account for GCS authorization.
        Setting this property to `false` will disable use of service accounts for
        authentication.
      </description>
    </property>
    

    3) 将gcs-connector.jar/usr/lib/hadoop/lib/ 复制到/usr/lib/oozie/lib

    4) 使用

    重启 Ooozie 服务
    sudo systemctl restart oozie.service
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-12-25
      • 2021-10-24
      • 1970-01-01
      • 1970-01-01
      • 2018-06-21
      • 2021-02-04
      • 1970-01-01
      • 2016-01-11
      相关资源
      最近更新 更多