自动化数据流处理与分发系统,具备安全配置、来源追踪及可扩展的插件架构,适用于网络安全、可观测性和事件流管道。
Apache NiFi 是一个易于使用、功能强大且可靠的系统,用于处理和分发数据。
NiFi 为全球各行各业的数千家公司自动化网络安全、可观测性、事件流以及生成式 AI 数据管道和分发。
NiFi 支持现代操作系统,并且需要较新的语言版本才能开发和运行该应用程序。
源代码仓库包含多个组件项目。
请查阅各个项目的文档以了解更多详情。
项目指南提供了有关安装和扩展应用程序的丰富文档。
NiFi 使用 Maven Wrapper 进行项目开发。Maven Wrapper 提供 shell 脚本,用于下载并缓存所选版本的 Apache Maven,以运行构建命令。
在 Microsoft Windows 上进行开发时,需要使用 mvnw.cmd 而不是 mvnw 来运行 Maven 命令。
运行以下命令以使用并行执行方式构建项目模块:
./mvnw install -T1C
运行以下命令以使用并行执行和静态分析来构建项目模块,以确认符合代码和许可要求:
./mvnw install -T1C -P contrib-check
运行以下命令以构建应用程序二进制文件,而不构建其他可选模块:
./mvnw install -T1C -am -pl :nifi-assembly
nifi-assembly 模块包含二进制发行版。
ls nifi-assembly/target/nifi-*-bin.zip
nifi-assembly 模块在目录中提供二进制发行版,用于本地开发和测试。
cd nifi-assembly/target/nifi-*-bin/nifi-*/
NiFi 提供用于启动和停止系统的 shell 脚本。
在 Microsoft Windows 上运行时,系统命令需要使用 nifi.cmd 而不是 nifi.sh。
运行以下命令以从发行版目录启动 NiFi:
./bin/nifi.sh start
默认配置会在启动时生成随机用户名和密码。NiFi 将生成的凭据写入位于 NiFi 安装目录下 logs/nifi-app.log 的应用程序日志中。
在安装了 grep 的操作系统上,可以使用以下命令查找生成的凭据:
grep Generated logs/nifi-app*log
NiFi 记录生成的凭据,格式如下:
Generated Username [USERNAME]
Generated Password [PASSWORD]
USERNAME 将是由 36 个字符组成的随机 UUID。PASSWORD 将是一个随机字符串。
可以使用以下命令将用户名和密码替换为自定义凭据:
./bin/nifi.sh set-single-user-credentials <username> <password>
NiFi 默认使用 HTTPS 在 localhost 地址的 8443 端口上运行,URL 如下:
https://localhost:8443/nifi
由于初始化期间生成的自签名证书,浏览器将显示警告消息,提示存在潜在安全风险。生产部署应提供来自受信任证书颁发机构的证书,并更新 NiFi 的密钥库和信任库配置。
除非另有说明,本软件根据 Apache License, Version 2.0 获得许可。
根据 Apache License, Version 2.0(“许可证”)获得许可;除非遵守许可证,否则你不得使用此文件。你可以在以下位置获取许可证副本:
https://www.apache.org/licenses/LICENSE-2.0
除非适用法律要求或书面同意,否则根据许可证分发的软件按“AS IS”基础分发,不附带任何明示或暗示的保证或条件。请参阅许可证,了解管理权限和限制的特定语言。
本发行版包含加密软件。您当前所在的国家/地区可能对加密软件的进口、持有、使用和/或再出口到其他国家/地区有所限制。在使用任何加密软件之前,请检查您所在国家/地区有关加密软件的进口、持有、使用和再出口的法律、法规和政策,以确定是否允许。更多信息请参阅 https://www.wassenaar.org。
美国政府商务部工业与安全局(BIS)已将本软件归类为出口管制商品编号(ECCN)5D002.C.1,其中包括使用或执行非对称算法加密功能的信息安全软件。本次 Apache 软件基金会发行版的形式和方式使其有资格根据许可证例外 ENC 技术软件不受限制(TSU)例外(参见 BIS 出口管理条例第 740.13 节)对目标代码和源代码进行出口。
以下提供了所包含加密软件的更多详细信息:
Apache NiFi 使用以下库和框架进行加密通信和敏感信息的存储: