数据同步
Nifi

Apache NiFi 是一个易于使用、功能强大而且可靠的数据处理和分发系统

商务合作
0
(0)

简介

Apache NiFi 是一个易于使用、功能强大而且可靠的数据处理和分发系统。Apache NiFi 是为数据流设计,它支持高度可配置的指示图的数据路由、转换和系统中介逻辑,支持从多种数据源动态拉取数据。简单地说,NiFi是为自动化系统之间的数据流而生。 这里的数据流表示系统之间的自动化和受管理的信息流。 基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理等功能。

  • Apache NiFi 是一个易于使用、功能强大而且可靠的数据拉取、数据处理和分发系统,用于自动化管理系统间的数据流。
  • 它支持高度可配置的指示图的数据路由、转换和系统中介逻辑,支持从多种数据源动态拉取数据。
  • NiFi原来是NSA(National Security Agency [美国国家安全局])的一个项目,目前已经代码开源,是Apache基金会的顶级项目之一
  • NiFi基于Web方式工作,后台在服务器上进行调度。
  • 用户可以为数据处理定义为一个流程,然后进行处理,后台具有数据处理引擎、任务调度等组件。

核心概念

  • Nifi 的设计理念接近于基于流的编程 Flow Based Programming。
  • FlowFile:表示通过系统移动的每个对象,包含数据流的基本属性
  • FlowFile Processor(处理器):负责实际对数据流执行工作
  • Connection(连接线):负责不同处理器之间的连接,是数据的有界缓冲区
  • Flow Controller(流量控制器):管理进程使用的线程及其分配
  • Process Group(过程组):进程组是一组特定的进程及其连接,允许组合其他组件创建新组件

Nifi 架构

  • Nifi是在主机操作系统上的JVM内执行。JVM上的Nifi主要组件如下:
    • 网络服务器
      • Web服务器的目的是托管NiFi的基于HTTP的命令和控制API。
    • 流控制器
      • 流控制器是操作的大脑。它提供用于扩展程序运行的线程,并管理扩展程序接收资源以执行的时间表。
    • 扩展
      • 有各种类型的NiFi扩展在其他文档中描述。这里的关键是扩展在JVM中运行和执行。
    • FlowFile存储库
      • FlowFile存储库是NiFi跟踪目前在流程中活动的给定FlowFile的知识状态。
      • 存储库的实现是可插拔的。默认方法是位于指定磁盘分区上的持久写入前端日志。
    • 内容存储库
      • Content Repository是给定FlowFile的实际内容字节。存储库的实现是可插拔的。
      • 默认方法是一个相当简单的机制,它将数据块存储在文件系统中。
      • 可以指定多个文件系统存储位置,以便获得不同的物理分区,以减少任何单个卷上的争用。
    • 源头存储库
      • Provenance Repository是存储所有来源的事件数据的地方。
      • 存储库构造是可插入的,默认实现是使用一个或多个物理磁盘卷。
      • 在每个位置内,事件数据被索引和可搜索。NiFi还能够在集群内运行。Nifi
    • 从NiFi 1.0版本开始,采用零主分类范例。NiFi集群中的每个节点对数据执行相同的任务,但是每个节点都在不同的数据集上进行操作。
    • Apache ZooKeeper选择单个节点作为群集协调器,故障转移由ZooKeeper自动处理。
    • 所有群集节点向群集协调器报告心跳和状态信息。集群协调器负责断开连接节点。
    • 此外,每个集群都有一个主节点,也由ZooKeeper选择。
    • 作为DataFlow管理者,可以通过任何节点的用户界面(UI)与NiFi集群进行交互。
    • 操作者的任何更改都会被复制到群集中的所有节点,从而允许多个入口点。

这个大数据组件是否好用呢?

点击星号为它评分!

平均评分 0 / 5. 投票数: 0

到目前为止还没有投票!成为第一位评论此组件。

相关导航

暂无评论

暂无评论...