I just upgraded from (Linux) KNIME Server 4.12.3 to 4.5.2 and the Executor from 4.3.3 to 4.5.2. In fact, it was really more of a “re-installation” than an upgrade given the new Java (JDK11) and Tomcat that was required. Everything went smoothly. My WebPortal is running, and I can run the Executor from a Linux GUI.
Unfortunately, I can’t get KNIME Server and the Executor to communicate, and my WebPortal is reporting “No executor information available”. When I try to start the Executor from the command line I get the error message: “No address to the message broker defined”.
This is what I’m seeing:
$ ./start-executor.sh
CompileCommand: exclude javax/swing/text/GlyphView.getBreakSpot
Apr 18, 2022 11:08:31 AM org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions
INFO: Adding the extensions from bundle org.apache.cxf.cxf-rt-frontend-jaxrs (376) [org.apache.cxf.jaxrs.JAXRSBindingFactory]
Apr 18, 2022 11:08:31 AM org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions
INFO: Adding the extensions from bundle org.apache.cxf.cxf-rt-transports-http (379) [org.apache.cxf.transport.http.HTTPTransportFactory, org.apache.cxf.transport.http.HTTPWSDLExtensionLoader, org.apache.cxf.transport.http.policy.HTTPClientAssertionBuilder, org.apache.cxf.transport.http.policy.HTTPServerAssertionBuilder, org.apache.cxf.transport.http.policy.NoOpPolicyInterceptorProvider]
Apr 18, 2022 11:08:31 AM org.apache.cxf.bus.osgi.CXFExtensionBundleListener addExtensions
INFO: Adding the extensions from bundle org.apache.cxf.cxf-rt-transports-http-hc (380) [org.apache.cxf.transport.http.HTTPConduitFactory, org.apache.cxf.transport.ConduitInitiator]
Apr 18, 2022 11:08:31 AM org.apache.cxf.bus.blueprint.NamespaceHandlerRegisterer register
INFO: Aries Blueprint packages not available. So namespaces will not be registered
Apr 18, 2022 11:08:31 AM org.apache.cxf.bus.blueprint.NamespaceHandlerRegisterer register
INFO: Aries Blueprint packages not available. So namespaces will not be registered
!SESSION 2022-04-18 11:08:30.228 -----------------------------------------------
eclipse.buildId=unknown
java.version=11.0.10
java.vendor=AdoptOpenJDK
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US
Framework arguments: -application com.knime.enterprise.slave.KNIME_REMOTE_APPLICATION
Command-line arguments: -os linux -ws gtk -arch x86_64 -consolelog -application com.knime.enterprise.slave.KNIME_REMOTE_APPLICATION
!ENTRY org.eclipse.osgi 4 0 2022-04-18 11:08:31.574
!MESSAGE Application error
!STACK 1
java.lang.IllegalArgumentException: No address to the message broker defined.
at com.knime.enterprise.executor.KNIMEExecutorApplication.start(KNIMEExecutorApplication.java:59)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:203)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
at org.eclipse.equinox.launcher.Main.run(Main.java:1461)
at org.eclipse.equinox.launcher.Main.main(Main.java:1434)
Apr 18, 2022 11:08:31 AM org.apache.cxf.bus.osgi.CXFExtensionBundleListener unregister
INFO: Removing the extensions for bundle 376
Apr 18, 2022 11:08:31 AM org.apache.cxf.bus.osgi.CXFExtensionBundleListener unregister
INFO: Removing the extensions for bundle 379
Apr 18, 2022 11:08:31 AM org.apache.cxf.bus.osgi.CXFExtensionBundleListener unregister
INFO: Removing the extensions for bundle 380
Unable to init server: Could not connect: Connection refused
Knime: Cannot open display:
Knime:
An error has occurred. See the log file
/home/knime/knime-workspace/.metadata/.log.
When I dug through the configuration I found this setting:
com.knime.enterprise.executor.msgq
Specifies the URL to the RabbitMQ virtual host.
amqp://blah:20blah16@localhost:5672/
The default value is empty so I tried setting this to empty and restarting. Unfortunately no luck!
Any ideas how to fix this?
Note that the WebPortal and Executor are on the same machine. I have a Large KNIME Server implementation but I am not running RabbitMQ. I found the installation instruction “Port 5672, must be accessible on both the KNIME Server and KNIME Executors in order for them to communicate with each other” but as both of mine are on the same machine I don’t think this applies to me. I have not set up any messaging and just want to use the defaults.
UPDATE: It doesn’t look like I can actually set this value to empty. Every time I try, the old value seems to come back to life.