使用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
答案 0 :(得分:10)
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
答案 1 :(得分:4)
您只需要停止NiFi,替换nifi流配置文件(例如flow.xml.gz
目录中可能是conf
)并启动NiFi备份。
如果您在查找时遇到问题,请检查nifi.properties
文件中的字符串nifi.flow.configuration.file=
,找出您设置的内容。
如果您使用的是群集模式,则只需在NCM上执行此操作。