使用 oozie 工作流的 s3 服务器端加密

s3 serverside encryption using oozie workflow

我有一个将数据写入 s3 存储桶的 sqoop 作业。如果我从命令行 运行 这个作业它正在加密 s3 文件。但是,如果我使用相同的 jar 文件到 运行 使用 oozie 工作流的 sqoop 作业,那么它会将数据推送到 s3,但不会发生加密。

以下是我的 oozie 工作流程。

    <java>
        <job-tracker>${jobTracker}</job-tracker>
        <name-node>${nameNode}</name-node>
        <main-class>com.aa.datalake.ingest.util.SqoopIngestUtil</main-class>
        <arg>root</arg>
        <arg>root</arg>
        <arg>test</arg>
    <arg>avro</arg>
    <arg>sqoop-demo</arg>   
    </java>
    <ok to="end"/>
    <error to="email-action" />
</action>

在 jar 中,我们使用 distcp 命令将数据从 hdfs 复制到 s3。

那么如何使用 oozie 工作流对 s3 文件进行服务器端加密?

我已经通过在启动集群之前在 EMR 集群中启用 s3 加密解决了上述问题。