zoukankan      html  css  js  c++  java
  • 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
    

      

  • 相关阅读:
    06 is和==的区别 encode()编码 decode()解码
    05 dic的增删改查 字典的嵌套 考试题dic.get()的相关使用
    03 编码 int ,bool,str的常用操作 主要讲str
    01 基本数据类型 变量 if语句
    04 列表的增删改查 常用方法 元祖 range
    02 while循环 格式化输出 运算符
    多校2 Harmonious Army hdu6598 网络流
    P3159 [CQOI2012]交换棋子 网络流
    P2172 [国家集训队]部落战争 最大流
    P2402 奶牛隐藏 网络流
  • 原文地址:https://www.cnblogs.com/felixzh/p/12149786.html
Copyright © 2011-2022 走看看