1.下载Nifi
下载链接: https://nifi.apache.org/download.html.
2.下载Toolkit
下载链接: https://nifi.apache.org/download.html.
// 解压
tar -zxvf nifi-1.15.3-bin.tar.gz ( asc, sha256, sha512 )
tar -zxvf nifi-toolkit-1.15.3-bin.tar.gz ( asc, sha256, sha512 )
1.进入nifi的bin目录下:
./bin/nifi.sh start
2.修改配置文件。默认端口8443
在nifi/conf/nifi.properties里的nifi.web.http.port=#####
1.进入一台机器的toolkit主目录下,执行以下CMD:
/bin/tls-toolkit.sh standalone -n '域名1' -O -S '替换成你想设置的truststore密码' -P '设置一个keystore密码'
/bin/tls-toolkit.sh standalone -n '域名2' -O -S '替换成你想设置的truststore密码' -P '设置一个keystore密码'
/bin/tls-toolkit.sh standalone -n '域名3' -O -S '替换成你想设置的truststore密码' -P '设置一个keystore密码'
2.根据你提供的域名生成以域名为名字的目录,里面的文件有Keystore.jks,Truststore.jks,Nifi.properties。三个域名,所以在同一个机器生产三次
刚刚生产的Keystore.jks,Truststore.jks,Nifi.properties分别移动到对应域名的机器下,放到Nifi主目录的conf下(注:在./conf路径下已经有nifi.properties尚未配置,所以可以覆盖)
进入nifi主目录,在进入/conf目录下,编辑nifi.properties
#指向toolkit生成truststore.jks绝对路径
nifi.security.truststore=truststore.jks
#指向toolkit生成keystore.jk绝对路径
nifi.security.keystore=keystore.jk
浏览器中输入https//域名:port/nifi
每一台机器都是一样的
编辑CMD:vi nifi.properties
nifi.security.user.login.identity.provider=ldap-provider
在NIFI主目录下,编辑CMD:vi /conf/login-identity-provider.xml
<identifier>ldap-provider</identifier>
<property name="Authentication Strategy">SIMPLE</property>
<property name="Manager DN">真实的DN ,例如:CN=SRV-ADDService,OU=Service,OU=Users,OU=TWTP1,OU=TW,OU=XXX,DC=XXX,DC=corp </property>
<property name="Manager Password">真实的密码</property>
<property name="Url">ldap://真实的IP:PORT</property>
#其他不用修改的配置信息已经省略
<property name="User Search Base">例如OU=XXX,DC=XXXX,DC=corp </property>
<property name="User Search Filter">sAMAccountName={0}</property>
<property name="User Object Class">person</property>
<property name="Identity Strategy">USE_USERNAME</property>
注:这部分内容默认被注释,记得打开!
1.启动:CMD:./bin/nifi.sh start
2.打开浏览器,访问https//域名:port/nifi
3.出现如下画面,输入账密
4.通过验证
权限认证由UserGroupProvider和AccessPolicyProvider组成
NIFI主目录下,编辑authorizers.xml的CMD:vi ./conf/authorizers.xml
<userGroupProvider>
<identifier>file-user-group-provider</identifier>
<class>org.apache.nifi.authorization.FileUserGroupProvider</class>
<property name="Initial User Identity 1">Tomcat</property>
<property name="Initial User Identity 2">域名1@NIFI</property>
<property name="Initial User Identity 3">域名2@NIFI</property>
<property name="Initial User Identity 4">域名3@NIFI</property>
# OU前有空格
<property name="Initial User Identity 5">CN=域名1, OU=NIFI</property>
<property name="Initial User Identity 6">CN=域名2, OU=NIFI</property>
<property name="Initial User Identity 7">CN=域名3, OU=NIFI</property>
</userGroupProvider>
NIFI主目录下,编辑authorizers.xml的CMD:vi ./conf/authorizers.xml
<accessPolicyProvider>
<identifier>file-access-policy-provider</identifier>
#初次登入时,要设置一个管理员身份才可以进入NIFI,然后可以在NIFI的UI里设置其他用户的权限
<property name="Initial Admin Identity">Tomcat</property>
<property name="Legacy Authorized Users File"></property>
<property name="Node Identity 1">域名1@NIFI</property>
<property name="Node Identity 2">域名2@NIFI</property>
<property name="Node Identity 3">域名3@NIFI</property>
#下面有OU前都有一个空格
<property name="Node Identity 4">CN=域名1, OU=NIFI</property>
<property name="Node Identity 5">CN=域名2, OU=NIFI</property>
<property name="Node Identity 6">CN=域名3, OU=NIFI</property> </accessPolicyProvider>
编辑CMD:vi nifi.properties
//加以下信息到文末,OU前有空格:
nifi.security.identity.mapping.value.dn=$1@$2
nifi.security.identity.mapping.pattern.dn=^CN=(.*?), OU=(.*?)$
1.使用设定的管理员身份登录
2.出现如下画面,表示认证完成
3.添加其他用户和授权,具体页面如下
接下来的步骤在每台机器的操作一样,这里只以一台作示范
1.配置Zookeeper集群
编辑CMD:vi ./conf/nifi.properties
//该属性值应填写外部ZOOKEEPER组件的实际域名:PORT
nifi.zookeeper.connect.string=machine001:2181,chine002:2181,machine003:2181
2.配置state-management.xml
编辑CMD:vi conf/state-management.xml
//该属性值应填写外部ZOOKEEPER组件的实际IP:PORT
<property name="Connect String">machine01:2181,machine02:2181,machine03:2181</property>
一个用于存储和管理共享资源的子项目
下载地址: https://nifi.apache.org/registry.html.
目前使用这个nifi-registry-0.5.0-bin.tar.gz ( asc, sha256, sha512 )
tar -zxvf nifi-registry-0.5.0-bin.tar.gz (asc, sha256, sha512)
1.nifi-registry主目录下的conf目录
CMD:vi nifi-registry.properties
# security properties #
nifi.registry.security.keystore=
nifi.registry.security.keystoreType=
nifi.registry.security.keystorePasswd=
nifi.registry.security.keyPasswd=
nifi.registry.security.truststore=
nifi.registry.security.truststoreType=
nifi.registry.security.truststorePasswd=
#默认空,填写false
nifi.registry.security.needClientAuth=false
#默认空,填ldap-identity-provider
nifi.registry.security.identity.provider=ldap-identity-provider
#默认不为空,设置为空
nifi.registry.web.http.port=
#填本机hostname和任意一个没被占用的PORT,如9993
nifi.registry.web.https.host=hostname
nifi.registry.web.https.port=PORT
2.编辑authorizers.xml
<userGroupProvider>
<identifier>file-user-group-provider</identifier>
<class>org.apache.nifi.registry.security.authorization.file.FileUserGroupProvider</class>
<property name="Users File">./conf/users.xml</property>
<property name="Initial User Identity 1">xxx</property>
</userGroupProvider>
#同上一致
<accessPolicyProvider>
<identifier>file-access-policy-provider</identifier>
<property name="Initial Admin Identity">xxx</property>
</accessPolicyProvider>
3.编辑identity-providers.xml3. 编辑identity-providers.xml
<provider>
<identifier>ldap-identity-provider</identifier>
<property name="Authentication Strategy">SIMPLE</property>
<property name="Manager DN">CN=SRV-ADDServi,OU=Service,OU=Users,OU=TWTP1,OU=TW,OU=xxx,DC=xxx,DC=corp</property>
<property name="Manager Password">密码/property>
<property name="Url">ldap的URL<property>
<property name="User Search Base">OU=xxx,DC=xxxx,DC=corp</property>
<property name="User Search Filter">sAMAccountName={0}</property>
<property name="Identity Strategy">USE_USERNAME</property>
</provider>
注:这部分内容默认有注释,记得打开
进入REGISTRY的主目录下,然后进入bin,
nifi-registry.sh start
https:// 本机ip:刚刚配置的registry的port /nifi-registry
如https:// hostname:port/nifi-registry/
注:必须加CN=域名1/域名2/域名3, OU=NIFI共三个用户,其它的用户看需求添加
登录Nifi UI界面进行操作
待定