通过 Jenkins 部署 Oozie 作业

Deploy Oozie jobs via Jenkins

我正在编写 Oozie 作业,我想将它们部署到 hadoop 集群。

但是,我不想手动执行这些操作,而是想使用 Jenkins 为我执行此部署。

我在网上搜索了一下,没有找到 oozie 的任何插件....所以如果你在 hadoop 集群上使用 oozie,你能告诉我什么是我可以进行自动构建的最佳方式吗& 使用 Jenkins 的部署?

Oozie 工作流的部署只是将 xml 文件和集群上不可用的所需依赖项放入 HDFS 目录。 link

  • 假设您有两个 Jenkins 作业,
    • 一个用于构建、测试等
    • 第二次部署,在成功构建第一个作业后触发

您可以在第二个作业中编写将文件放在 HDFS 上的脚本,例如使用 WebHdfs

如果您从第一份工作构建的产品是某种包,例如zip,你可以创建一个脚本,它将这个工件从 Jenkins/Nexus 下载到可以访问 hdfs 控制台命令的机器,解压这个 zip 并将整个目录放入 hdfs,如其所述 here

如果您正在使用一些配置工具(Puppet 或 Ansible),您可以将其用于此目的。

要配置 Jenkins 调度,您可能需要使用

  • 詹金斯Pipeline Plugin
  • 或在 Jenkins 作业页面上 "Configure -> Build Triggers -> Build after other projects are built"