[bigdata-015] apache nifi 官方文档摘要

Apache NIFI旨在实现自动数据流交换,处理数据流动中遇到的系统失效、数据量过大等问题。其核心概念包括FlowFile、Processor、Connection和FlowController。NIFI具备高可用性、易用性、安全性和可扩展架构,支持数据缓存、优先队列和QoS。入门教程涵盖了FlowFile、Processor、属性管理和模板使用。用户指南详细介绍了NIFI的用户界面、多租户认证、数据流创建和配置Processor。系统管理员指南涉及系统需求、配置最佳实践和安全配置。
摘要由CSDN通过智能技术生成














1NIFI概览|NIFIOverView

1.1NIFI是什么|Whatis Apache NIFI

NIFI的设计目标,是让各系统之间自动进行数据流交换。企业通常有多个系统,有的系统生产数据,有的系统消费数据。dataflow


dataflow涉及到的主要问题:

系统失效:网络失效,硬盘失效,软件崩溃,操作人员犯错。

数据过多来不及处理:

数据边界问题:数据太大,太小,太快,太慢,格式错误,诸如此类。

噪声和信号标准不定:昨天的噪声可能在明天就是信号,所以要能快速创建新dataflow以及改变旧dataflow,拥抱变化。

系统间速率不同:各系统的协议和格式可能会改变,或者不兼容,分布式系统通常都是松散关系。

合规与安全:法律,规则,政策等的变动。商业协议变动。系统和系统之间,系统和用户之间,需要考虑安全,可信,可度量。

产品持续改进:


dataflow问题的已有的有效解决方案:soa,the rist of the api(api economy), internet of things, 大数据

1.2NIFI的核心概念|Thecore concepts of NIFI

NIFI的设计理念,非常接近flowbased programming(FBP).

FlowFile:一个FlowFile表示一个对象,这个对象可以在系统之间进行移动,被传递。NIFI保存一个FlowFilekey-value的属性列表和这个FlowFile的字节内容。


FlowFileProcessor:ProccessorFlowFile进行各种操作,它可以获取FlowFile的属性和内容,同时操作多个FlowFile,可以将操作结果提交给下一个Processor或者回滚。


Connection:它提供Processor之间连接。它的作用就像一个queue,各种processor和它进行交互。


FlowController:控制器,它记录processor之间的连接关系,管理线程,管理processor和线程之间的使用关系。是一个类似broker的角色。


Processgroup:它表示一组processor和它们之间的连接。对于这个group而言,它可以通过input端口和output端口,进行数据的接收和发送。

1.3NIFI 架构|NIFIArchitecture

NIFIjvm上执行。主要构件如下:


webserver: 主要操作界面和控制api


flowcontroller: 整个流程的大脑,提供线程运行extension,管理各种extension接受数据并执行


extension:NIFI有各种extension,实现不同的功能


flowFilerepository: NIFI跟踪FlowFile的状态和操作


contentrepository: NIFI记录FlowFile的内容,就是记录FlowFile在文件系统上的block


ProvenanceRepository:存储所有的provenance(起源)事件数据,事件可以被索引和搜索。


NIFI可以部署成集群方式运行。


NIFI1.0开始,实现了0-master集群策略。NIFI集群的每一个节点都能对数据的子集执行相同的操作,然后合并结果。

1.4NIFI的性能和特性|PerformanceExpectations and Characteristics of NIFI


NIFI的性能有host机器的能力决定,主要是cpu和硬盘。


io:常规服务器保守估计50M/s的读写,NIFI可能会达到100M/s或者更高。


cpu:重ioflow,可能会导致数十个线程并发。


内存:NIFIjvm上,jvmgcNIFI影响很大

1.5高阶的NIFI关键特性|HighLevel Overview of Key NIFI Features

本节提供NIFI2万英尺的鸟瞰图。

1.5.1Flow Managerment

确保数据发送成功:这是必须必须必须达到的。这通过有效使用基于目标的持久化提前写入logcontentrepostory实现的。


数据缓存:NIFI支持缓存queued数据。所以当queue达到上限的时候,或者age达到指定的时间的时候,会进行缓存。


优先队列:可以选择数据分别到达最老得,最新的,最大的,以及其他状况的队列。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值