Apache NiFi 1.15.0 敏感属性导致启动失败的缓解方案咨询
NiFi 1.15.0 启动敏感属性密钥报错解决方案
报错根因
NiFi从1.14.0版本开始调整了默认安全策略,无论单节点还是集群部署,默认强制校验敏感属性加密密钥nifi.sensitive.props.key,因此1.12.0、1.13.0版本中可以正常运行的配置,在1.14.0及更高版本会触发启动失败。
以下是不需要单独生成实例专属密钥、不影响flow.xml.gz跨实例迁移的解决方案:
方案1:关闭敏感属性强制校验(适配开发测试、单节点非生产场景)
直接修改conf/nifi.properties文件,修改两处配置:
# 关闭敏感属性强制加密保护 nifi.sensitive.props.protection.enabled=false # 关闭集群模式下的敏感密钥强制要求 nifi.cluster.sensitive.props.key.required=false
修改完成后直接重启NiFi即可,该方案完全兼容旧版本的流配置文件,跨实例迁移时不需要做任何额外适配,无额外维护成本。
方案2:统一配置全局公共密钥(适配需要保留加密能力的多实例部署场景)
如果需要保留敏感属性加密能力,仅需要在所有部署实例的conf/nifi.properties中配置同一个固定密钥即可:
# 密钥长度要求不低于12位,可自定义统一的字符串 nifi.sensitive.props.key=your_unified_sensitive_key_2024
所有实例密钥保持一致的前提下,flow.xml.gz可以正常跨实例迁移,仅需要维护一个公共配置项,维护成本极低。
方案3:旧版本升级兼容方案
如果是从1.13.0及更低版本升级的部署,直接复用旧版本配置文件中的nifi.sensitive.props.key配置(旧版本未配置就保持空值),同时在新版本配置中新增以下参数即可:
nifi.sensitive.props.additional.keys=
内容的提问来源于stack exchange,提问作者kp-a
相关产品推荐
相关产品推荐

