Search code examples
javassljettyapache-nifitls1.2

Apache NiFi Unable to start the flow controller because the TLS configuration was invalid: The keystore properties are not valid


I am attempting to upgrade to Apache NiFi from 1.9.2 to 1.12.1 and no matter how I tweak the properties file, I keep getting errors about TLS. I was running just fine before the upgrade. I was able to use the keytool to open the jks files and output the keys inside of them. The upgrade added the truststore, truststoreType, and truststorePasswd lines but removing them, filling them out, etc. does nothing to change the result. If anyone knows some definitive steps resolve this (commands to run, etc.) it would be much appreciated.

nifi.properties:

The keystore.jks and truststore.jks files are both in the conf folder.

nifi.security.keystore=keystore.jks
nifi.security.keystoreType=JKS
nifi.security.keystorePasswd=
nifi.security.keyPasswd=
nifi.security.truststore=truststore.jks
nifi.security.truststoreType=JKS
nifi.security.truststorePasswd=
nifi.security.user.authorizer=managed-authorizer
nifi.security.allow.anonymous.authentication=false
nifi.security.user.login.identity.provider=
nifi.security.ocsp.responder.url=
nifi.security.ocsp.responder.certificate=

nifi-app.log:

2020-12-26 17:00:03,600 INFO [main] org.apache.nifi.NiFi Launching NiFi...
<<<<  REMOVED SOME UNECESSARY LINES DUE TO STACKOVERFLOW CHAR LIMITS  >>>>
2020-12-26 17:00:20,415 INFO [main] org.eclipse.jetty.server.Server jetty-9.4.26.v20200117; built: 2020-01-17T12:35:33.676Z; git: 7b38981d25d14afb4a12ff1f2596756144edf695; jvm 1.8.0_102-b14
2020-12-26 17:00:20,789 INFO [main] o.e.j.a.AnnotationConfiguration Scanning elapsed time=124ms
2020-12-26 17:00:20,894 INFO [main] org.eclipse.jetty.server.session DefaultSessionIdManager workerName=node0
2020-12-26 17:00:20,895 INFO [main] org.eclipse.jetty.server.session No SessionScavenger set, using defaults
2020-12-26 17:00:20,896 INFO [main] org.eclipse.jetty.server.session node0 Scavenging every 600000ms
2020-12-26 17:00:20,935 INFO [main] o.e.jetty.server.handler.ContextHandler Started o.e.j.w.WebAppContext@55634720{nifi-standard-content-viewer,/nifi-standard-content-viewer-1.12.1,file:///D:/Projects/NiFi.Server/nifi/work/jetty/nifi-standard-content-viewer-1.12.1.war/webapp/,AVAILABLE}{.\work\nar\extensions\nifi-standard-nar-1.12.1.nar-unpacked\NAR-INF\bundled-dependencies\nifi-standard-content-viewer-1.12.1.war}
2020-12-26 17:00:21,847 INFO [main] o.e.j.a.AnnotationConfiguration Scanning elapsed time=426ms
2020-12-26 17:00:21,900 INFO [main] o.e.jetty.server.handler.ContextHandler Started o.e.j.w.WebAppContext@4b0d79fc{/nifi-jolt-transform-json-ui-1.12.1,/nifi-jolt-transform-json-ui-1.12.1,file:///D:/Projects/NiFi.Server/nifi/work/jetty/nifi-jolt-transform-json-ui-1.12.1.war/webapp/,AVAILABLE}{.\work\nar\extensions\nifi-standard-nar-1.12.1.nar-unpacked\NAR-INF\bundled-dependencies\nifi-jolt-transform-json-ui-1.12.1.war}
2020-12-26 17:00:23,283 INFO [main] o.e.j.a.AnnotationConfiguration Scanning elapsed time=464ms
2020-12-26 17:00:23,315 INFO [main] o.e.jetty.server.handler.ContextHandler Started o.e.j.w.WebAppContext@4c1909a3{/nifi-update-attribute-ui-1.12.1,/nifi-update-attribute-ui-1.12.1,file:///D:/Projects/NiFi.Server/nifi/work/jetty/nifi-update-attribute-ui-1.12.1.war/webapp/,AVAILABLE}{.\work\nar\extensions\nifi-update-attribute-nar-1.12.1.nar-unpacked\NAR-INF\bundled-dependencies\nifi-update-attribute-ui-1.12.1.war}
2020-12-26 17:00:24,404 INFO [main] o.e.j.a.AnnotationConfiguration Scanning elapsed time=187ms
2020-12-26 17:00:24,408 INFO [main] o.e.j.s.handler.ContextHandler._nifi No Spring WebApplicationInitializer types detected on classpath
2020-12-26 17:00:24,453 INFO [main] o.e.jetty.server.handler.ContextHandler Started o.e.j.w.WebAppContext@428640fa{nifi,/nifi,file:///D:/Projects/NiFi.Server/nifi/work/jetty/nifi-web-ui-1.12.1.war/webapp/,AVAILABLE}{.\work\nar\framework\nifi-framework-nar-1.12.1.nar-unpacked\NAR-INF\bundled-dependencies\nifi-web-ui-1.12.1.war}
2020-12-26 17:00:25,057 INFO [main] o.e.j.a.AnnotationConfiguration Scanning elapsed time=402ms
2020-12-26 17:00:25,058 INFO [main] o.e.j.s.handler.ContextHandler._nifi_api No Spring WebApplicationInitializer types detected on classpath
2020-12-26 17:00:25,108 INFO [main] o.e.j.s.handler.ContextHandler._nifi_api Initializing Spring root WebApplicationContext
2020-12-26 17:00:27,144 INFO [main] org.apache.nifi.security.kms.CryptoUtils Determined default nifi.properties path to be 'D:\Projects\NIFI~1.SER\nifi\.\conf\nifi.properties'
2020-12-26 17:00:27,145 INFO [main] o.a.nifi.properties.NiFiPropertiesLoader Loaded 166 properties from D:\Projects\NIFI~1.SER\nifi\.\conf\nifi.properties
2020-12-26 17:00:28,952 INFO [main] o.a.n.r.v.FileBasedVariableRegistry Loaded 141 properties from system properties and environment variables
2020-12-26 17:00:28,954 INFO [main] o.a.n.r.v.FileBasedVariableRegistry Loaded 8 properties from '..\custom\variable-registry.properties'
2020-12-26 17:00:28,954 INFO [main] o.a.n.r.v.FileBasedVariableRegistry Loaded a total of 149 properties.  Including precedence overrides effective accessible registry key size is 149
2020-12-26 17:00:28,989 WARN [main] o.a.nifi.security.util.SslContextFactory Some keystore properties are populated (keystore.jks, null, null, JKS) but not valid
2020-12-26 17:00:28,990 ERROR [main] o.apache.nifi.controller.FlowController Unable to start the flow controller because the TLS configuration was invalid: The keystore properties are not valid
2020-12-26 17:00:28,992 WARN [main] org.eclipse.jetty.webapp.WebAppContext Failed startup of context o.e.j.w.WebAppContext@d9345cd{nifi-api,/nifi-api,file:///D:/Projects/NiFi.Server/nifi/work/jetty/nifi-web-api-1.12.1.war/webapp/,UNAVAILABLE}{.\work\nar\framework\nifi-framework-nar-1.12.1.nar-unpacked\NAR-INF\bundled-dependencies\nifi-web-api-1.12.1.war}
org.apache.nifi.web.NiFiCoreException: Unable to start Flow Controller.
    at org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:88)
    at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:930)
    at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553)
    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:889)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:356)
    at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:822)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:425)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.server.Server.start(Server.java:407)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.server.Server.doStart(Server.java:371)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:1052)
    at org.apache.nifi.NiFi.<init>(NiFi.java:158)
    at org.apache.nifi.NiFi.<init>(NiFi.java:72)
    at org.apache.nifi.NiFi.main(NiFi.java:301)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flowService': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flowController': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Flow controller TLS configuration is invalid
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:185)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1086)
    at org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:55)
    ... 37 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flowController': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Flow controller TLS configuration is invalid
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:185)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1086)
    at org.apache.nifi.spring.StandardFlowServiceFactoryBean.getObject(StandardFlowServiceFactoryBean.java:48)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178)
    ... 43 common frames omitted
