apache nifi部署

参考地址:https://blog.csdn.net/m0_58786911/article/details/146958998

参考地址:https://blog.csdn.net/LSW_JAVADP/article/details/132657208

一、系统准备

shell>>mkdir -p /data/app/postgres
shell>>mkdir -p /data/app/nifi
shell>>mkdir -p /data/app/nifitemp
shell>>mkdir -p /data/app/atlas
shell>>cd /data/app
###本教程是2.5.0版本
shell>>docker pull apache/nifi:lastest

二、部署NiFi-TEMP拉取挂载文件

shell>>docker run -d --name nifi-temp \
-e SINGLE_USER_CREDENTIALS_USERNAME=admin \
-e SINGLE_USER_CREDENTIALS_PASSWORD=Nifi@SecurePass123 \
apache/nifi:latest

复制容器文件

shell>>docker cp nifi-temp:/opt/nifi/nifi-current/conf /data/app/nifi/conf
shell>>docker cp nifi-temp:/opt/nifi/nifi-current/database_repository  /data/app/nifi/database_repository
shell>>docker cp nifi-temp:/opt/nifi/nifi-current/content_repository  /data/app/nifi/content_repository
shell>>sudo chmod -R 777 /data/app/nifi
shell>>chown -R 1000:1000 /data/app/nifi
shell>>docker rm -f nifi-temp

三、部署nifi正式(含持久化)

shell>>>docker run -d \
  --name nifi \
  -v /data/app/nifi/conf:/opt/nifi/nifi-current/conf \
  -v /data/app/nifi/database_repository:/opt/nifi/nifi-current/database_repository \
  -v /data/app/nifi/content_repository:/opt/nifi/nifi-current/content_repository \
  -e SINGLE_USER_CREDENTIALS_USERNAME=admin \
  -e SINGLE_USER_CREDENTIALS_PASSWORD=Nifi@SecurePass123 \
  -p 8080:8080 \
  -p 8443:8443 \
  apache/nifi:latest

查看日志

shell>>docker logs -f --tail 100 nifi

此时如果访问会显示400错误,因为证书问题。如图:

https://ip:8443/nifi

新兴技术能力、架构能力apache nifi部署插图

四、创建证书

删除原有的旧证书

shell>>cd /data/app/nifi/conf
shell>>rm -rf *.p12

创建证书

shell>>openssl genpkey -algorithm RSA -out nifi.key
Country Name (2 letter code) [AU]: CN   # 国家/地区名称(必须填写,使用两位字母代码,如CN代表中国)
State or Province Name (full name) [Some-State]: Beijing   # 省份或州名称(必须填写,填写完整名称)
Locality Name (eg, city) []: Beijing   # 城市名称(可选,如果不填,字段为空)
Organization Name (eg, company) [Internet Widgits Pty Ltd]: Hubu   # 组织名称(必须填写,通常为公司名称)
Organizational Unit Name (eg, section) []: IT Department   # 组织部门名称(可选)
Common Name (e.g. server FQDN or YOUR name) []:YOUR_SERVER_IP(168.192.10.68)    # 服务器主机名或IP地址(必须填写)
Email Address []: admin@example.com   # 电子邮件地址(可选)
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <留空>   # 挑战密码(可选,可以留空)
An optional company name []: <留空>   # 可选的公司名称(可选,可以留空)

使用私钥和CSR 创建自签名证书,设置有效期为3650天:

Shell>>openssl x509 -req -days 3650 -in nifi.csr -signkey nifi.key -out nifi.crt

将私钥和证书合并为 PKCS12 格式文件:

Shell>>openssl pkcs12 -export -in nifi.crt -inkey nifi.key -out nifi.p12 -name nifi -password pass:abcdef123456
新兴技术能力、架构能力apache nifi部署插图1

修改nifi.properties 文件,配置敏感信息加密相关参数:

nifi.sensitive.props.key=abcdef123456
nifi.sensitive.props.algorithm=NIFI_PBKDF2_AES_GCM_256
nifi.security.autoreload.enabled=false
nifi.security.autoreload.interval=10 secs

配置证书路径和密码:

nifi.security.keystore=./conf/nifi.p12
nifi.security.keystoreType=PKCS12
nifi.security.keystorePasswd=abcdef123456
nifi.security.keyPasswd=abcdef123456
nifi.security.truststore=./conf/nifi.p12
nifi.security.truststoreType=PKCS12
nifi.security.truststorePasswd=abcdef123456

重启容器

shell>>docker restart nifi