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

  

原文地址:https://www.cnblogs.com/felixzh/p/12149786.html

时间: 2024-10-08 20:59:19

Apache NiFi之MySQL数据同步到HBase的相关文章

高可用的并行MySQL数据同步及分布式

首先聊聊MySQL的数据分布式,目前最为常用的就是Replication(复制)技术.基于此技术外延开来有很多中架构,分类归结为如下: 1.树状结构(Master,Backup-Master,Slaves) 这种结构是目前Web系统用的最为通用的一种.整个系统有1个写入/更新点,即Master:Master-Backup和Slaves都是Replication的Master从库:多级Slave的原因是为了数据过滤和节省网络资源. 2.环状结构(Master-Master,Slaves) Dual

redis与mysql数据同步

应用Redis实现数据的读写,同时利用队列处理器定时将数据写入mysql,此种情况存在的问题主要是如何保证mysql与redis的数据同步, 二者数据同步的关键在于mysql数据库中主键,方案是在redis启动时去mysql读取所有表键值存入redis中,往redis写数据时,对redis主 键自增并进行读取,若mysql更新失败,则需要及时清除缓存及同步redis主键. 1 String tbname = "login"; 2 3 //获取mysql表主键值--redis启动时 4

mysql数据同步

随着各行业信息化水平的不断提升,各种各样的信息管理系统都被广泛使用,各系统间数据完全独立,形成了大量的信息孤岛.出于管理及决策方面的需求,实现各平台的数据同步是一个很迫切的需求,TreeSoft数据库管理系统整合了各主流数据库的数据访问及维护监控功能,实现了各主流数据库的互联互通,架起了一座数据同步的桥梁,便捷的实现了数据的同步交互. 一.首先在TreeSoft数据库中配置两个数据源信息 二.配置数据同步任务,并执行任务 三.同步结果数据查看确认 四.支持以下数据同步方案,好强大! 1.MySQ

Elasticsearch+MySQL数据同步示例

一.安装Elasticsearch下载 https://www.elastic.co/guide/en/elasticsearch/reference/current/setup.html 二.在MySQL上新建库表(若已有库表可跳过) 建库脚本如下: SET FOREIGN_KEY_CHECKS=0; -- ---------------------------- -- Table structure for contacts -- ---------------------------- D

MYSQL数据同步、复制、分发

MYSQL主从复制: 1,主从服务器都启用二进制日志,设置唯一ID,并相互建立连接的账号并授权: 2,从服务器主动向主服务器请求查询当前同步状态,并拉回数据: 主要相关命令: 查看主服务器状态:show master status\G; 查看从服务器状态:show slave status\G; 查看mysql I/O线程:show processlist\G; 配置从服务器复制:change master to {***}详见后面说明 启动从服务器复制:start slave; 授权用户:gr

sqlserver与mysql数据同步问题

由于短信项目的需求,需要将sqlserver当中的表实时同步到mysql当中,于是采用触发器完成该功能,对insert操作进行监控,当sqlserver进行插入操作时,同时将数据插入到mysql当中. 安装sqlserver2008以及mysql. 建立mysql链接服务器. 在本电脑上安装mysql驱动.Mysql-connector-odbc-5.1.6-win32.msi. 安装完毕后,在电脑控制面板-管理工具-odbc数据源-系统dsn-添加-选择mysql odbc driver-完成

mysql数据导入到hbase

思路:读取到一个数据库里所有的表名,然后通过sqoop循环导入到hbase 实现过程中发现 不会写shell是个硬伤 最后只能分两步进行操作 1.sel_tabs.sh /usr/bin/mysql -hIp地址 -u用户名 -p密码 -D数据库名<<EOF use select table_name from information_schema.tables where table_schema='数据库名' and table_type='base table'; EOF 运行 bash

MySQL主从复制(Replication)(MySQL数据同步)配置

MySQL是开源的关系型数据库系统.复制(Replication)是从一台MySQL数据库服务器(主服务器master)复制数据到另一个服务器(从服务器slave)的一个进程. 配置主服务器(master) 1.编辑数据库配置文件my.cnf,一般在/etc/目录下. #vi /etc/my.cnf 在[mysqld]的下面加入下面代码: log-bin=mysql-bin server-id=1 innodb_flush_log_at_trx_commit=1 sync_binlog=1 bi

将mysql数据同步到ES6.4

下载安装包时注意下载到指定文件夹 这里我放在OPT文件夹下一:安装logstash进入到opt文件夹打开终端 执行以下命令wget -c https://artifacts.elastic.co/downloads/logstash/logstash-6.4.0.zip 加上-c支持断点续传二:解压logstashunzip logstash-6.4.0.zip三:进入到logstash bin目录cd logstash-6.4.0/bin四:安装logstash-jdbc./logstash-