nifi 安装 使用案例
0 简介
Apache NiFi是一个基于流编程概念的数据流系统。它支持功能强大且可伸缩的数据路由、转换和系统中介逻辑有向图。NiFi有一个基于web的用户界面,用于设计、控制、反馈和监视数据流。它在服务质量的几个维度上是高度可配置的,比如容错与保证交付、低延迟与高吞吐量以及基于优先级的队列。NiFi为所有接收的、分叉的、连接的、克隆的、修改的、发送的和最终到达配置的最终状态时丢弃的数据提供细粒度的数据来源。
- 安装
在线安装
https://nifi.apache.org/quickstart.html
离线安装
三台集群方式安装
1. 安装jdk1.8
2. 安装zookeeper
3. 安装nifi(使用外部zookeeper)(三台相同配置)
- 下载安装包,上传到集群并解压
https://archive.apache.org/dist/nifi/
- 配置集群。配置一台后分发,然后把本机地址全部修改为本机的
conf/nifi.properties修改端口号和路径:
#web访问地址: nifi.web.http.host=本机地址
#web访问端口: nifi.web.http.port=18001
#路由输入地址:nifi.remote.input.host=本机地址
#路由输入端口:nifi.remote.input.socket.port=18002
#分布式集群节点:nifi.cluster.is.node=true
#分布式节点地址:nifi.cluster.node.address=本机地址
#分布式节点端口:nifi.cluster.node.protocol.port=28001
#zookeeper配置:nifi.zookeeper.connect.string=zookeeper集群 地址 al-node2:2181…
启动nifi
/opt/module/nifi-1.8.0/bin/nifi.sh start
/opt/module/nifi-1.8.0/bin/nifi.sh stop
查看日志
tail -F /opt/module/nifi-1.8.0/logs/nifi-app.log
等待5分钟,访问
hadoop102:18001
二、使用(hive版本要求1.2. hive 单节点nifi也得单节点)
2.1 Web简介
1、权限
默认情况下,没有配置权限,因此任何人都可以查看和修改数据流。
https://nifi.apache.org/docs/nifi-docs/html/administration-guide.html
2、界面介绍
3、区域一
这里就是“操作画布“,所有的对数据流的操作基本都在这个上面进行,在这上面可以进行”拖、拽、拉、连线…“等等操作,至于这几个操作的具体作用是什么,在后续的实例中会具体介绍。(从图中可以看到画布上面有几个我之前建好的组)
4、区域二
这里主要是构造数据流操作的主要面板。
1、添加模块(processor)
nifi内部会提供各个处理模块,当我们在进行数据处理的过程中,可以选择不同的模块并调整变量进行拼装,从而组合成一个完整的数据流处理的组。
2、添加数据流传入点(input-port)
虽说是数据流输入点,但是并不是整体数据流的起点。它是作为组与组之间的数据流连接的传入点与输出点。
3、添加数据流输出点(output-port)
同理上面的输入点。它是作为组与组之间的数据流连接的传入点与输出点。
4、添加组(process-group)
组相当于系统中的文件夹,作用就是使数据流的各个部分看起来更工整,思路更清晰,不至于从头到尾一条线阅读起来十分不方便。
5、添加远端的组(remote process-group)
根据弹出框进行信息配置,可加入远程的组。
6、拉取已有的文件(template)
每当做好一个完整的数据流后,可存储到本地为xml文件,nifi支持本地的template上传,这个按钮就是在上传本地template之后,选择上传过的一个获取到操作画布上。
7、添加便签(label)
相当于便签,可放置在画布空白处,写上备注信息。
5、区域三
这一部分是对区域一这个画布的缩小预览,点击放大缩小可调整视野,蓝框区域就是画布当前的界面,可用鼠标在这部分进行移动从而调整画布的视野。
6、区域四
开始运行
选中模块并点击运行按钮,开始进行对数据流的处理。
停止运行
选中模块并点击停止按钮,则停止了进行对数据流的处理。
保存template
选择你要保存的一个template,点击这个保存按钮,可把这个template保存到nifi系统里(并不是电脑本地,如果想保存到电脑本地,可点击右上角这个按钮,选择Template,弹出的页面上有下载选项)。
上传template
可上传本地的template(xml文件)到nifi系统里。
7、案例一
导出mysql中的数据转换为Json串并保存在本地
1、添加executesql到面板
(1.1)
(1.2) 配置executesql
(1.3)配置Database Connection Pooling Service
(1.4)点击 -> 配置Database Connection Pooling Service
注意:一定要将state改为Enable
2、添加ConverrtAvroToJson
(1)添加ConverrtAvroToJson到面板,不用修改任何属性配置。
- 添加PutFile
- 连接处理器
1、拖动箭头指向下一层,并勾选success。
Success和failure都要有下一级这个模块才能启动
2、把failure可以自动终止掉
executeSQL自动终止failure
convertavrotoJSon终止failure
putfile终止success和failure
- 调度
NiFi支持三种调度策略,包括Time Driven(时间驱动)、CRON Driven(CRON驱动)和Event Driven(事件驱动,非可选),根据我们实际需求选择CRON Driven,个人理解CRON即是Crontab的应用,CRON的各参数含义分别代表:秒、分、时、日、月、周、年,需要配合*、?和L共同执行(*代表字段的值都有效;?代表对于指定的字段不指定值;L代表长整形)。如:“0 0 13 * * ?”代表想要在每天下午1点进行调度执行。
1、crontab表达式
2、时间间隔调度
3.3 案例二
需求:导出Hive数据转换为csv并保存到HDFS
3.3.1 添加SelectHiveQL
(1)添加SelectHiveQL到面板
(2)配置数据仓库连接池
Hive-site.xml
Core-site.xml
有使用tez的话
Tez-site.xml
(3)启动数据仓库连接池
注意:此方案借助hiveserver2进行连接,因此要手动开启和hiveserver2服务。
(4)添加PutHDFS处理器
Core-site.xml
Hdfs-site.xml
(5)启动
(6)查看HDFS生成的文件
nifi 安装 使用案例相关推荐
- MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决
MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 一.简介 MySQL是最流行的开放源码SQL数据库管理系统,它是由MySQL AB公司开发.发布并支持的.有以下特点: MySQL是 ...
- Py之lulu:lulu库的简介、安装、案例应用之详细攻略
Py之lulu:lulu库的简介.安装.案例应用之详细攻略 目录 lulu库的简介 1.支持的站点 lulu库的装 lulu库的案例应用 1.下载音乐 2.下载视频 lulu库的简介 通过该库可下载各 ...
- Py之interpret:interpret的简介、安装、案例应用之详细攻略
Py之interpret:interpret的简介.安装.案例应用之详细攻略 目录 interpret的简介 1.可解释性在ML过程中的重要作用 interpret的安装 interpret的案例应用 ...
- ansible 安装 mysql 案例记录
文章目录 ansible 安装 mysql 案例记录 ansible 安装 mysql 案例记录 本次案例参考 二进制安装mysql 以下 yml 文件仍有很多不完善的地方,后续再继续修改 --- - ...
- Dreamweaver:Dreamweaver软件的界面简介、安装、案例应用之详细攻略
Dreamweaver:Dreamweaver软件的界面简介.安装.案例应用之详细攻略 目录 Dreamweaver软件的简介 Dreamweaver软件的安装 Dreamweaver软件的界面简介 ...
- Apache NIFI 安装 ● 操作 ● 文件同步 ● oracle 数据库增量同步实例讲解
nifi简介 nifi背景 NiFi之前是在美国国家安全局(NSA)开发和使用了8年的一个可视化.可定制的数据集成产品.2014年NSA将其贡献给了Apache开源社区,2015年7月成功成为Apac ...
- SQL Server 2012安装错误案例:Error while enabling Windows feature: NetFx3, Error Code: -2146498298...
案例环境: 服务器环境 : Windows Server 2012 R2 Standard 数据库版本 : SQL Server 2012 SP1 案例介绍: 在Windows Serve ...
- Proxmox VE(PVE)+ceph+物理网络规划-超融合生产环境安装部署案例
1 Proxmox Virtual Environment介绍 Proxmox VE 是用于企业虚拟化的开源服务器管理平台.它在单个平台上紧密集成了KVM虚拟机管理程序和LXC,软件定义的存储以及网络 ...
- druid安装与案例
2019独角兽企业重金招聘Python工程师标准>>> druid 可以运行在单机环境下,也可以运行在集群环境下.简单起见,我们先从单机环境着手学习. 环境要求 java7 或者更高 ...
- ubuntu-hadoop配置安装-简单案例以及伪分布式搭建
文章目录 linux 下创建 hadoop用户 hadoop的安装与环境配置 先卸载原有的 JDK 安装hadoop和JDK 安装JDK 安装hadoop Standalone Operation 模 ...
最新文章
- json-schema 简介
- Java内部类的一些总结
- 【实战 Ids4】║ 控制台密码模式搭配Ocelot网关
- 过程重要,还是结果重要?
- 全栈深度学习第1期:如何启动一个机器学习项目?
- opengl启动过程
- Hypermesh+Abaqus加载问题
- flowgraph java_如何在TensorFlow import_graph_def期间更改输入的维度
- linux编译c 自动化,Linux江湖06:感悟GNU C以及将Vim打造成C/C++的半自动化IDE
- Mac OSX上安装Python的方法
- 当公司辞掉85后测试员选择95后测试员后...
- 计算器怎么编程java_java编程中怎样实现一个计算器
- gamma分布_深度学习需要掌握的 13 个概率分布(含代码)
- pandas.to_numeric
- 高等代数-三-消元法
- 发那科机器人寄存器Ar_发那科机器人数据寄存器和位置寄存器的运用介绍
- 蚂蚁金服出品,这个企业级前端应用框架你值得拥有
- 人人都能看懂的 AI 入门课
- 多级放大电路(直接耦合、阻容耦合、变压器耦合、光电耦合)
- TVB西游记2观音的眼泪化作金河送唐僧回长安
热门文章
- python aes new_python AES 加密
- 全网最有效软考高项十大管理ITTO记忆:宫殿记忆法、主线记忆法、逻辑记忆法、跟踪记忆法、诗词记忆法
- 批处理删除指定文件或文件夹
- QQ2013的PC版协议,0825包和0826的数据分析
- DCSTFN(使用深度卷积网络融合高时空遥感图像)
- 在Ubuntu18上使用fusedav挂载城通网盘webdav
- 苹果电脑连接打印机操作
- 通信原理 | 滤波器:模拟滤波器和数字滤波器
- 64位java没有javaw.exe_javaw.exe路径错误导致eclipse无法启动
- USB转RS232串口应用