Apache NiFI登录详解及数据库表数据同步实战
也可以不配置,默认的用户名和密码在logs-->nifi-app.log--》搜索username-->定位到用户名和密码。时,不会开启用户认证,访问时不需要登录即可操作。为了增加安全性,我们可以。,可以将 NiFi 配置成 LDAP 认证模式,让用户使用公司账户登录。:将不同的 Processor 连接在一起,控制数据流向和队列。:执行具体的数据处理任务,如读取、转换、写入数据等。NiFi 允许
1 登录
在使用 Apache NiFi 之前,首先需要了解其默认登录方式以及如何配置安全认证,比如 用户名密码认证、LDAP、Kerberos 等。本篇将详细介绍 NiFi 登录配置,包括 默认登录方式、安全认证配置、权限管理 等内容。
- 默认情况下,NiFi 无需登录,可以直接访问
- 通过 单用户模式可以配置基本的用户名密码登录
- 通过 HTTPS 提高安全性,防止明文传输
- 通过 LDAP 认证 实现企业级用户管理
- 通过 NiFi 权限管理 限制用户操作权限
-
1.1 示意图

1.2 单用户模式
NiFi 在 默认安装 时,不会开启用户认证,访问时不需要登录即可操作。为了增加安全性,我们可以 启用用户名密码认证 来限制访问权限。
1.2.1无需登录
- 直接访问 NiFi Web UI(默认端口 http://localhost:8080/nifi/)
- 无需输入用户名密码,即可进行所有操作(不安全)
1.2.2启用单用户认证(用户名/密码登录)
NiFi 提供了一个内置的 单用户模式,我们可以在 conf/authorizers.xml 和 conf/login-identity-providers.xml 中配置管理员账户。
配置步骤:
- 修改 conf/authorizers.xml,设置管理员用户
<userGroupProvider>
<identifier>file-user-group-provider</identifier>
<class>org.apache.nifi.authorization.FileUserGroupProvider</class>
<property name="Users File">./conf/users.xml</property>
<property name="Initial Admin Identity">admin</property>
</userGroupProvider>
截图如下:

- 修改 conf/login-identity-providers.xml,启用 single-user-provider
<provider>
<identifier>single-user-provider</identifier>
<class>org.apache.nifi.authentication.single.user.SingleUserLoginIdentityProvider</class>
<property name="Username">admin</property>
<property name="Password">admin123</property>
</provider>
截图如下:

3.重启NiFi,访问 http://localhost:8080/nifi/,使用 admin/admin123 登录。
1.3安全模式登录
为了更安全的登录 NiFi,我们可以启用 HTTPS + 证书,防止未授权访问。

1.3.1生成 SSL 证书(自签名证书)
NiFi 提供了一个 tls-toolkit,可以用来生成 SSL 证书:
./bin/tls-toolkit.sh standalone -n 'localhost' -C 'CN=admin, OU=NiFi'
生成的证书文件需要配置到 conf/nifi.properties 中:
nifi.web.https.host=localhost
nifi.web.https.port=8443
nifi.security.keystore=./conf/keystore.jks
nifi.security.keystoreType=JKS
nifi.security.keystorePasswd=changeit
nifi.security.truststore=./conf/truststore.jks
nifi.security.truststoreType=JKS
nifi.security.truststorePasswd=changeit
1.3.2https自定义登录
配置完成后,重新启动 NiFi,使用 https://localhost:8443/nifi/ 访问,并输入 admin/admin123 登录。
1.3.3https默认登录

也可以不配置,默认的用户名和密码在logs-->nifi-app.log--》搜索username-->定位到用户名和密码。截图如下:






1.4 LDAP 进行用户认证
如果你的企业有 LDAP 服务器,可以将 NiFi 配置成 LDAP 认证模式,让用户使用公司账户登录。

1.4.1修改 conf/login-identity-providers.xml
<provider>
<identifier>ldap-provider</identifier>
<class>org.apache.nifi.ldap.LdapIdentityProvider</class>
<property name="Authentication Strategy">SIMPLE</property>
<property name="Manager DN">cn=admin,dc=example,dc=com</property>
<property name="Manager Password">password</property>
<property name="User Search Base">ou=users,dc=example,dc=com</property>
<property name="User Search Filter">uid={0}</property>
<property name="User Identity Attribute">uid</property>
<property name="Url">ldap://your-ldap-server:389</property></provider>
1.4.2修改 conf/authorizers.xml
<userGroupProvider>
<identifier>ldap-user-group-provider</identifier>
<class>org.apache.nifi.ldap.LdapUserGroupProvider</class>
<property name="User Search Base">ou=users,dc=example,dc=com</property>
<property name="Group Search Base">ou=groups,dc=example,dc=com</property></userGroupProvider>
1.4.3重启NiFi 并用 LDAP 账户登录
1.5 配置用户权限管理
NiFi 允许不同的用户具有不同的权限,如 只读用户、数据处理用户、管理员。
1.5.1进入 NiFi 用户管理界面

- 登录后,点击 “Access Policies”
- 在 “Users” 里添加新用户
- 在 “Policies” 里分配权限
1.5.2常见权限配置

2 NIFI介绍
2.1界面菜单诠释


2.2核心概念

· Processor(处理器):执行具体的数据处理任务,如读取、转换、写入数据等。
· FlowFile(数据流文件):携带数据和元数据的基本单元。
· Connection(连接器):将不同的 Processor 连接在一起,控制数据流向和队列。
· Controller Service(控制服务):提供共享资源配置(如数据库连接池)。
· Data Provenance(数据溯源):记录和查看数据处理历史。
3 数据同步
3.1功能概述
nifi实现sqlserver数据库2个表的数据同步。
3.2 数据同步方案

NiFi 提供两种主要的数据同步方式:
- 增量同步(适用于数据量较大,目标表已存在)
- 全量同步(适用于数据量较小,或目标表需要完全替换)
本篇只讲全量同步
3.2.1全量同步
适用场景
- 目标表为空,或需要全量替换数据。
- 数据量 较小(几十万条)。
- 同步周期较长,不需要频繁同步
-
3.2.2流程设计

-
3.2.3 数据库连接说明

-
3.2.4数据库连接配置说明

-
3.2.5 JDBC下载
JDBC根据自己连接的数据库相关,选择对应的版本,对应下载地址如下:
https://learn.microsoft.com/zh-cn/sql/connect/jdbc/download-microsoft-jdbc-driver-for-sql-server?view=sql-server-ver16
3.2.6配置过程

3.2.7添加processgroup



3.2.8获取源数据











3.2.9添加目标PutDatabaseRecord



3.2.10建立连接



3.2.11启动

更多推荐

所有评论(0)