Apache NiFi之MySQL数据同步到HBase
一.说明
将Apache NiFi做为关系型数据与非关系型数据库的数据同步工具使用,在此场景中需要将mysql导出的avro数据格式转化为json入库HBase
二.开拔
Ⅰ).配置ExecuteSQLRecord
a).选择ExecuteSQLRecord
在Processor中搜索ExecuteSQLRecord
b).配置ExecuteSQLRecord
1.创建Database Connection Pool
2.创建JsonRecordSetWriter
3.配置SQL select query
select Host,User,authentication_string from mysql.user;
c).创建DBCPConnectionPool
在Database Connection Pool中选择DBCPConnectionPool
d).配置DBCPConnectionPool
1.Database Connection URL: jdbc:mysql://hostname:3306/druid
2.Database Driver Class Name: com.mysql.jdbc.Driver
3.Database User: username
4.Database Password: password
e).激活服务
Ⅱ).配置ConvertAvroToJSON
a).选择ConvertAvroToJSON
在Processor中搜索ConvertAvroToJSON
b).配置ConvertAvroToJSON
Ⅲ).配置SplitJson
a).选择SplitJson
在Processor中搜索SplitJson
b).配置SplitJson
Ⅳ).配置PutHBaseJSON
a).选择PutHBaseJSON
在Processor中搜索PutHBaseJSON
b).配置PutHBaseJSON
1.HBase Client Service: 选择匹配版本的HBaseClient
2.Table Name: 配置入库HBase表名
3.Row Identifier Field Name: 配置RowKey值
4.Column Family: 配置列簇
c).选择HBase_1_1_2_ClientService
在Processor中搜索HBase_1_1_2_ClientService
d).配置HBase_1_1_2_ClientService
1.Zookeeper Quorum: hostname1:2181,hostname2:2181,hostname3:2181
2.Zookeeper Client Port: 2181
3.Zookeeper ZNode Parent: /hbase
e).激活HBase_1_1_2_ClientService
Ⅴ).配置LogAttribute
Ⅵ).启动服务
可以点击选择单个Processor启动,也可以在空白处点击流程启动
Ⅶ).验证结果
a).MySQL源数据
select * from druid.druid_datasource;
b).HBase入库数据
scan 'druid.druid_datasource',{LIMIT=>10}
三.HBase命令
## 创建表空间 create_namespace 'druid' ## 查看表空间 list_namespace_tables 'druid' ## 创建表 create 'druid.druid_datasource','cf1' ## 查看表数据 scan 'druid.druid_datasource',{LIMIT=>10}
四.MySQL数据库驱动问题
a).解决方案一
将mysql驱动包放到nifi按照目录的lib中,重启nifi;如图中无需配置:Database Driver Location(s)项
b).解决方案二
如图配置:Database Driver Location(s)项,则驱动包可放在任何可访问的地址,无需重启nifi
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Apache NiFi之Kafka流数据到HBase
一.说明 在大数据平台的业务场景中,处理实时kafka数据流数据,以成为必要的能力;此篇将尝试通过Apache NiFi来接入Kafka数据然后处理后存储之HBase 二.开拔 Ⅰ).配置ConsumeKafka_0_10 测试使用了kafka0.10版本,所以NiFi中也选择对于版本 a).选择ConsumeKafka_0_10 在Processor中搜索ConsumeKafka_0_10 b).配置ConsumeKafka_0_10 1.Kafka Brokers: hostname1:9092,hostname2:9092:hostname3:90922.Topic Name(s): entry_index_nifi3.Group ID: entry_index_nifi Ⅱ).配置PutHBaseJSON a).选择PutHBaseJSON 在Processor中搜索PutHBaseJSON b).配置PutHBaseJSON 1.HBase Client Service: 选择匹配版本的HBaseClient2.Table Name: 配置入库HBase表名3.Row Ide...
- 下一篇
Giraph 源码分析(五)—— 加载数据+同步总结
作者|白松 关于Giraph 共有九个章节,本文第五个章节。 环境:在单机上(机器名:giraphx)启动了2个workers。 输入:SSSP文件夹,里面有1.txt和2.txt两个文件。 1、在Worker向Master汇报健康状况后,就开始等待Master创建InputSplit。 方法:每个Worker通过检某个Znode节点是否存在,同时在此Znode上设置Watcher。若不存在,就通过BSPEvent的waitForever()方法释放当前线程的锁,陷入等待状态。一直等到master创建该znode。此步骤位于BSPServiceWorker类中的startSuperStep方法中,等待代码如下: 2、Master调用createInputSplits()方法创建InputSplit。 在generateInputSplits()方法中,根据用户设定的VertexInputFormat获得InputSplits。代码如下: 其中minSplitCountHint为创建split的最小数目,其值如下: minSplitCountHint = Workers数目 * NUM_...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- Mario游戏-低调大师作品
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Windows10,CentOS7,CentOS8安装MongoDB4.0.16
- CentOS8编译安装MySQL8.0.19
- MySQL8.0.19开启GTID主从同步CentOS8