4

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

备份是指当您 POST /controller/archive使用 REST api 或“控制器设置”(工具栏按钮)然后“备份流程”(链接)调用时生成的文件。

我尝试解压缩备份并将其作为模板导入,但没有奏效。但是在将其与导出的模板文件进行比较后,格式是相当不同的。但也许有办法将其转换为模板?

目前我目前的工作是不选择顶级流程上的任何组件,然后选择“创建模板”;这将添加一个包含我所有组件的模板。然后我只是导出它。我的问题是通过 REST API 实现自动化有点棘手。我使用 Fiddler 来确定 UI 正在做什么,它首先生成一个包含所有组件(标签、处理器、连接等)的片段。然后它POST /nifi-api/contorller/templates使用片段 ID 调用创建模板 ()。所以模板调用很简单,但是为代码片段生成定义需要一些工作。

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

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

4

2 回答 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

于 2016-06-22T00:55:56.817 回答
4

您只需要停止 NiFi,替换 nifi 流配置文件(例如,这可能flow.xml.gzconf目录中)并启动 NiFi 备份。

如果您找不到它,请检查您的nifi.properties文件中的字符串nifi.flow.configuration.file=以找出您设置的内容。

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

于 2016-06-23T09:40:47.733 回答