NiFi有办法导入备份吗?

问题描述 投票:0回答:2

使用NiFi v0.6.1有办法导入备份/档案吗?

我所说的备份是指当您调用时生成的文件

POST /controller/archive
使用 REST api 或“控制器设置”(工具栏按钮),然后使用“备份流程”(链接)。

我尝试解压缩备份并将其作为模板导入,但这不起作用。但将其与导出的模板文件进行比较后,发现格式有相当大的不同。但也许有办法将其转化为模板?

目前我当前的解决方法是不选择顶级流程上的任何组件,然后选择“创建模板”;这将添加一个包含我所有组件的模板。然后我就把它导出来。我的问题是通过 REST API 实现自动化有点棘手。我使用 Fiddler 来确定 UI 正在做什么,它首先生成一个包含所有组件(标签、处理器、连接等)的代码片段。然后它使用片段 ID 调用创建模板 (

POST /nifi-api/contorller/templates
)。因此,模板调用很简单,但生成片段的定义需要一些工作。

注意:一旦实现以下功能请求,我假设我只会使用它:

https://cwiki.apache.org/confluence/display/NIFI/Configuration+Management+of+Flows

backup apache-nifi
2个回答
11
投票

NiFi 实例的整个流程存储在 conf 目录中名为

flow.xml.gz
的文件中(集群中为
flow.xml.tar
)。备份功能本质上是在给定时间点拍摄该文件的快照并将其保存到
conf/archive
目录。稍后,您可以停止 NiFi 并将
conf/flow.xml.gz
替换为这些备份之一,以将流量恢复到该状态。

模板的格式与

flow.xml.gz
不同。模板更面向公众且可共享,并且可用于表示流程的一部分,如果未选择任何组件,则可用于表示整个流程。有些人使用模板作为模型来部署他们的流程,本质上是将他们的流程组织到流程组中并为每个组制作模板。该项目提供了一些使用模板的自动化:https://github.com/aperepel/nifi-api-deploy


4
投票

您只需停止 NiFi,替换 nifi 流配置文件(例如,这可能是

flow.xml.gz
目录中的
conf
)并重新启动 NiFi。

如果您找不到它,请检查您的

nifi.properties
文件中的字符串
nifi.flow.configuration.file=
以找出您也设置了什么。

如果您使用集群模式,则只需在 NCM 上执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.