Server setup problem: is the executor actually trying to open a GUI?

Hi

I am trying to set up a server for the self-pace learning course L3-PC (big thanks to KNIME for the trial license), however, I fail on the executor.

I installed the executor with the installer script, and went through the installation guide. First, I had set up qpid as message queue then rabbitmq. Both with the same result. The message on executor start, that could not be found a display, strikes me. And the listed command line arguments too, as it contains β€œgtk”. I was under the impression that gtk is used for GUIs.

rabbitmq
image

image

Can some shed light for a quite clueless tomato?

Kind regards

Thiemo
1658424536953.log (3.2 KB)

journalctl -xe

Jul 21 19:28:56 thiemos-workstation.intern systemd[1]: knime-executor.service: Scheduled restart job, restart counter is at 34.
β–‘β–‘ Subject: Automatic restarting of a unit has been scheduled
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: Debian -- User Support
β–‘β–‘
β–‘β–‘ Automatic restarting of the unit knime-executor.service has been scheduled, as the result for
β–‘β–‘ the configured Restart= setting for the unit.
Jul 21 19:28:56 thiemos-workstation.intern systemd[1]: Stopped KNIME Executor.
β–‘β–‘ Subject: A stop job for unit knime-executor.service has finished
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: Debian -- User Support
β–‘β–‘
β–‘β–‘ A stop job for unit knime-executor.service has finished.
β–‘β–‘
β–‘β–‘ The job identifier is 93598 and the job result is done.
Jul 21 19:28:56 thiemos-workstation.intern systemd[1]: knime-executor.service: Consumed 2.594s CPU time.
β–‘β–‘ Subject: Resources consumed by unit runtime
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: Debian -- User Support
β–‘β–‘
β–‘β–‘ The unit knime-executor.service completed and consumed the indicated resources.
Jul 21 19:28:56 thiemos-workstation.intern systemd[1]: Started KNIME Executor.
β–‘β–‘ Subject: A start job for unit knime-executor.service has finished successfully
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: Debian -- User Support
β–‘β–‘
β–‘β–‘ A start job for unit knime-executor.service has finished successfully.
β–‘β–‘
β–‘β–‘ The job identifier is 93598.
Jul 21 19:28:56 thiemos-workstation.intern sh[244550]: CompileCommand: exclude javax/swing/text/GlyphView.getBreakSpot bool exclude = true
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: !SESSION 2022-07-21 19:28:56.866 -----------------------------------------------
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: eclipse.buildId=unknown
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: java.version=17.0.3
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: java.vendor=Eclipse Adoptium
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=de_CH
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: Framework arguments: -application com.knime.enterprise.slave.KNIME_REMOTE_APPLICATION
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: Command-line arguments: -os linux -ws gtk -arch x86_64 -consolelog -data /srv/knime/executor-workspace -application com.knime.enterprise.slave.>
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: !ENTRY org.eclipse.osgi 4 0 2022-07-21 19:28:57.627
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: !MESSAGE Application error
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: !STACK 1
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: java.lang.RuntimeException: Application β€œcom.knime.enterprise.slave.KNIME_REMOTE_APPLICATION” could not be found in the registry. The applicatio>
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at org.eclipse.equinox.internal.app.EclipseAppContainer.startDefaultApp(EclipseAppContainer.java:252)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at org.eclipse.equinox.internal.app.MainApplicationLauncher.run(MainApplicationLauncher.java:33)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:401)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:255)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at java.base/java.lang.reflect.Method.invoke(Unknown Source)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:653)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at org.eclipse.equinox.launcher.Main.basicRun(Main.java:590)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at org.eclipse.equinox.launcher.Main.run(Main.java:1461)
Jul 21 19:28:57 thiemos-workstation.intern sh[244550]: at org.eclipse.equinox.launcher.Main.main(Main.java:1434)
Jul 21 19:28:57 thiemos-workstation.intern sh[244530]: Unable to init server: Verbindung ist gescheitert: Verbindungsaufbau abgelehnt
Jul 21 19:28:57 thiemos-workstation.intern sh[244530]: Knime: Anzeige kann nicht geΓΆffnet werden:
Jul 21 19:28:57 thiemos-workstation.intern sh[244530]: Knime:
Jul 21 19:28:57 thiemos-workstation.intern sh[244530]: An error has occurred. See the log file
Jul 21 19:28:57 thiemos-workstation.intern sh[244530]: /srv/knime/server/4.15.0.0103-0e06cb97/knime_executor/configuration/1658424536953.log.
Jul 21 19:28:57 thiemos-workstation.intern systemd[1]: knime-executor.service: Main process exited, code=exited, status=13/n/a
β–‘β–‘ Subject: Unit process exited
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: Debian -- User Support
β–‘β–‘
β–‘β–‘ An ExecStart= process belonging to unit knime-executor.service has exited.
β–‘β–‘
β–‘β–‘ The process’ exit code is β€˜exited’ and its exit status is 13.
Jul 21 19:28:57 thiemos-workstation.intern systemd[1]: knime-executor.service: Failed with result β€˜exit-code’.
β–‘β–‘ Subject: Unit failed
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: Debian -- User Support
β–‘β–‘
β–‘β–‘ The unit knime-executor.service has entered the β€˜failed’ state with result β€˜exit-code’.
Jul 21 19:28:57 thiemos-workstation.intern systemd[1]: knime-executor.service: Consumed 2.565s CPU time.
β–‘β–‘ Subject: Resources consumed by unit runtime
β–‘β–‘ Defined-By: systemd
β–‘β–‘ Support: Debian -- User Support
β–‘β–‘
β–‘β–‘ The unit knime-executor.service completed and consumed the indicated resources.

