每日快讯!NIFI集群搭建及基础介绍

2023-01-10 10:15:13 来源:51CTO博客

一、Nifi配置

1) nifi基本配置

1.jdk配置:nifi新版本要求jdk版本必须1.8以上


【资料图】

目录:bin/nifi.env.sh

export JAVA_HOME=/usr/java/jdk1.8

忽略此项配置,nifi将使用系统默认Java环境启动。

2. nifi运行内存配置

目录:conf/bootstarp.conf

java.arg.2=-Xms2048m

java.arg.3=-Xmx4096m

根据服务器性能合理设置nifi内存

3. nifi日志配置

目录:conf/logback.xml

4. nifi端口配置

目录:conf/nifi.properties

nifi.web.http.port=18083

默认为8080端口。

5. nifi基本命令

nifi.sh start 启动

nifi.sh stop 关闭

nifi.sh restart 重启

nifi.sh status 状态

以上基本配置完成,可单节点模式启动nifi。

2) nifi集群配置

1.配置zookeeper

目录:conf/zookeeper.properties

clientPort=2181 zookeeper端口

server.1=ip1:2888:3888

server.2=ip2:2888:3888

server.3=ip3:2888:3888

zookeeper服务器设置,nifi集群有多少节点需要配置server

server.1中的数字1为服务器的ID,需要与myid文件中的id一致,下一步将配置myid。

2.配置myid

在nifi目录下创建文件夹/state/zookeeper/并创建文件myid

文件内容与第一步中的server.id一致。

3.配置state-management.xml

目录:conf/state-management.xml

zk-provider

org.apache.nifi.controller.state.providers.zookeeper.ZooKeeperStateProvider

ip1:2182,ip2:2182,ip3:2182

/nifi

10seconds

Open

Connect String配置为nifi节点的ip加zookeeper端口号,以逗号分隔

4.配置nifi节点属性

目录:conf/ nifi.properties

nifi.state.management.embedded.zookeeper.start=true

使用内置zookeeper

nifi.zookeeper.connect.string=ip1:2182,ip2:2182,ip3:2182

与上一步中的connect string一致。

下面配置需每个节点单独配,根据节点的IP相应配置,保持集群中节点使用的端口一致

nifi.cluster.is.node=true

nifi.cluster.node.address=本机IP

nifi.cluster.node.protocol.port=9999

nifi.remote.input.host=本机IP

nifi.remote.input.secure=false

nifi.remote.input.socket.port=9998

nifi.web.http.host=本机IP

配置完成后即可依次启动节点,集群将选举产生主节点。

二、Nifi界面

1-8为nifi提供的组件可以拖到下方的画布上使用。

1:processor :nifi提供的多种处理器。

2:input port:flowfile数据进入节点。

3:output port flowfile数据输出节点。

4:group组,可以将多种处理器放入同一个组中,组与组之间可以通过input port和output port传输flowfile数据。

5:Remote process group:远程进程组,可将flowfile发送至别的节点。

6:Funnel:汇聚flowfile数据。

7:Template:可拖放导入的模板配置。

8:Leble:文字板

9-18为nifi的基本状态栏

9:nifi集群节点状态。9/9表示有集群中有九个节点,并九个节点都在线。

10:nifi当前运行线程数。

11:nifi当前队列中待执行的flowfile的size及大小

12:nifi启动的远程进程组。

13:nifi未启动的远程进程组。

14:nifi启动的处理器

15:nifi未启动的处理器。

16:nifi配置不可用的处理器

17:nifi废弃不用的处理器。

18:nifi界面最新刷新时间。

19:nifi画布缩略图及操作按钮。

20:当前位置。

1) 总览界面

Summary 摘要包含处理器,GROUP等一系列整体摘要信息。

Counters 计数器界面,需要配合计数器处理器(UpdateCounter)使用。

Bulletin Board nifi通讯信息页面。

Date Provenance flowfile数据总览。

Controller Settings 设置界面,可以配置线程数等一些设置。

Flow conf History nifi配置历史。

Cluster nifi集群模式时,可以查看集群状态,管理节点。

三、Nifi使用

1) 模板

创建模板:在要创建模板的group中点击面板左侧的create template或者鼠标右键画布空白处。

下载模板:

使用模板:选择界面上分的template拖放至画布,选择要使用的模板。

Nifi的模板会保存组中的处理器配置及CONTROLLERSERVERS。例如数据库连接,但是不会保存密码。

2) CONTROLLER SERVERS

Nifi中的控制器,例如数据库连接,XML读取,JSON读取器。

Nifi中子group可以继承父group中的控制器。建议在根画布及newflow中配置控制器。

每个控制器都是一个实例,如数据库连接,交给同一个控制器管理更为节省资源及方便。

在空白处右键点击CONFIGURE:

下图为一个DBCPConnectionPool数据库连接控制器的配置说明:

依次为:

1.数据库连接的URL,类似于JDBC中的URL。

2.数据库驱动类名

3.数据库驱动类目录(jar包需要放置在nifi可访问到的地址,集群需要每个节点都上传jar包)。

4.数据库用户名

5.密码

6.最大等待时间

7.最大连接数

8.测试SQL。

3) PROCESSOR

Nifi处理器:

1:处理器名字

2:处理器的ID

3:处理器类型

4:处理器所属nar包

5:处理器输出日志级别

6:处理器输出的关系,配置处理器时所有关系需要处理:拖放给下一处理器,或者选择终止关系(配置处理器时选中要自动终止的关系)。

7:处理器基础设置

8:处理器定时设置

9:处理器属性

10:备注

1:处理器定时任务类型1.timer2.cron

2:单个节点处理器并发数,如图单节点并发数为1,集群为9个节点时并发数为9

3:根据定时任务类型不同配置不同,图中为600秒执行一次

4:当nifi为集群模式时:可以配置处理器为主节点运行或所有节点运行。一般获取数据的处理器使用主节点运行,防止重复消费。

处理器属性:某些属性需配合CONTROLLER SERVERS使用,如图中的数据库连接。

依次配置项为:

1:数据库连接

2:数据库类型

3:表名

4:需要返回的字段

5:最大值列,可依据此列完成增量同步

6:最大等待时间 0S表示一直等待。

7:分页条数,1000表示每条SQL查询出1000条记录。

8:查询时的where条件。

GenerateTableFetch拥有state属性:记录Maximum-valueColumns的值。

1:处理器五分钟内接受到的flowfile数据。

2:处理器五分钟读取和写的数据大小

3:处理器五分钟输出的数据

4:处理器五分钟内的执行次数和时间。

5:处理器当前使用的线程数。如图为一个线程在运行。

6:处理器的SUCCESS关系输出值ExecuteSQL处理器。其中failure关系为自动终止。

点击处理器左键可以查看Data Provenance

Data Provenance为一天内通过处理器的数据记录。

标签: 数据库连接 最大等待时间 基本配置

上一篇:全球看热讯:超深度解析 Linux I/O 的那些事儿
下一篇:每日热议!kafka页面管理工具--kafkaUI