2016-06-21 184 views
3

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

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

我试着解压缩备份并将其导入为模板,但没有奏效。但是,在将其与导出的模板文件进行比较之后,这些格式有相当大的差异。但也许有办法将它转换成模板?

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

注:在进行以下的功能要求实现我假设我只想用这来代替:

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

回答

9

的NiFi实例的整个流程是存储在一个名为flow.xml文件。 gz在conf目录中(集群中的flow.xml.tar)。备份功能主要是在给定的时间点拍摄该文件的快照并将其保存到conf/archive目录。在稍后的时间点,您可以停止NiFi,并用其中一个备份替换conf/flow.xml.gz,以将流量恢复到该状态。

模板是与flow.xml.gz不同的格式。模板更公开并且可共享,可用于表示流的部分,或者在没有选择组件的情况下用于整个流。有些人使用模板作为模型来部署他们的流程,基本上将他们的流程组织到流程组中并为每个组制作模板。该项目提供了一些自动化与模板的工作:https://github.com/aperepel/nifi-api-deploy

3

你只需要停止NiFi,更换nifi的流程配置文件(例如,这可能是在conf目录flow.xml.gz),并开始NiFi备份。

如果您在查找时遇到问题,请检查nifi.properties文件中的字符串nifi.flow.configuration.file=,以了解您设置的内容。

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

相关问题