通过 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"
我正在编写 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"