config.ini.txt (863 Bytes)
knime-server.config.txt (2.9 KB)

Hi @Thiemo.Kellner,

Thanks for contacting us!

We would like to ask you to clarify some points:

  • Which version of KNIME Server you are running?
  • Which version of KNIME executor do you have?
  • You have JAVA java.version=17.0.3, please note that in our official documentation we recommend to use JDK 11.
    KNIME Server Installation Guide
    So is downgrade to JDK 11 an option for you?
  • Please, provide us with KNIME Server logs. You can get them in our Webportal (Monitoring - Logs - Download)

Also, please pay attention to the fact that in Knime-server-config file: with QPID you have to use true for embedded broker and false of rabbit MQ.

Best regards,
Dzhanhir

Hi @dzhanhir

Thank you for getting at my problem.

First of all, my java versions.

thiemo @ thiemos-workstation ~ % sudo find / \( -name java -o -name javac \) -type f -executable -exec echo {} \; -exec {} --version \; 2>/dev/null      22-07-26 8:31

/srv/knime/server/4.15.0.0103-0e06cb97/knime_executor/plugins/org.knime.binary.jre.linux.x86_64_17.0.3.20220429/jre/bin/java
openjdk 17.0.3 2022-04-19
OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7)
OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode, sharing)
/opt/pdfsam-visual/resources/vendor/java/bin/java
openjdk 11.0.5 2019-10-15
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.5+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.5+10, mixed mode)
/opt/knime/plugins/org.knime.binary.jre.linux.x86_64_17.0.3.20220429/jre/bin/java
openjdk 17.0.3 2022-04-19
OpenJDK Runtime Environment Temurin-17.0.3+7 (build 17.0.3+7)
OpenJDK 64-Bit Server VM Temurin-17.0.3+7 (build 17.0.3+7, mixed mode, sharing)
/opt/knime/plugins/de.openms.linux.x86_64_2.7.0.202109131426/payload/bin/Sirius/lib/runtime/bin/java
openjdk 15.0.3 2021-04-20
OpenJDK Runtime Environment Zulu15.32+15-CA (build 15.0.3+3)
OpenJDK 64-Bit Server VM Zulu15.32+15-CA (build 15.0.3+3, mixed mode, sharing)
/usr/lib/jvm/java-11-openjdk-amd64/bin/javac
javac 11.0.15
/usr/lib/jvm/java-11-openjdk-amd64/bin/java
openjdk 11.0.15 2022-04-19
OpenJDK Runtime Environment (build 11.0.15+10-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.15+10-post-Debian-1deb11u1, mixed mode, sharing)

