apache-nifi - 如何使用状态更新从 dev 到 prod 的流程
问题描述
我有一个 nifi 流,它与 ListS3 处理器保持某种状态。我有一个开发实例和一个产品实例。我想要一些从 dev 部署到 prod 的选项,其中状态保持不变,并且我不必手动进入并更改所有处理器和进程组。
这似乎不能用模板来完成?基于以下stackoverflow问题:
编辑:为了避免误解,我想在部署时保持产品状态。
解决方案
听起来您没有使用 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://alasdairb.com/2021/03/22/nifi-in-production-nifi-registry/
推荐阅读
- python - 在 Keras ResNet 上激活 FGSM 时形状排名不匹配
- reactjs - 如何在js中嵌套jsx代码,其中嵌套在jsx中?
- android - Android Q RingtonePicker 现在会导致应用崩溃?
- c++ - 绑定对临时对象的引用
- java - 我想知道“分离实体传递给坚持”发生的原因
- python - 为什么词嵌入中词汇的固定顺序很重要?
- mysql - 连接表时“字段列表”中的未知列 xxx(MySQL、MariaDB)
- awk - 在awk中,常见的tolower()操作后如何搜索复杂的模式组合
- android - 当用户按下下一个按钮时,从 API 播放下一首音频歌曲
- c# - 如何“在具有不同值的变量上正确使用 if else”