Caused by: java.lang.IllegalStateException: Flow controller TLS configuration is invalid
    at org.apache.nifi.controller.FlowController.<init>(FlowController.java:476)
    at org.apache.nifi.controller.FlowController.createStandaloneInstance(FlowController.java:388)
    at org.apache.nifi.spring.FlowControllerFactoryBean.getObject(FlowControllerFactoryBean.java:80)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178)
    ... 50 common frames omitted
Caused by: org.apache.nifi.security.util.TlsException: The keystore properties are not valid
    at org.apache.nifi.security.util.SslContextFactory.getKeyManagers(SslContextFactory.java:161)
    at org.apache.nifi.security.util.SslContextFactory.createSslContext(SslContextFactory.java:88)
    at org.apache.nifi.security.util.SslContextFactory.createSslContext(SslContextFactory.java:55)
    at org.apache.nifi.controller.FlowController.<init>(FlowController.java:473)
    ... 53 common frames omitted
2020-12-26 17:00:29,259 INFO [main] o.e.j.a.AnnotationConfiguration Scanning elapsed time=63ms
2020-12-26 17:00:29,260 INFO [main] o.e.j.s.h.C._nifi_content_viewer No Spring WebApplicationInitializer types detected on classpath
2020-12-26 17:00:29,280 INFO [main] o.e.jetty.server.handler.ContextHandler Started o.e.j.w.WebAppContext@2d710f1a{nifi-content-viewer,/nifi-content-viewer,file:///D:/Projects/NiFi.Server/nifi/work/jetty/nifi-web-content-viewer-1.12.1.war/webapp/,AVAILABLE}{.\work\nar\framework\nifi-framework-nar-1.12.1.nar-unpacked\NAR-INF\bundled-dependencies\nifi-web-content-viewer-1.12.1.war}
2020-12-26 17:00:29,313 INFO [main] o.e.j.a.AnnotationConfiguration Scanning elapsed time=9ms
2020-12-26 17:00:29,315 WARN [main] o.e.j.webapp.StandardDescriptorProcessor Duplicate mapping from / to default
2020-12-26 17:00:29,315 INFO [main] o.e.j.s.h.ContextHandler._nifi_docs No Spring WebApplicationInitializer types detected on classpath
2020-12-26 17:00:29,335 INFO [main] o.e.jetty.server.handler.ContextHandler Started o.e.j.w.WebAppContext@29215f06{nifi-docs,/nifi-docs,file:///D:/Projects/NiFi.Server/nifi/work/jetty/nifi-web-docs-1.12.1.war/webapp/,AVAILABLE}{.\work\nar\framework\nifi-framework-nar-1.12.1.nar-unpacked\NAR-INF\bundled-dependencies\nifi-web-docs-1.12.1.war}
2020-12-26 17:00:29,361 INFO [main] o.e.j.a.AnnotationConfiguration Scanning elapsed time=6ms
2020-12-26 17:00:29,363 INFO [main] o.e.j.server.handler.ContextHandler._ No Spring WebApplicationInitializer types detected on classpath
2020-12-26 17:00:29,379 INFO [main] o.e.jetty.server.handler.ContextHandler Started o.e.j.w.WebAppContext@59505b48{nifi-error,/,file:///D:/Projects/NiFi.Server/nifi/work/jetty/nifi-web-error-1.12.1.war/webapp/,AVAILABLE}{.\work\nar\framework\nifi-framework-nar-1.12.1.nar-unpacked\NAR-INF\bundled-dependencies\nifi-web-error-1.12.1.war}
2020-12-26 17:00:29,399 INFO [main] o.eclipse.jetty.server.AbstractConnector Started ServerConnector@1018bde2{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2020-12-26 17:00:29,400 INFO [main] org.eclipse.jetty.server.Server Started @26147ms
2020-12-26 17:00:29,400 WARN [main] org.apache.nifi.web.server.JettyServer Failed to start web server... shutting down.
org.apache.nifi.web.NiFiCoreException: Unable to start Flow Controller.
    at org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:88)
    at org.eclipse.jetty.server.handler.ContextHandler.callContextInitialized(ContextHandler.java:930)
    at org.eclipse.jetty.servlet.ServletContextHandler.callContextInitialized(ServletContextHandler.java:553)
    at org.eclipse.jetty.server.handler.ContextHandler.startContext(ContextHandler.java:889)
    at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:356)
    at org.eclipse.jetty.webapp.WebAppContext.startWebapp(WebAppContext.java:1445)
    at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1409)
    at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:822)
    at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:275)
    at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:425)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
    at org.eclipse.jetty.server.Server.start(Server.java:407)
    at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
    at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
    at org.eclipse.jetty.server.Server.doStart(Server.java:371)
    at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
    at org.apache.nifi.web.server.JettyServer.start(JettyServer.java:1052)
    at org.apache.nifi.NiFi.<init>(NiFi.java:158)
    at org.apache.nifi.NiFi.<init>(NiFi.java:72)
    at org.apache.nifi.NiFi.main(NiFi.java:301)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flowService': FactoryBean threw exception on object creation; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flowController': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Flow controller TLS configuration is invalid
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:185)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1086)
    at org.apache.nifi.web.contextlistener.ApplicationStartupContextListener.contextInitialized(ApplicationStartupContextListener.java:55)
    ... 37 common frames omitted
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'flowController': FactoryBean threw exception on object creation; nested exception is java.lang.IllegalStateException: Flow controller TLS configuration is invalid
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:185)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1640)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:323)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1086)
    at org.apache.nifi.spring.StandardFlowServiceFactoryBean.getObject(StandardFlowServiceFactoryBean.java:48)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178)
    ... 43 common frames omitted
