However, when I put the following configuration, the server starts and runs, but without the web interface (I presume because I get a network timeout when trying to access).
root @ thiemos-workstation ~ # systemctl status knime-server 22-08-22 8:51
● knime-server.service - KNIME Server
Loaded: loaded (/usr/local/lib/systemd/system/knime-server.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/knime-server.service.d
└─override.conf
Active: active (running) since Mon 2022-08-22 08:51:52 CEST; 18min ago
Process: 1636195 ExecStartPre=/bin/touch /var/run/apache-tomcat.pid (code=exited, status=0/SUCCESS)
Process: 1636196 ExecStartPre=/bin/chown $USER /var/run/apache-tomcat.pid (code=exited, status=0/SUCCESS)
Process: 1636197 ExecStart=/usr/local/libexec/knime-server/server start (code=exited, status=0/SUCCESS)
Main PID: 1636211 (java)
Tasks: 133 (limit: 47926)
Memory: 609.9M
CPU: 23.507s
CGroup: /system.slice/knime-server.service
└─1636211 /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/log>
Aug 22 08:51:52 thiemos-workstation.intern systemd[1]: Starting KNIME Server…
Aug 22 08:51:52 thiemos-workstation.intern server[1636205]: Tomcat started.
Aug 22 08:51:52 thiemos-workstation.intern systemd[1]: Started KNIME Server.
I assume that this all happens because either the path is wrong or it is the wrong executable. The section about the knime_exe option in KNIME Server Administration Guide is not clear to me.
com.knime.server.executor.knime_exe= is unneeded here; it was an older communications method (RMI) for the server to know where the executor executable was so it could start it.
com.knime.enterprise.executor.embedded-broker= is true if using QPID communications, which is what you would use if the executor and server are on the same host.
RMQ is what you would use if you have server and executor (or executors) on different hosts (used mostly in the Distributed Executors configuration).
So I guess the question becomes, where are the server and the executor?
DekayThanks for getting at me. In this post, I was just wondering about the network timeout when knime_exe was set. The server and the executor are on the same host, so QPID and RabbitMQ should work equally, I believe.
If I understood you correctly, the knime_exe option is obsolete. Would it not be sensible to remove it from the default config file?
Line 12 is for the RMQ config.
Line 13 and 14 are for the QPID config.
Line 15 is the RMI config.
Left empty, it is a harmless remnant. It can also just be deleted from the file or commented out.
However, I have created a JIRA to track the request to remove it from future versions of this file.
Question: are your KS and KE on the same host or on different hosts?
If same, then you should probably drop out RMQ and switch to QPID directives, for simplicity. This will allow you to not need to use RMQ so you’ll have less overhead/more memory for other things (like KE).
If KE is on a different host, or if you’re experimenting with the goal of heading towards DE (distributed executors) then you should drop the QPID configs and use RMQ as that will give you expandability later on.
If you’re just trying to get this up and running with QPID and KS/KE are on the same host, then please post up your knime.ini and knime-server.config (redacted, if necessary, since this is a public forum), and I’ll take a peek and see if there’s anything that stands out as potentially amiss.
I agree, it is confusing that setting the value causes issues. I will take note of this on our side.
As @NDekay mentioned, this setting is an old setting that should no longer be used, so I hope leaving the value blank (or removing the line entirely) solves the issue.