NiFi是一个数据处理和分发系统,其中一部分是控制器服务(Controller Services)。控制器服务提供一项功能,可以被处理器使用。
本文介绍NiFi控制器服务之一 :DBCPConnectionPool。
描述
提供数据库连接池服务。可以从池中请求连接并在使用后返回。
属性
这里只介绍我使用过的配置:
名称 | 默认值 | 允许值 | 描述 | 提示 |
---|---|---|---|---|
Database Connection URL | 数据库连接URL | jdbc连接 | ||
Database Driver Class Name | 数据库驱动类名 | jdbc驱动类名 | ||
Database Driver Location(s) | 数据库驱动文件位置。例如:/var/tmp/mariadb-java-client-1.1.7.jar | 驱动文件位置,可以是NiFi安装目录下的相对路径,或者是文件系统的绝对路径。 |
动态属性
动态属性允许用户指定属性名和属性值。
还没有用过。
使用说明
这里以配置phoenix为例。
配置如下:
Name | Value |
---|---|
Database Connection URL | jdbc:phoenix:zk1,zk2,zk3:2181 |
Database Driver Class Name | org.apache.phoenix.jdbc.PhoenixDriver |
Database Driver Location(s) | lib/phoenix/phoenix-4.13.1-HBase-1.2-client.jar |
这里有个问题,HBase的zookeeper.znode.parent属性必须设置为 /hbase,NiFi的DBCPConnectionPool才能连接上,原因未知,需要解惑。这个可能需要在NiFi中指定hbase-site.xml,或者jdbc url指定为jdbc:phoenix:zk1,zk2,zk3:2181/hbase-unsecure,以此指定要连接的目标。
在NiFi中,路径值可以使用绝对路径,例如 Database Driver Location(s) 的值还可以写成 /usr/lib/phoenix/phoenix-4.13.1-HBase-1.2-client.jar,当然这里需要保证该文件路径准确