Apache NIFI 安装 ● 操作 ● 文件同步 ● oracle 数据库增量同步实例讲解
nifi简介
nifi背景
NiFi之前是在美国国家安全局(NSA)开发和使用了8年的一个可视化、可定制的数据集成产品。2014年NSA将其贡献给了Apache开源社区,2015年7月成功成为Apache顶级项目。
NiFi概念
Apache NiFi 是一个易于使用、功能强大而且可靠的数据处理和分发系统。Apache NiFi 是为数据流设计,它支持高度可配置的指示图的数据路由、转换和系统中介逻辑,支持从多种数据源动态拉取数据。简单地说,NiFi是为自动化系统之间的数据流而生。 这里的数据流表示系统之间的自动化和受管理的信息流。 基于WEB图形界面,通过拖拽、连接、配置完成基于流程的编程,实现数据采集、处理等功能。
下载安装
1、需运行在JVM环境下,没有环境,下载安装jdk(我的jdk使用的是1.8版本,可以根据自己需要安装)
2、下载NIFI (下载.zip)
1)下载链接:http://nifi.apache.org/download.html
3、解压下载的nifi-1.9.2-bin.zip到自己需要的路径
4、配置端口号(NIFI默认端口8080)
1)在cmd中查看端口号是否被占用
netstat -ano|findstr "8080"
2)若被占用,到NIFI安装路径下的\conf\nifi.properties中修改端口号(安装路径即为刚才的解压路径)
(打开文件直接搜索8080,更改保存即可,我此处更改端口号为9090)
5、启动NIFI 服务
双击启动文件:安装路径下的\bin\run-nifi.bat
6、测试是否安装成功
启动服务后稍等几分钟,打开浏览器访问 : http://localhost:9090/nifi/
出现以下页面,表示安装成功
7.查看NIFI运行报表
安装路径\logs\nifi-app.log
操作界面及文件同步
启动后,使用浏览器进行访问,地址:http://localhost:9090/nifi/
不理解NIFI是做什么的,看一个简单的例子(同步文件夹)吧,帮助理解
1、从工具栏中拖入一个Processor,在弹出面板中搜索GetFIle,然后确认
2、配置GetFile,设置结束关系、输入目录、保留源文件,其他设置可以不动,输入目录中有文件:file.txt(内容为abc)。
3、从工具栏中拖入一个Processor,在弹出面板中搜索PutFIle,然后确认,如第一步
4、配置PutFile,设置结束关系、输出目录,其他设置可以不动,输出目录为空文件夹
5、将GetFIle与PutFIle关联起来,从GetFIle中心点击,拖拉到PutFIle上
6、右键启动GetFIle与PutFIle,可以看到结果,输入目录中的文件同步到,输出目录中了
注意:操作过程中,注意错误排查
1、Processor上的警告
2、Processor上的错误
Oracle数据库同步
NIFI数据库增量同步用到的组件有QueryDatabaseTable、ConvertAvroToJSON,ConvertJSONToSQL、PutSQL四个组件,添加完成后的界面显示如下:
1、以表NIFINOTEST为例,表结构如下:
create table NIFINOTEST
(
id NUMBER not null,
test VARCHAR2(100),
rem VARCHAR2(100),
tags VARCHAR2(10)
)
2、在工具栏拖拽Processor至画布输入QueryDatabaseTable点击ADD添加组件到画布。
3、显示如下:
4、右击组件如图:
5、选择Configure选项选中Success显示如下:
6、选中PROPERTIES属性选显卡进行数据库连接池,数据库选择、数据表填写,为空字段判断,主键ID填写。
7、点击箭头显示如下:
8、点击CONTROLLER SERVICES选项卡下的 + 号输入DBCPConnectionPool显示如下:
9、点击ADD进入如下图,点击设置图标进行数据库连接池配置
Database Connection URL:jdbc:oracle:thin:@你的IP:1521:你的数据库名
Database Driver Class Name:oracle.jdbc.driver.OracleDriver
Database Driver Location(s):file:///D:/app/Administrator/product/11.1.0/db_1/jdbc/lib/ojdbc6.jar
此处Oracle的驱动jar加载一定要加上file:///(为3个/),jar文件我使用的是ojdbc6.jar,ojdbc4.jar插入数据会报错。
Database User:你的数据库名称
点击APPLY确认后显示如下:
点击中间图标显示如下图,点击ENABLE启用连接池
启用后的连接池界面显示如下:
10、在工具栏拖拽Processor 添加ConvertAvroToJSON组件(把数据库组件查询的数据Avro转为JSON),设置和属性配置如下
11、在工具栏拖拽Processor 添加ConvertJSONToSQL组件(把JSON数据转换为sql语句)设置和属性配置如下:
12、在工具栏拖拽Processor 添加PutSQL组件(把sql语句执行到数据库)设置和属性配置如下:
13、按住Shift键,鼠标选中所有组件,点击面板启动按钮启动所有组件
14、启动后界面如下:
15、操作数据源数据库新建的NIFINOTEST表插入数据后,查看目的数据库新建的NIFINOTEST表是否有了同步数据。
16、其它数据库如Mysql、SQLserver只需要在设置数据库驱动文件为对应的JAR即可,其它操作类同;我使用的数据库连接URL、数据库驱动程序类名、数据库驱动程序位置更换为对应的标示即可。我使用的驱动程序位置如下:
//mysql
Database Connection URL:jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8
Database Driver Class Name:com.mysql.jdbc.Driver
Database Driver Location(s):file:///D:/apache-maven-3.3.9/WareHouse/mysql/mysql-connector-java/5.1.30/mysql- connector-java-5.1.30.jar
//sqlserver
Database Connection URL:jdbc:jtds:sqlserver://你的IP:1433/TEST
Database Driver Class Name:net.sourceforge.jtds.jdbc.Driver
Database Driver Location(s):file:///D:/apache-maven-3.3.9/WareHouse/net/sourceforge/jtds/jtds/1.3.1/jtds-1.3.1.jar
17、模板学习:点此下载
Apache NIFI 安装 ● 操作 ● 文件同步 ● oracle 数据库增量同步实例讲解相关推荐
- ExcelToOracle:批量导入Excel文件到Oracle数据库的自动化工具
ExcelToOracle:批量导入Excel文件到Oracle数据库的自动化工具 简介 ExcelToOracle 是一个可以批量导入excel到数据库(mysql/oracle/sqlserver ...
- PL/SQL Developer操作界面查看oracle数据库版本
PL/SQL Developer操作界面查看oracle数据库版本 BANNER 1 Oracle Database 11g Enterprise Edition Release 2 PL/SQL R ...
- 群晖增量同步Linux文件夹,用自定义脚本实现群晖NAS中本地文件夹之间的增量同步复制...
用自定义脚本实现群晖NAS中本地文件夹之间的增量同步复制 2021-02-21 15:39:44 60点赞 646收藏 52评论 使用情景:群晖DS918+,两块12T RAID1存重要数据,1块2T ...
- 【4如何添加Oracle数据库ORCL2新实例】
4如何添加Oracle数据库ORCL2新实例 输入用户名:sys 输入口令: change_on_install as sysdba select name from v$database; 注意,以 ...
- python读取csv某一列存入数组_python 读取.csv文件数据到数组(矩阵)的实例讲解
利用numpy库 (缺点:有缺失值就无法读取) 读: import numpy my_matrix = numpy.loadtxt(open("1.csv","rb&qu ...
- Oracle数据库数据同步到mysql数据库(Oracle数据库备份dmp如何同步到mysql)
Oracle数据库dmp转mysql格式 一.背景 一项目客户是oracle数据库,需要导一个表数据到自研系统mysql数据库,甲方已给出oracle格式dmp文件! 处理思路: ①.安装Oracle ...
- Oracle数据库数据同步方案,ORACLE数据库热备方案
ORACLE数据库热备方案 相关指标 1.数据库秒级.事务级热备(可跨操作系统平台) 实时监控数据库,将数据库变化后的数据以秒级别的时间备份到备库,同时只备份主数据库已成功的事务. 2.备用数据库在线 ...
- windows平台goldgate同步oracle数据库
一.环境 操作系统 Microsoft Windows Server 2003 R2 Enterprise Edition Service Pack 2 数据库版本: Oracle Database ...
- oracle数据文件离线,oracle数据库的文件在哪里
Oracle体系结构 Oracle 服务器由Oracle实例与Oracle数据库组成 Oracle实例(instance),通过ORACLE_SID来引导(Oracle标识) 单实例情况下:Oracl ...
最新文章
- linux终端字体大小6,[adminitrative][archlinux][setfont] 设置console的字体大小
- 【网络流24题】解题报告:E 、圆桌问题(最大流求二分图多重匹配)
- “中国风”拯救国货彩妆?
- 悼念512汶川大地震遇难同胞——老人是真饿了
- [leetcode]Median of Two Sorted Arrays @ Python
- android开发访问百度搜索,Android开发如何添加搜索功能———大神求救啊
- 安装DevExpress QuantumGrid 4.5组件出现问题,急!!
- (一)CentOS Docker 安装
- 教您用公式编辑器打恒不等于符号
- STC89C52单片机学习笔记(一)
- 初中英语多词性单词怎么办_初中英语单词按词性分类表.pdf
- 题目:js实现求100以内的质数
- PG-Strom源码分析
- 拆弹专家【爆改车间主任】学习笔记(2)小结
- 如何在移动钱包中搭建一个小程序应用商店
- C语言用函数指针实现数组排序
- 小程序如何引用阿里巴巴图标
- SQLite虚表介绍
- WebJars和wro4j集成
- 计算机学校起名网,最新微信网名校园系列
热门文章
- Unity下载中文文档
- 平层、错层、跃层、复式、loft的区别是什么?
- python ai取名_Python让你成为AI 绘画大师,简直太惊艳了!(附代码)
- 中国移动全球合作伙伴大会,释放了什么信号?
- 最强版派克斯使用安装教程
- 输出关于 PHP 配置的信息的函数是,输出关于 PHP 配置的信息的函数是() 答案:phpinfo()...
- 国产台式计算机,国产台式机哪一款好?
- 数组中出现__ob__: Observer无法取值
- 在安装office2003时,出现:系统管理员设置了系统策略,禁止进行此安装
- 深度学习刷新SOTA的tricks大盘点