大数据框架NiFi
一、NiFi介绍
NiFi 最初由美国国家安全局(NSA)开发和使用的一个可视化、可定制的数据集成产品。2014 年 NSA 将其贡献给了 Apache 开源社区,2015 年 7 月成为 Apache 顶级项目
他是一个易于使用,功能强大,可靠的处理和分发数据框架。主要用于数据的同步传输,支持灵活的数据格式转换,同时可以设置定时调度任务,他是一个数据同步框架,类似于 kettle。
市面上类似的数据同步框架有,Datax,flume等
优点是官方提供了一个webui,所有的操作都可以通过鼠标拖拽来完成。
二、术语概念
NiFi术语 | 描述 |
FlowFile | 数据在NIFI中传输时封装的对象,分为属性(attribute)和内容,其中属性是键值对的头信息,内容为字符串。 |
FlowFile Processor | 数据处理器组件,通过选择不同的处理器,对数据进行不同的读写或者转换清洗等操作。 |
Connection | 处理器直接的连接,单个处理器可以有多个连接完成数据的分流。 |
Flow Controller | 流控制器管理连接器中的资源分配。 |
Process Group | 处理组,将多个处理器连接的链路封装起来作为一个组管理。 |
三、下载安装
- 官网地址:nifi.apache.org/
- 下载地址:nifi.apache.org/download.ht…
将下载的文件nifi-1.19.1-bin.zip,上传到服务器的/opt/目录
新建一个文件夹,nifi,并将nifi-1.19.1-bin.zip 解压到该目录
unzip nifi-1.19.1-bin.zip -d /opt/nifi
如果没有unzip的话,需要下载一个
复制代码
sudo yum -y install unzip
NiFi核心配置
(1)修改web地址和端口号
vim conf/nifi.properties # 152行(默认127.0.0.1,外部无法访问) nifi.web.https.host=服务器实际IP nifi.web.https.port=8443
(2)设置登录账号
密码有要求,最低12位
bin/nifi.sh set-single-user-credentials admin 123456789012
启动:
(1)NiFi后台启动/关闭命令
bin/nifi.sh startbin/nifi.sh stopbin/nifi.sh status
(2)NiFi前台启动/关闭命令
bin/nifi.sh run #Ctrl+c 关闭
(3)web访问
输入账号密码即可进入控制台
四、使用
我们现在可以通过在画布中添加Processor来开始创建数据流。
各个处理器的用途及配置在官网上都有介绍,大约提供了近300个常用处理器。包含但不限于:数据格式转换、数据采集、数据(local/kafka/solr/hdfs/hbase/mysql/hive/http等)的读写等功能,使用方便,如果不能满足需求,还可以自定义处理器
- 可以从文件目录同步文件
- 可以从mysql等数据库同步数据到hdfs
- 可以消费kafka消息,同步到指定的系统
网上学习资料: