术语
DataFlow Manager: DataFlowManager(DFM)是NiFi的用户, 具有添加, 删除和修改NiFi数据流组件的权限。
FlowFile: FlowFile代表NiFi中的单个数据。FlowFile由两个组件组成: FlowFile属性(Attribute)和FlowFile内容(Content)。内容是FlowFile表示的数据, 属性是提供有关数据的信息或上下文特征, 它们由键值对组成。所有FlowFiles都具有以下标准属性:
- uuid: 一个通用唯一标识符, 用于区分FlowFile和其他的FlowFiles
- filename: 在将数据存储到磁盘或外部服务时可以使用的可读文件名
- path: 在将数据存储到磁盘或外部服务时可以使用的分层结构值, 以便数据不存储在单个目录中
Processor: 处理器是NiFi组件, 用于监听传入数据, 从外部来源提取数据, 将数据发布到外部来源, 路由 转换或提取FlowFiles
Relationship: 每个处理器都为其定义了零个或多个关联关系。命名这些关系以指示处理FlowFile的结果含义。处理器处理完FlowFile后, 它会将FlowFile路由(传输)到其中一个关系。DFM能够将每一个关系连接到其他组件, 以指定FlowFile应该在哪里进行下一步处理
Connection: DFM通过将组件从NiFi工具栏的Components部分拖动到画布, 然后通过Connections将组件连接在一起来创建自动的数据处理流程。每一个连接由一个或多个关系组成。对于每个Connection, DFM都可以为其确定使用哪些关系。这样我们可以基于其处理结果的不同来以不同的方式路由数据。每个连接都包含一个FlowFile队列, 将FlowFile传输到特定关系时, 会将其添加到属于当前Connection的队列中
Controller Service: 控制器服务是扩展点, 在用户界面中由DFM添加和配置后, 将在NiFi启动时启动, 并提供给其他组件需要的信息。
Funnel: 漏斗是NiFi的一个组件, 用于将来自多个Connections的数据合并到一个Connection中
Process Group: 当数据流变得复杂时, 在更高, 更抽象的层面上推断数据流是很有用的。NiFi允许将多个组件(如处理器)组合到一个过程组中。然后DFM可以在NiFi用户界面轻松地将多个流程组连接到逻辑处理流程中, DFM还可以进入流程组查看和操作流程组中的组件
Port: 使用一个或多个进程组构建的数据流需要一种方法将进程组连接到其他数据流组件。这是通过使用Ports实现的。DFM可以向进程组添加任意数量的输入端口和输出端口, 并相应的命名这些端口
Remote Process Group: 正如数据传输进出进程组一样, 有时需要将数据从一个NiFi实例传输到另一个NiFi实例。虽然NiFi提供了许多不同的机制来将数据从一个系统传输到另一个系统, 但是如果将数据传输到另一个NiFi实例, 远程进程组通常是实现此目的最佳的方法
Bulletin: NiFi用户界面提供了大量有关应用程序当前状态的监视和反馈。除了滚动统计信息和为每个组件提供的当前状态之外,组件还能够报告公告。每当组件报告公告时,该组件上都会显示公告图标(处理器右上角红色的图标)。系统级公告显示在页面顶部附近的状态栏上。使用鼠标悬停在该图标上将提供一个工具提示,显示公告的时间和严重性(Debug, Info, Warning, Error)以及公告的消息。也可以在全局菜单中的公告板页面中查看和过滤所有组件的公告
Template: 通常,DataFlow由许多可以重用的组件组成。NiFi允许DFM选择DataFlow的一部分(或整个DataFlow)并创建模板。此模板具有名称,然后可以像其他组件一样拖动到画布上。最终,可以将若干组件组合在一起以形成更大的构建块,然后从该构建块创建数据流处理流程。这些模板也可以导出为XML并导入到另一个NiFi实例中,从而可以共享这些构建块。
flow.xml.gz: DFM放入NiFi用户界面画布的所有内容都实时写入一个名为flow.xml.gz的文件。该文件默认位于conf目录中。在画布上进行的任何更改都会自动保存到此文件中,而无需用户单击保存按钮。此外,NiFi在更新时会自动在归档目录中创建此文件的备份副本。您可以使用这些归档文件来回滚配置,如果想要回滚,先停止NiFi,将flow.xml.gz替换为所需的备份副本,然后重新启动NiFi。在集群环境中,停止整个NiFi集群,替换其中一个节点的flow.xml.gz,删除自其他节点的flow.xml.gz,然后重新启动该节点。确认此节点启动为单节点集群后,然后启动其他节点。替换的流配置将在集群中同步。flow.xml.gz的名称和位置以及自动存档行为是可配置的。