Caused by: java.lang.IllegalStateException: Flow controller TLS configuration is invalid
    at org.apache.nifi.controller.FlowController.<init>(FlowController.java:476)
    at org.apache.nifi.controller.FlowController.createStandaloneInstance(FlowController.java:388)
    at org.apache.nifi.spring.FlowControllerFactoryBean.getObject(FlowControllerFactoryBean.java:80)
    at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:178)
    ... 50 common frames omitted
Caused by: org.apache.nifi.security.util.TlsException: The keystore properties are not valid
    at org.apache.nifi.security.util.SslContextFactory.getKeyManagers(SslContextFactory.java:161)
    at org.apache.nifi.security.util.SslContextFactory.createSslContext(SslContextFactory.java:88)
    at org.apache.nifi.security.util.SslContextFactory.createSslContext(SslContextFactory.java:55)
    at org.apache.nifi.controller.FlowController.<init>(FlowController.java:473)
    ... 53 common frames omitted
2020-12-26 17:00:29,401 INFO [Thread-1] org.apache.nifi.NiFi Initiating shutdown of Jetty web server...
2020-12-26 17:00:29,405 INFO [Thread-1] o.eclipse.jetty.server.AbstractConnector Stopped ServerConnector@1018bde2{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
2020-12-26 17:00:29,405 INFO [Thread-1] org.eclipse.jetty.server.session node0 Stopped scavenging

These lines are particularly interesting:

2020-12-26 17:00:28,989 WARN [main] o.a.nifi.security.util.SslContextFactory Some keystore properties are populated (keystore.jks, null, null, JKS) but not valid
2020-12-26 17:00:28,990 ERROR [main] o.apache.nifi.controller.FlowController Unable to start the flow controller because the TLS configuration was invalid: The keystore properties are not valid

Solution

  • If user is trying to setup unsecure nifi cluster, and encounters the above error, then remove all the values as below:

    nifi.security.keystore= 
    nifi.security.keystoreType= 
    nifi.security.keystorePasswd= 
    nifi.security.keyPasswd= 
    nifi.security.truststore= 
    nifi.security.truststoreType= 
    nifi.security.truststorePasswd=
    

    Restart the cluster, and you will be able to continue.

    (From NiFi 1.15.3, secure cluster is created without user has to manually enter these values and create certs for the same using nifi-toolkit or via organisation)