2006年NiFi由美国国家安全局(NSA)的Joe Witt创建。2015年7月20日,Apache 基金会宣布Apache NiFi顺利孵化成为Apache的顶级项目之一。NiFi初始的项目名称是Niagarafiles,当NiFi项目开源之后,一些早先在NSA的开发者们创立了初创公司Onyara,Onyara随之继续NiFi项目的开发并提供相关的支持。Hortonworks公司收购了Onyara并将其开发者整合到自己的团队中,形成HDF(Hortonworks Data Flow)平台。2018年Cloudera与Hortonworks合并后,新的CDH整合HDF,改名为Cloudera Data Flow(CDF)。Cloudera将NiFi作为其新产品Cloudera Flow Management和Cloudera Edge Management的核心组件推出,可以方便地使用Cloudera Manager进行Parcel安装和集成,而Apache NiFi就是CFM的核心组件。
Apache NiFi 是一个易于使用、功能强大而且可靠的数据处理和分发系统,在大数据生态中的定位是成为一个统一的,与数据源无关的大数据集成平台。Apache NiFi是为数据流设计,它支持高度可配置的指示图,来指示数据路由、转换和系统中流转关系,支持从多种数据源动态拉取数据(Data Lake、DB(Oracle、MySQL)、API等)。简单地说,NiFi是为自动化系统之间的数据流而生。 这里的数据流表示系统之间的自动化和受管理的信息流。 基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理等功能。未来NiFi有可能替换Flume、Sqoop等大数据导数据的工具。
NiFi官网地址:Apache NiFi:https://nifi.apache.org/
文档:https://nifi.apache.org/docs.html
Nifi GitHub源码地址 https://github.com/apache/nifi
NiFi客户处理各种各样的数据源和数据格式。可以由一个数据源中获取数据,对数据进行计算、转化,把数据推送到其他的数据源进行存储。
流量管理:
易用性别: 多个处理器(Processors)被连接器(Connector)的箭头链接在一起,创建了数据流程。NiFi提供fbp(基于流编程)的体验。
安全性:
可扩展体系结构:
灵活缩放模型:
NiFi是高度并发的,并将并发的复杂性封装在自己内部。Processor为您提供了高级抽象,它隐藏了并行编程固有的复杂性。 Processor同步运行,可以为它分配多个线程来应对负载。
NiFi通过多种机制全面的跟踪系统状态,来实现了高度的可靠性。这些机制是可配置的,可以根据需求在延迟和吞吐量之间进行适当的权衡。
NiFi利用血缘和出处特征来跟踪每条数据的历史记录。这使得NiFi具有追踪每条数据发生什么转变的能力。
Apache Nifi提出的数据血缘解决方案被证明是审计数据管道的出色工具。
Apache NiFi支持数据路由、转换和系统中介逻辑的强大且可伸缩的有向图。
FlowFile:表示在系统中移动的每个对象,对于每个对象,NiFi跟踪键/值对属性字符串的映射及其零或多字节的相关内容。
FlowFile Processor:处理器实际执行工作,处理器是在系统之间进行数据路由、转换或中介的某种组合。处理器可以访问给定的FlowFile及其内容流的属性。处理器可以在给定的工作单元中操作零个或多个flowfile,并提交该工作或回滚。
Connection:连接提供处理器之间的实际链接。充当队列,允许各种进程以不同的速率进行交互。这些队列可以动态地划分优先级,并且可以设置负载上限,从而启用背压。
Flow Controller:流控制器维护进程如何连接,并管理所有进程使用的线程及其分配。流控制器充当了促进处理器之间流文件交换的代理。
Process Group:进程组是一组特定的进程及其连接,这些进程可以通过输入端口接收数据,通过输出端口发送数据。通过这种方式,流程组允许通过简单地组合其他组件来创建全新的组件。
这种设计模型帮助NiFi成为构建强大且可伸缩的数据流的非常有效的平台,其好处如下:
NiFi的设计目的是充分利用它所运行的底层主机系统的功能,对IO、CPU、RAM高效使用,这种资源最大化在CPU和磁盘方面表现得尤为突出,详细信息在管理指南中的最佳实践和配置技巧中。
NiFi在主机操作系统上的JVM中执行,JVM上NiFi的主要组件如下:
NiFi也能够在集群中运行,NiFi 采用了零领导者集群,NiFi集群中的每个节点在数据上执行相同的任务,但每个节点操作不同的数据集。Apache ZooKeeper选择一个节点作为Cluster Coordinator,故障转移由ZooKeeper自动处理。所有集群节点都向集群协调器报告心跳和状态信息。集群协调器负责断开和连接节点。此外,每个集群都有一个主节点,也由ZooKeeper选举产生。作为DataFlow管理器,可通过任何节点的用户界面(UI)与NiFi集群交互,操作更改复制到集群中的所有节点,允许多个入口点。
NiFi无缝地从多个数据源提取数据,并提供了处理不同模式数据的机制。 因此,当数据的“多样性”较高时,它会发挥价值。并且NiFi提供了多个Processor来清理和格式化数据。
简单来说,NiFi是用来处理数据集成场景的数据分发。NiFi是基于Java的,使用Maven支持包的构建管理。 NiFi基于Web方式工作,后台在服务器上进行调度。用户可以为数据处理定义为一个流程,然后进行处理,后台具有数据处理引擎、任务调度等组件。
想到创建数据流必须了解可供使用的处理器类型,NiFi包含许多开箱即用的不同处理器,这些处理器提供了从许多不同系统摄取数据、路由、转换、处理、分割和聚合数据以及将数据分发到许多系统的功能。几乎在每一个NiFi发行版中,可用的处理器数量都会增加。因此将不尝试为每个可用的处理器命名,下面重点介绍一些最常用的处理器,并根据它们的功能对它们进行分类。
数据转换
路由和中介
数据库访问
属性提取
系统交互
数据摄取
数据发送
拆分和聚合
NIFI介绍、安装、实践案例:
可参考:https://juejin.cn/post/7002031938328346654
NiFi分布式安装:
可参考:https://cloud.tencent.com/developer/article/2206586
Jenkins项目配置-maven项目-全面
可参考:https://blog.csdn.net/xiaona0523/article/details/124271773
Maven多模块使用及jenkins构建
可参考:https://blog.csdn.net/sinat_34974437/article/details/119926268
彻底理解maven + 配置私服 + 阿里云镜像
可参考:https://blog.csdn.net/sjsh_csdn/article/details/119562070
NIFI监控及界面常见菜单说明:
可参考:https://cloud.tencent.com/developer/article/2209640
可视化编排的数据集成和分发开源框架Nifi轻松入门-上
可参考:https://blog.csdn.net/qq_20949471/article/details/128309679?spm=1001.2014.3001.5502
Apache NiFi vs 其他技术比较
参考:https://zhuanlan.zhihu.com/p/328060780
xsync同步脚本的使用:
参考:https://blog.csdn.net/nalw2012/article/details/98322637#%E7%AE%80%E4%BB%8B
Linux部署nifi
可参考:https://blog.csdn.net/weixin_53134351/article/details/132095066
zookeeper集群搭建(详细步骤)
参考:https://blog.csdn.net/weixin_50642075/article/details/109613621
Hadoop安装教程 Linux版
可参考:https://blog.csdn.net/qq_42855570/article/details/115180674
Linux安装Hadoop超详细教程
参考:https://blog.csdn.net/sinat_40875078/article/details/104099169
虚拟机(VMware)相关:
安装VMware教程
参考:https://zhuanlan.zhihu.com/p/609472766
在VMware中安装CentOS7(超详细的图文教程)
参考:https://blog.csdn.net/qq_45743985/article/details/121152504
VMware虚拟机安装(非常详细)从零基础入门到精通,看完这一篇就够了
参考:https://blog.csdn.net/leah126/article/details/131450225
【VMware虚拟机】Linux设置固定IP
参考:https://blog.csdn.net/Tiezhu_Wang/article/details/113822362
【linux】linux系统配置静态IP地址(超详细,手把手教会)
参考:https://blog.csdn.net/u010521062/article/details/114067036