Nifi单机安装并集成ldap配置
程序员文章站
2022-04-28 10:00:10
...
1. 准备软件安装包
nifi-1.11.4-bin.zip
2. 解压安装
unzip nifi-1.11.4-bin.zip
3. Nifi配置
3.1 修改bootstrap.conf
aaa@qq.com:~$ cd ~/nifi-1.11.4-bin
aaa@qq.com:~/nifi-1.11.4-bin$ vim conf/bootstrap.conf
修改如下配置:
# JVM memory settings
java.arg.2=-Xms10240m
java.arg.3=-Xmx20480m
打开注释:
java.arg.13=-XX:+UseG1GC
保存退出。
注意:jvm大小根据实际机器内存进行配置,Xms和Xmx一般是折半,jvm 8G以上才打开G1垃圾回收,否则不要打开。
3.2 修改nifi.properties
aaa@qq.com: ~/nifi-1.11.4-bin$ vim conf/nifi.properties
#修改如下配置:
# web ui配置。http.port留空,启用https
nifi.web.http.port=
nifi.web.https.host=192.168.172.128
nifi.web.https.port=9443
保存退出。
3.3 集成LDAP配置
1、生成**库
aaa@qq.com:~$ cd ~/nifi-1.11.4-bin/toolkit/nifi-toolkit-1.11.4-SNAPSHOT/bin/
aaa@qq.com:~/nifi-1.11.4-bin/toolkit/nifi-toolkit-1.11.4-SNAPSHOT/bin$ ./tls-toolkit.sh standalone -n '192.168.172.128' --subjectAlternativeNames '192.168.172.128' -P nifi123 -S nifi123 -d 3600 -o ../store
可以看到已生成节点的目录,里面包含对应的**文件keystore.jks和truststore.jks,还有
2、将**文件拷贝到~/nifi-1.11.4-bin/conf/下,并修改配置文件:
aaa@qq.com:~/nifi-1.11.4-bin/toolkit/nifi-toolkit-1.11.4-SNAPSHOT/store/192.168.172.128$ cp *.jks ~/nifi-1.11.4-bin/conf/
aaa@qq.com:~/nifi-1.11.4-bin/toolkit/nifi-toolkit-1.11.4-SNAPSHOT/store/192.168.172.128$ cd ~/nifi-1.11.4-bin
aaa@qq.com:~/nifi-1.11.4-bin$ vim conf/nifi.properties
nifi.security.keystore=./conf/keystore.jks
nifi.security.keystoreType=jks
nifi.security.keystorePasswd=nifi123
nifi.security.keyPasswd=
nifi.security.truststore=./conf/truststore.jks
nifi.security.truststoreType=jks
nifi.security.truststorePasswd=nifi123
nifi.security.user.authorizer=managed-authorizer
nifi.security.user.login.identity.provider=ldap-provider
nifi.security.ocsp.responder.url=
nifi.security.ocsp.responder.certificate=
3、修改authorizers.xml文件
前提已经部署好ApacheDS,并且已建立好对应的用户和组。默认为uid=nifi,ou=wheel,dc=com,dc=cn。
aaa@qq.com:~/nifi-1.11.4-bin/conf$ vim 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="Legacy Authorized Users File"></property>
<property name="Initial User Identity 1">uid=nifi,ou=wheel,dc=com,dc=cn</property>
</userGroupProvider>
<accessPolicyProvider>
<identifier>file-access-policy-provider</identifier>
<class>org.apache.nifi.authorization.FileAccessPolicyProvider</class>
<property name="User Group Provider">file-user-group-provider</property>
<property name="Authorizations File">./conf/authorizations.xml</property>
<property name="Initial Admin Identity">uid=nifi,ou=wheel,dc=com,dc=cn</property>
<property name="Legacy Authorized Users File"></property>
<property name="Node Identity 1"></property>
<property name="Node Group"></property>
</accessPolicyProvider>
<authorizer>
<identifier>managed-authorizer</identifier>
<class>org.apache.nifi.authorization.StandardManagedAuthorizer</class>
<property name="Access Policy Provider">file-access-policy-provider</property>
</authorizer>
4、修改login-identity-providers.xml文件
aaa@qq.com:~/nifi-1.11.4-bin/conf$ vim login-identity-providers.xml
<provider>
<identifier>ldap-provider</identifier>
<class>org.apache.nifi.ldap.LdapProvider</class>
<property name="Authentication Strategy">SIMPLE</property>
<property name="Manager DN">uid=admin,ou=system</property>
<property name="Manager Password">nifi123</property>
<!-- property name="TLS - Keystore"></property -->
<!-- property name="TLS - Keystore Password"></property -->
<!-- property name="TLS - Keystore Type"></property -->
<!-- property name="TLS - Truststore"></property -->
<!-- property name="TLS - Truststore Password"></property -->
<!-- property name="TLS - Truststore Type"></property -->
<!-- property name="TLS - Client Auth"></property -->
<!-- property name="TLS - Protocol"></property -->
<!-- property name="TLS - Shutdown Gracefully"></property -->
<property name="Referral Strategy">FOLLOW</property>
<property name="Connect Timeout">10 secs</property>
<property name="Read Timeout">10 secs</property>
<property name="Url">ldap://172.28.231.23:10389</property>
<property name="User Search Base">ou=wheel,dc=com,dc=cn</property>
<property name="User Search Filter">uid={0}</property>
<property name="Identity Strategy">USE_DN</property>
<property name="Authentication Expiration">12 hours</property>
</provider>
3.4 配置最佳实践
1、修改limits.conf
aaa@qq.com:~$ sudo vim /etc/security/limits.conf
添加如下内容:
* hard nofile 50000
* soft nofile 50000
* hard nproc 10000
* soft nproc 10000
nifi hard nofile 50000
nifi soft nofile 50000
nifi hard nproc 10000
nifi soft nproc 10000
保存退出。
2、修改90-nproc.conf
aaa@qq.com:~$ sudo vim /etc/security/limits.d/90-nproc.conf
添加如下内容:
* soft nproc 10000
保存退出。
3、配置TCP套接字端口的数量
aaa@qq.com:~$ sudo sysctl -w net.ipv4.ip_local_port_range="10000 65000"
4、设置套接字在关闭时保持在TIMED_WAIT状态的时间
aaa@qq.com:~$ sudo sysctl -w net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait="1"
5、配置不使用交换
aaa@qq.com:~$ sudo vim /etc/sysctl.conf
添加如下内容:
vm.swappiness = 0
保存退出。
生效配置。
aaa@qq.com:~$ sudo sysctl -p
4. 启停nifi
启动:
aaa@qq.com:~/nifi-1.11.4-bin$ bin/nifi.sh start
停止:
aaa@qq.com:~/nifi-1.11.4-bin$ bin/nifi.sh stop
5. 测试登录
输入用户名nifi,密码nifi123
当你使用初始管理员账号进入Nifi以后,你会发现大部分的地方都是灰色的,你基本没法做任何操作。这时候你可以通过点击右上侧的菜单栏并选择Policies
来为你自己的账户添加全局权限,又或者点击Process Group
的权限按钮来设定应用于该组别的权限。
推荐阅读