NIFI关于Parameter Contexts的使用

本文详细介绍了如何在NIFI1.23.2Docker环境中管理ParameterContexts,包括创建、配置参数、设置访问策略,以及在数据库连接池中的应用。还涉及了敏感参数的处理和参数校验过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说明

nifi版本:1.23.2(docker镜像)

作用

Parameter Contexts(参数上下文):参数上下文由 NiFi 实例全局定义/访问。访问策略可以应用于参数上下文,以确定哪些用户可以创建它们。创建后,还可以应用读取和写入特定参数上下文的策略

添加Parameter Contexts

点击工具栏右上角在弹出的列表中选择Parameter Contexts

在弹出的页面中点击右上角的+添加参数

配置SETTINGS

在新弹出的页面中切换到SETTINGS,给添加的上下文起个名字,方便后面的使用。

配置PARAMETERS

切换到PARAMETERS页面,点击右上角的添加需要的参数,下面以配置MySQL相关参数为例

添加参数 

在弹出的新页面添加对应的参数名称、值、描述等

Name:用于表示参数的名称。只允许使用字母数字字符(a-z、A-Z、0-9)、连字符 ( - )、下划线 ( _)、句点 ( . ) 和空格。

Value: 引用参数时将使用的值。

Set empty string:选中以将参数的值显式设置为空字符串。默认情况下未选中。(注: 如果选中但设置了值,则忽略该复选框。

Sensitive Value:当前的参数是否是敏感值,如果选择Yes“”参数的值将不会显示在 UI 中,例如数据库连接的密码,因为是敏感数据需要隐藏的这时候可以勾选“Yes”。

 添加一个敏感的参数,勾选Sensitive ValueYes选项,最后点击APPLY

可以看到目前添加了两个参数,第二个参数因为是敏感数据所以是没有显示值的。

其他参数根据自己的情况进行添加,添加完成后点击APPLY,我这里总共添加了5个参数

可以看到Parameter Contexts中已经多了一条记录,如果需要修改参数点击对应记录右侧的小铅笔就可以修改了。添加完成后点击右上角的X关闭页面。修改参数的时候需要注意一点,一旦修改了参数,那么引用该参数的处理器、控制器服务的都会被停止/重新启动,这个在修改参数的时候会有对应的提示。

测试配置是否生效

添加一个新的数据库连接池配置,在画布的空白位置鼠标右键,然后选择Configure

在弹出的页面中切换到GENERAL,在Process Group Parameter Context选择刚才添加的参数上下文,最后一定别忘记了点击最下面的APPLY

 

切换到CONTROLLER SERVICES,点击右上角的+添加新的连接池

 在弹出的Add Controller Service页面中根据筛选需要的连接池类型,这里以DBCPConnectionPool为例。

点击刚才添加的连接池右侧的小齿轮

在新弹出的页面选择PROPERTIES进行配置,可以看到最后一列每一项都显示一个箭头,点击向上的箭头可以配置上下文,在这里配置的参数上下文会被同步更新到刚才配置的Parameter Contexts中,这里我们就不再单独配置了,直接引用之前配置好的参数即可

下面是引用的之前配置好的参数,参数的引用需要使用#{params_name}的形式

校验参数是否正确

点击右上角的对号进行参数的校验,校验通过的选项会显示绿色对钩,如果有报警,说明配置有问题,检查下配置的参数名称是否正确,或者数据库密码对不对等。

小细节

在画布的空白位置鼠标右键这个时候可以看到画布中多了一个选项Parameters

点击Parameters之后可以看到之前配置的几个参数,这个选项只有在ConfigureGENERAL选项中配置了对应的Process Group Parameter Context之后才会显示此选项

结束语

以上便是NIFI中关于Parameter Contexts(参数上下文)的使用,如果有问题欢迎大家评论。下一篇给大家介绍NIFI关于Variables(变量)的使用

<think>好的,用户想了解如何部署和使用Apache NiFi 2.3。首先,我需要回忆一下Apache NiFi的基本概念和主要功能。Apache NiFi是一个强大的数据流管理工具,用于自动化数据在系统间的传输和处理。版本2.3可能包含一些新特性或改进,需要确认是否有特别的部署要求。 接下来,部署步骤。通常,部署Apache NiFi可以通过下载二进制包、解压、配置然后启动。可能需要提到系统要求,比如Java环境,因为NiFi是基于Java的。用户可能需要安装JDK 8或更高版本,并设置JAVA_HOME环境变量。另外,配置文件的调整,比如nifi.properties,可能需要调整端口、内存设置等。 然后,配置部分。用户可能需要了解如何配置数据流处理器、连接控制器服务、设置安全(比如SSL/TLS、用户认证)等。NiFi的Web界面是主要的操作入口,所以需要说明如何访问界面,默认端口是8443,但可能需要修改。 使用指南部分,应该包括创建数据流、添加处理器、配置处理器属性、连接处理器、启动数据流等步骤。可能需要举例说明一个常见的数据流,比如从文件系统读取数据,处理后上传到数据库或另一个系统。 此外,用户可能关心集群部署,因为NiFi支持集群模式以提高可用性和扩展性。需要解释如何配置集群节点,ZooKeeper的作用,以及如何管理集群状态。 安全性也是一个重要方面,特别是如果用户处理的是敏感数据。需要提及如何启用HTTPS,设置用户权限,集成LDAP或Kerberos等认证方式。 最后,常见问题及故障排除。比如服务无法启动、端口冲突、性能调优等。可能需要给出日志查看的位置,如何调整JVM参数优化性能,以及如何监控数据流的运行状态。 还需要检查是否有最新的官方文档更新,确保建议的步骤适用于2.3版本。可能还需要参考用户提供的引用资料,但看起来引用[1]是关于数据管理的规划指南,可能与NiFi的具体部署关联不大,但可以提到数据管理的最佳实践作为补充。 生成的相关问题可能需要涉及版本升级、安全配置、集群配置、性能优化等,这些都是用户在部署和使用过程中可能遇到的后续问题。</think>### Apache NiFi 2.3 部署与使用指南 #### 1. 部署步骤 **1.1 系统要求** - Java 环境:需安装 JDK 8 或更高版本,并配置 `JAVA_HOME` 环境变量[^1]。 - 内存建议:至少分配 2GB 堆内存(通过修改 `conf/bootstrap.conf` 中的 `java.arg.2=-Xms512m -Xmx2048m`)。 **1.2 下载与安装** - 从 [Apache NiFi 官网](https://nifi.apache.org/) 下载 2.3 版本二进制包。 - 解压文件:`tar -xzf nifi-2.3.0-bin.tar.gz`。 **1.3 基础配置** - 修改 `conf/nifi.properties`: ```properties # Web 端口配置 nifi.web.http.port=8080 nifi.web.https.port=8443 # 集群配置(单机可跳过) nifi.cluster.is.node=false ``` - 启动 NiFi:`./bin/nifi.sh start`(Linux)或 `bin\\nifi.bat run`(Windows)。 #### 2. 使用指南 **2.1 Web 界面访问** - 浏览器访问 `https://localhost:8443/nifi`(首次需信任自签名证书)。 **2.2 创建数据流** 1. **拖放处理器**:从左侧面板拖拽 `GetFile`(读取文件)到画布。 2. **配置处理器**:双击处理器,设置输入目录(如 `/opt/nifi/input`)。 3. **添加处理器**:连接 `PutFile`(输出文件)并配置输出目录。 4. **连接流**:通过箭头链接处理器,设置数据传输关系。 **2.3 数据流监控** - 通过仪表盘查看吞吐量、队列状态等指标。 - 使用 `Provenance` 功能追踪数据来源和去向。 #### 3. 安全配置 - **启用 HTTPS**:在 `nifi.properties` 中配置证书路径: ```properties nifi.security.keystore=/path/to/keystore.jks nifi.security.truststore=/path/to/truststore.jks ``` - **用户认证**:通过 `conf/login-identity-providers.xml` 集成 LDAP 或 OpenID Connect。 #### 4. 集群部署(可选) 1. 修改所有节点的 `nifi.properties`: ```properties nifi.cluster.is.node=true nifi.cluster.node.address=node1.example.com nifi.zookeeper.connect.string=zk1:2181,zk2:2181 ``` 2. 启动 ZooKeeper 集群,并依次启动 NiFi 节点。 #### 5. 性能优化 - **JVM 调优**:调整 `bootstrap.conf` 中的堆内存参数。 - **线程池配置**:在 `nifi.properties` 中优化 `nifi.bored.yield.duration` 和 `nifi.queue.backpressure.count`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值