I am quite astonished to see that KNIME Analytics Platform installs its own JDK especially for the server as the instruction states and the installation fails as long as I did not install a (version 11) JDK beforehand - the last two entries of the list. Having said that, I would not know how to make KNIME a specific java installation.

Server version

4.15.0.0103-0e06cb97

Executor version
I do not know how to figure out. All I can say, that it was installed by the installer.

Server log
knime-server-logs.zip.knar (166.4 KB)

Side note
I strongly believe, support and user would be glad to have more supported file type in the upload here, because it would save quite some file renaming. I am very astonished that the configuration types (ini, config) and zip archive are not since those are native formats by KNIME itself. I am very extra sure the types are configurable because knar and other file types, which I have never seen being used but with KNIME, are allowed.

Kind regards

Thiemo

1 Like

Executor version
I found a way to figure it out. I logged into a graphical interface and started the executor from there into its GUI… strange that this is possible with a server installation.

KNIME Analytics Platform 4.6.0.v202206111722 org.knime.desktop.product null

Hi @Thiemo.Kellner,

Thanks for providing log files!

In order to understand the issue better could you please answer few questions related to your environment?

KNIME Server:

  1. Did you face any issues installing the KNIME Server?
  2. Can you check if your KNIME Server is up and running (ps -ef|grep knime)
  3. Can you access the Web Portal of KNIME Server using the following URL(http://:8080/knime) and let us know it is working as expected?

JAVA Installation:
From the provided logs we can see that you are using recommended version of JAVA.

JVM Version: 11.0.15+10-post-Debian-1deb11u1

Additionally, from the screen below we can see that embedded broker is set to false, but you need to set it to true. Also, please check the username and password.

Looking forward to your reply!

Best regards,
Dzhanhir

HI @dzhanhir

Thanks for your cooperation and suggestions. As to your questions:

  1. I cannot remember to have had problems during installation.

  2. I dare say, it is up and running.
    ps -ef|grep knime

    knime 854 1 0 Jul22 ? 00:04:49 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -Djava.util.logging.config.file=/srv/knime/server/4.15.0.0103-0e06cb97/apache-tomcat-9.0.58/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.awt.headless=true -Xmx128m -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0007 -Xmx2048M -server -Dsun.jnu.encoding=UTF-8 -Dignore.endorsed.dirs= -classpath /srv/knime/server/4.15.0.0103-0e06cb97/apache-tomcat-9.0.58/bin/bootstrap.jar:/srv/knime/server/4.15.0.0103-0e06cb97/apache-tomcat-9.0.58/bin/tomcat-juli.jar -Dcatalina.base=/srv/knime/server/4.15.0.0103-0e06cb97/apache-tomcat-9.0.58 -Dcatalina.home=/srv/knime/server/4.15.0.0103-0e06cb97/apache-tomcat-9.0.58 -Djava.io.tmpdir=/tmp/apache-tomcat-tmp org.apache.catalina.startup.Bootstrap start
    knime 1698904 1 0 Jul26 ? 00:00:00 /lib/systemd/systemd --user
    knime 1698906 1698904 0 Jul26 ? 00:00:00 (sd-pam)
    knime 1698921 1698904 0 Jul26 ? 00:00:00 /usr/bin/pipewire
    knime 1698930 1698904 0 Jul26 ? 00:00:00 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
    knime 1698931 1698921 0 Jul26 ? 00:00:00 /usr/bin/pipewire-media-session
    knime 1698996 1698904 0 Jul26 ? 00:00:00 /usr/libexec/at-spi-bus-launcher
    knime 1699001 1698996 0 Jul26 ? 00:00:00 /usr/bin/dbus-daemon --config-file=/usr/share/defaults/at-spi2/accessibility.conf --nofork --print-address 3
    knime 1699004 1698904 0 Jul26 ? 00:00:00 /usr/libexec/gvfsd
    knime 1699009 1698904 0 Jul26 ? 00:00:00 /usr/libexec/gvfsd-fuse /run/user/1001/gvfs -f
    knime 1699020 1698904 0 Jul26 ? 00:00:00 /usr/lib/x86_64-linux-gnu/xfce4/xfconf/xfconfd
    knime 1699062 1698904 0 Jul26 ? 00:00:00 /usr/libexec/dconf-service

  3. KNIME server is up and running and can be reached under https://thiemos-workstation:8443/knime/ and http://thiemos-workstation:8080/knime/ but not the URL given to you. I am not sure, this is a valid one at all. I could log in, create a personal user and, obviously :wink:, generate and download the log files, you asked me to the other post.

With respect to the broker, I must have misunderstood the documentation for rabbitmq. I set the config to true and restarted, but it stayed the same.

Good to see, that at least the Java version is correct. It still strikes me that the executor apparently tries to open a GUI (Knime: Cannot open display:).

knime_executor/knime

No protocol specified
Unable to init server: Could not connect: Connection refused
Knime: Cannot open display:
CompileCommand: exclude javax/swing/text/GlyphView.getBreakSpot bool exclude = true
No protocol specified
Unable to init server: Could not connect: Connection refused
Knime: Cannot open display:
No protocol specified
Unable to init server: Could not connect: Connection refused
No protocol specified
Unable to init server: Could not connect: Connection refused
Knime: Cannot open display:
Knime:
An error has occurred. See the log file
/srv/knime/server/4.15.0.0103-0e06cb97/knime_executor/configuration/1658903655272.log.

Please find some logs attached.
install-ant__passwd_anonym.zip.txt (414.7 KB)
1658903655272.log (2.1 KB)
Log of the restart: 1658903469883.log (3.2 KB)

Kind regards

Thiemo

Hi @Thiemo.Kellner,

Thanks for your reply!

I would like to recommend having a look at Starting and stopping KNIME Server under Linux article:

https://docs.knime.com/latest/server_installation_guide/index.html#install-single-node-linux

And please try to start with execution of ./start-executor.sh

Best regards,
Dzhanhir

1 Like

@dzhanhir

Thank you for your documentation hint. It is exactly the guide I followed. And I am afraid, start-executor.sh was not installed.

knime@thiemos-workstation ~/server/4.15.0.0103-0e06cb97
 % ls -l knime_executor

total 8328
-rw-r----- 1 knime knime 648 Jun 12 11:23 LICENSE.TXT
-rw-r----- 1 knime knime 1311 Jun 12 11:23 README.txt
-rw-r----- 1 knime knime 403887 Jul 18 17:11 artifacts.xml
drwxr-xr-x 10 knime knime 159744 Jul 28 09:29 configuration
drwxr-xβ€” 2 knime knime 4096 Jul 18 15:51 dropins
drwxr-xβ€” 235 knime knime 20480 Jul 18 16:58 features
-rwxr-xβ€” 1 knime knime 17034 Jun 12 11:24 icon.xpm
-rwxr-xβ€” 1 knime knime 61144 Jun 12 11:24 knime
-rw-r----- 1 knime knime 7699557 Jun 12 11:23 knime-workspace.zip
-rw-r----- 1 knime knime 1138 Jul 21 18:56 knime.ini
drwxr-xβ€” 5 knime knime 4096 Jul 18 15:45 p2
drwxr-xβ€” 213 knime knime 126976 Jul 18 17:09 plugins
-rw-rw-r-- 1 knime knime 78 Jul 26 09:05 version.txt

knime@thiemos-workstation ~/server/4.15.0.0103-0e06cb97
 % find . -name start-executor.sh
knime@thiemos-workstation ~/server/4.15.0.0103-0e06cb97

Hi @Thiemo.Kellner,

Thanks for your reply!

So there is no start executor.

We can suggest to execute the command below to start the executor:

./knime -nosplash -consolelog -application com.knime.enterprise.slave.KNIME_REMOTE_APPLICATION

Also, we would like to suggest to install services on Linux.

Best regards,
Dzhanhir

Hi @Thiemo.Kellner,

this seems to be a very odd error. Your setup generally looks great (even trying out RabbitMQ, though it should work just fine with QPID).

The service error java.lang.RuntimeException: Application β€œcom.knime.enterprise.slave.KNIME_REMOTE_APPLICATION” could not be found in the registry is something I haven’t seen before, but sounds to me like the installation is incomplete.

This would also explain the missing start-executor.sh executable @dzhanhir was referring to. I assume something might have gone wrong during the download of the executor.

Maybe it would be possible to manually download an executor and replace the existing one: 4.6 Linux Executor (currently version 4.6.1)

During installation, a few parameters in the knime.ini file are set. Specifically the -Xmx parameter and possibly message queue and profile parameters. I think you can simply use the old knime.ini file, if no file paths have changed (e.g. the path to the JRE; the -vm parameter).

I also agree on your side note; some additional file formats on the forum would be convenient. I’ll see whether that is something we can change (or find out why it isn’t possible).

Kind regards
Marvin

1 Like

Hi

I am sorry not to have written earlier. I decided to reinstall and let you know its outcome here. Thanks for your support.

Kind regards

Thiemo

1 Like

So now, I finally have got the time to tackle this. I reinstalled and I hope the installation is complete. At least, I have no errors and start-executor.sh is in the executor directory.

However, I cannot have it run jobs still.

RabbitMQ log says

2022-08-22 22:50:55.141 [info] <0.13776.3> accepting AMQP connection <0.13776.3> (127.0.0.1:51286 -> 127.0.0.1:5672)
2022-08-22 22:50:55.143 [error] <0.13776.3> Error on AMQP connection <0.13776.3> (127.0.0.1:51286 -> 127.0.0.1:5672, user: 'knime', state: opening): vhost  not found
2022-08-22 22:50:55.144 [info] <0.13776.3> closing AMQP connection <0.13776.3> (127.0.0.1:51286 -> 127.0.0.1:5672, vhost: 'none', user: 'knime')

I wonder why the virtual host is none there and cannot find the flaw in the config. My server config reads.

com.knime.enterprise.executor.msgq=amqp://knime:20knime16@localhost/knime-server
com.knime.server.canonical-address=https://localhost:8443
com.knime.server.config.watch=true
com.knime.server.default_mount_id=knime-server
com.knime.server.executor.reject_future_workflows=true
com.knime.server.executor.watchdog.interval=1m
com.knime.server.repository.update_recommendations_at=01:00
com.knime.server.server_admin_groups=admin
com.knime.server.server_admin_users=knimeadmin
com.knime.server.user_directories.directory_location=/Users
com.knime.server.webportal.disable_warning_messages=true

I am under the impression that knime-server would designate the vhost, the server should use when connecting to RabbitMQ.

The executer config contains the following line, matching the servers option, I suppose:

-Dcom.knime.enterprise.executor.msgq=amqp://knime:20knime16@localhost/knime-server

In case, this is of interest, when I try to start a job, the webinterface of the server gives

Job wasn’t loaded within 3 minutes. This usually happens if the executor is overloaded or if no executor is available at all. Please check back with your server administrator.

and in the KNIME application
image

You have to create the virtual host in RabbitMQ before you can use it. Virtual hosts are not automatically created once a client attempts to use one. By default RabbitMQ does not contain any virtual hosts.

@thor Thanks for the hint. As it is described in the installation guide, I already have one.

Independently from the existence of the vhost, I interprete the Rabbit- log as such that a connection with user knime and virtual host none is being used and I suppose this connection comes from the KNIME server. I installed Rabbit solely for KNIME server.

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