【问题标题】:Deploy Oozie jobs via Jenkins通过 Jenkins 部署 Oozie 作业
【发布时间】:2016-10-16 20:50:49
【问题描述】:

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

但是,我不想手动执行它们,而是想使用 Jenkins 为我执行此部署。

我在网上搜索并没有找到 oozie 的任何插件 .... 所以如果您在 hadoop 集群上使用 oozie,您能告诉我进行自动化构建和部署的最佳方式是什么吗?使用詹金斯?

【问题讨论】:

  • 除了 Jenkins 插件之外,您是否搜索过任何其他内容? Apache Oozie 是否有您可以使用的 API?其他人是否已经编写过 API 客户端?
  • Oozie 有一个 REST API。
  • 您是否发现使用 Jenkins 而不是 oozie rest API 来满足您的要求有什么好处?

标签: hadoop jenkins jenkins-plugins oozie


【解决方案1】:

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

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

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

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

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

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

  • 詹金斯Pipeline Plugin
  • 或在 Jenkins 作业页面“配置 -> 构建触发器 -> 构建其他项目后构建”

【讨论】:

    猜你喜欢
    • 2013-04-15
    • 1970-01-01
    • 2014-02-22
    • 1970-01-01
    • 2015-05-31
    • 2013-11-23
    • 1970-01-01
    • 1970-01-01
    • 2017-12-10
    相关资源
    最近更新 更多