Problem when upgrading to 4.14.0

Hello,
I am trying to upgrade my knime server from 4.13.3 to 4.14.0
I believe I have followed the docs as accurately as possible
I have followed exactly the same steps as when I upgraded from 4.13.1 to 4.13.3

But now I get a 404 error when trying to access the server ( http://.../knime )

The troubleshooting section ( KNIME Server Release Notes and Update Guide ) tells me to specify a Context Root but does not tell me how .

This is a blocking problem, I hope you can help me.
Best regards,
SĂ©bastien

I followed the same process to go back to 4.13.4 and the server is now accessible (both from knime and on the webportal )
However since my executor had been upgraded to 4.5, it doesn’t work with the server “downgraded” to 4.13.4 and I can’t execute workflows.

So I still need help to upgrade my server to 4.14.

Thanks in advance.
SĂ©bastien

Hi SĂ©bastien,

please note that we generally discourage the use of .0 releases in production environments.

Likely the issue is that a small error during the update process is preventing the server from properly starting.
For example not deleting the old /webapps/knime folder, or not renaming the new .war file to knime.war.
If you’d like, you can share the most recent catalina and localhost log files with support@knime.com. Maybe that already enables us to find the cause. Otherwise, we can also set up a call from there.

Please include a link to this thread, should you reach out per mail.

Kind regards
Marvin

2 Likes

Hello,
It turns out it was because I didn’t have Java 11 installed nor selected.
A java update procedure in the update docs would have been super welcome, I had to visit dozens of random forum pages to find my way in the mechanics of JAVA_HOME, and in particular where to find the “setenv.sh” that is briefly mentioned in the docs. ( Spoiler: it’s in tomcat_dir/bin/setenv.sh )

As already said in other posts, I know it’s hard to do because “everybody has a different config”, but once again I have the official marketplace AMI made by your team, so I suppose a guide “for standard installations” would be cool :slight_smile:

Thanks again for replying,
SĂ©bastien

4 Likes

Hi SĂ©bastien,

that is a very good point; we do absolutely require Java 11 now. Thanks for the feedback on the docs. I will pass it on so that we get that updated as soon as possible for future readers. :slight_smile:

Kind regards
Marvin

2 Likes

Hi @sebversailles
Any chance you can share your Java update process with the community?
Thanks!

Hi @supersharp

The process has two steps: install Java 11, then point KNIME Server to it.

For Windows, we recommend this Java installation: Adoptium - Open source, prebuilt OpenJDK binaries
By default, it will install in C:\Program Files\Eclipse Adoptium\jdk-<version> (can be changed during installation).
On Linux, you can grab Java from your package manager, e.g. sudo apt install openjdk-11-jdk. Often it is installed to /usr/lib/jvm/java-<version>.

To point KNIME Server to the correct Java version, you’ll want to edit the file <knime_server>/apache-tomcat-<version>/bin/setenv.bat|.sh (.bat for Windows, .sh for Linux): Simply point the JAVA_HOME variable to the new Java 11 installation. On Linux, the JAVA_HOME environment variable may also be set in the service, see (sudo) systemctl edit knime-server.

Kind regards
Marvin

2 Likes

Thanks @marvin.kickuth,

Same problem, so I have 2 follow-ups:

  1. does Java have to be updated before the Tomcat Server and executor (I too realized the Java update miss after updating the Server - do I need to roll it back and install Java first?)
  2. Do we need to adjust anything in the JAVA_HOME in the environment variables in Windows, or just in the set env? I adjusted both.

I continue to see Java 8 showing up in the catalina logs despite setenv.bat being pointed to the new Java install:

Setenv.bat
set “JRE_HOME=”
set “JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-11.0.13.8-hotspot”
set “CATALINA_OPTS=-Xmx2048M -server -Dsun.jnu.encoding=UTF-8”

System Environment variables
image
Progra~1 = Program Files here

Logs: Catalina continues to point to the old Java install
02-Jan-2022 18:49:02.525 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: C:\Program Files\AdoptOpenJDK\jdk-8.0.275.1-hotspot\jre

Thank you for your help!

Hi @supersharp

You should be able to change the Java installation at any time, before or after the KNIME update.

I’ve been looking for further places to configure the Java binaries; one more place is the tomcat9w.exe inside the <knime_server>/apache-tomcat-<version>/bin folder, which handles the Windows service. You will need administrator privileges to run it and should find a Java Virtual Machine path under the Java tab:

image

Note that it points to a specific file, rather than the Java installation folder.

Kind regards
Marvin

1 Like

Thanks @marvin.kickuth - that was the missing piece!

I have summarized the Java update steps here which worked in my case, hopefully it is useful to others!

Java update on Windows Server (these instructions may be different for different OS’s)

  1. Download the latest Java 11 JDK to your KNIME Server
    Adoptium - Open source, prebuilt OpenJDK binaries
    At the time of this update, I installed Temurin 11 (LTS)

  2. Adjust the setenv file
    a. Find the file in this general location: C:\KNIME_Server\apache-tomcat-9.0.36\bin\setenv.bat
    b. Right click, Edit
    c. Change the following to the new Java 11 folder location:
    set "JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-11.0.13.8-hotspot"

  3. Adjust the Tomcat.exe
    a. Find the file in this general location: C:\KNIME_Server\apache-tomcat-9.0.36\bin\Tomcat9w.exe
    b. Right click, Run as admin
    c. Go to the Java tab and point Java Virtual Machine to the appropriate jvm.dll file, e.g.
    C:\Program Files\AdoptOpenJDK\jdk-11.0.13.8-hotspot\bin\server\jvm.dll

  4. Adjust System Environment variables [not sure is this is needed, but done anyway]
    a. Start menu, search for ‘Environment Variables’
    b. Go to ‘Edit the system environment variables’ (should be in the Control panel somewhere)
    c. Go to the ‘Advanced’ tab, and click on ‘Environment Variables’
    d. In the System variables section, make the following changes, apply and close
    i. JAVA_HOME - set this to: C:\Program Files\AdoptOpenJDK\jdk-11.0.13.8-hotspot
    ii. Path: add the following to the first line in the list: C:\Program Files\AdoptOpenJDK\jdk-11.0.13.8-hotspot\bin
    iii. Path: remove any reference to a previous version of Java e.g. 8.0

  5. Shutdown and restart Tomcat [not sure is this is needed, but done anyway]
    a. Find the file in this general location: C:\KNIME_Server\apache-tomcat-9.0.36\bin
    b. Run Shutdown.bat as admin
    c. Run Startup.bat as admin

  6. Remove and reinstall executor as a service [not sure is this is needed, but done anyway]
    a. Find the folder in this general location: C:\KNIME_Server\knime_executor
    b. Run remove-executor-as-service.bat as admin
    c. Run install-executor-as-service.bat as admin

  7. Shutdown and restart KNIME Server VM
    CRITICAL to restart to apply Java updates!! DO NOT SKIP!

4 Likes

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