首页 > 解决方案 > 如何使用状态更新从 dev 到 prod 的流程

问题描述

我有一个 nifi 流,它与 ListS3 处理器保持某种状态。我有一个开发实例和一个产品实例。我想要一些从 dev 部署到 prod 的选项,其中状态保持不变,并且我不必手动进入并更改所有处理器和进程组。

这似乎不能用模板来完成?基于以下stackoverflow问题:

NIFI listfile 如何维护其时间戳?

编辑:为了避免误解,我想在部署时保持产品状态。

标签: apache-nifi

解决方案


听起来您没有使用 NiFi 注册表,因此您正在下载流模板,然后将其导入。这不能保留状态,因为它不是同一个流程。

你应该使用 NiFi Registry 来控制你的流程,它支持这个 Dev -> Prod 工作流程。

在 Dev NiFi 中构建您的流程,版本为 Registry。

在 prod 中,添加一个新的 Process Group 并Import在它询问您名称时选择该选项。您将能够选择您的版本化流程。

运行您的流程,以便它存储一些状态。查看处理器状态以进行验证。

现在更新 Dev 中的流程,并将本地更改提交到 Registry。

然后,将 Prod 中的流程更新为 Registry 中的最新版本。它将在有状态处理器上保留状态。

有关安装和使用注册表的详细步骤,请参阅以下链接:

https://nifi.apache.org/docs/nifi-registry-docs/html/getting-started.html

https://pierrevillard.com/2018/04/09/automate-workflow-deployment-in-apache-nifi-with-the-nifi-registry/

https://alasdairb.com/2021/03/22/nifi-in-production-nifi-registry/

https://docs.cloudera.com/HDPDocuments/HDF3/HDF-3.2.0/versioning-a-dataflow/content/connecting-to-a-nifi-registry.html

https://docs.cloudera.com/HDPDocuments/HDF3/HDF-3.4.0/getting-started-with-nifi-registry/content/import-a-versioned-flow.html

https://docs.cloudera.com/HDPDocuments/HDF3/HDF-3.4.0/getting-started-with-nifi-registry/content/save-changes-to-a-versioned-flow.html

https://docs.cloudera.com/HDPDocuments/HDF3/HDF-3.4.0/getting-started-with-nifi-registry/content/start-version-control-on-a-process-group.html


推荐阅读