nifi实现数据库到数据库之间数据同步

一.安装:NiFi 是免安装地,仅需从官网下载压缩包,而后解压,即完成了整个安装过程,官网下载安装包(http://nifi.apache.org/download.html),选择nifi-x.x.x-bin.tar.gz的最新版本便可。解压结束即完成安装过程。html

二.配置:修改配置文件nifi.properties(路径/usr/download/nifi-1.7.1/conf,根据解压位置而定),作以下修改:修改成本机ip,默认端口为8080,这里修改成9191.java

# web properties #
nifi.web.war.directory=./lib
nifi.web.http.host=192.168.203.7 # 设置成本机的 ip
nifi.web.http.port=9191
nifi.web.https.host=
nifi.web.https.port=
nifi.web.jetty.working.directory=./work/jetty
nifi.web.jetty.threads=200

修改bootstrap.conf(路径/usr/download/nifi-1.7.1/conf),修改java的jvm,默认为512,这里调整为2048。mysql

# JVM memory settings
java.arg.2=-Xms2048m
java.arg.3=-Xmx2048m

三.启动,进入/usr/download/nifi-1.7.1/bin目录,使用命令sh nifi.sh start启动,一样能够进行stop ,status,restart操做。在浏览器中访问:192.168.203.7:9191/nifi,便可出现nifi的操做界面。web

 

四.nifi操做界面简单介绍(具体还须要本身操做,摸索摸索):sql

五.数据库到数据库之间数据同步须要的组件有:ExecuteSQL,ConvertAvroToJSON,ConvertJSONToSQL,PutSQL,SplitJson,EvaluateJsonPath,ReplaceText。具体流程:使用ExecuteSQL链接mysql数据库,经过写sql查询所须要的数据,nifi默认查出来的数据为Avro格式,因此须要ConvertAvroToJSON把Avro格式转化为json格式的数据,而后使用ConvertJSONToSQL把json数据转化为sql语句,最后使用PutSQL把数据存入数据库。为了使已同步的数据重复插入数据库,须要对数据进行更新操做,SplitJson对json进行拆分,EvaluateJsonPath提取json中的某个属性做为参数,ReplaceText根据参数编写update语句进行更新操做,PutSQL更新数据库。数据库

ExecuteSQLapache

 

配置数据库链接:DBCPConnectionPooljson

 

ConvertAvroToJSON:bootstrap

 

ConvertJSONToSQL:浏览器

 

PutSQL:

 

SplitJson:

 

EvaluateJsonPath:

 

ReplaceText:

 

PutSQL(注意这地方更新的是源主机的数据库):

 

配置完成后,把这几个组件链接起来,以下图:

 

总结:文档不是太详细,还有不少东西须要本身摸索,nifi不只支持数据库之间的数据同步,各类数据流的操做都能很好的支持,各组件的具体说明请参考官方文档:http://nifi.apache.org/docs/nifi-docs/。--------------------- 做者:zhulu52166 来源:CSDN 原文:https://blog.csdn.net/zhulu52166/article/details/83380717 版权声明:本文为博主原创文章,转载请附上博文连接!

相关文章
相关标签/搜索