No address to the message broker defined

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.

Hello,

  1. If you are a KNIME server customer and need help with your specific implementation, you can always write in to support@knime.com for direct assistance.
  2. Do you have
    -Dcom.knime.enterprise.executor.msgq=amqp://knime:20knime16@127.0.0.1/
    in your knime.ini?
  3. If you have the KE installed on Linux then it may be easier/better to set up the systemd service scripts as per [1] and [2] rather than using the manual start-executor.sh script.
  4. The config you found for com.knime.enterprise.executor.msgq looks like the property in knime-server.config, which would only be needed if RMQ is involved. For the KS to talk to the KE (given that the KE is looking for comms properly as per the directive in knime.ini) then you would just need knime-server.config to have
    # com.knime.enterprise.executor.msgq=amqp://<user>:<password>@<rabbitmq-host>/<vhost>
    com.knime.enterprise.executor.embedded-broker=true
    com.knime.enterprise.executor.embedded-broker.port=
    com.knime.server.executor.knime_exe=

Hope that helps!

Regards,
Nickolaus

[1] KNIME Server Installation Guide
[2] KNIME Server Installation Guide

2 Likes

Great - thanks!

I found the knime.ini file in the newly installed 4.5.2 Executor to be quite different from the knime.ini file in the 4.3.3 Executor (glad I kept the old one). The newly installed knime.ini seemed to be missing quite a bit - including the -Dcom.knime.enterprise.executor.msgq=amqp://knime:20knime16@127.0.0.1/ you identified. I just copied over all the old stuff, then got the service running (as you recommended) and everything started working!

2 Likes

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.