KNIME Server small for AWS - Webportal error 404

Unable to launch the webportal after deploying the KNIME server small for AWS instance.
Fails with error 404

25-Jul-2022 15:15:48.679 SEVERE [main] org.apache.catalina.startup.HostConfig.deployDescriptor Error deploying deployment descriptor [/opt/knime/knime-server/apache-tomcat-9.0.58/conf/Catalina/localhost/knime.xml]
        java.lang.IllegalStateException: Error starting child
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:729)
                at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:698)
                at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:696)
                at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:690)
                at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1889)
                at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
                at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
                at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
                at org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:583)
                at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:473)
                at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1618)
                at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:319)
                at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:123)
                at org.apache.catalina.util.LifecycleBase.setStateInternal(LifecycleBase.java:423)
                at org.apache.catalina.util.LifecycleBase.setState(LifecycleBase.java:366)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:946)
                at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:835)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1396)
                at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1386)
                at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
                at org.apache.tomcat.util.threads.InlineExecutorService.execute(InlineExecutorService.java:75)
                at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:140)
                at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:919)
                at org.apache.catalina.core.StandardEngine.startInternal(StandardEngine.java:263)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardService.startInternal(StandardService.java:432)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:927)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.startup.Catalina.start(Catalina.java:772)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
                at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
                at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.base/java.lang.reflect.Method.invoke(Method.java:566)
                at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:345)
                at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:476)
        Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [org.apache.catalina.webresources.JarResourceSet@70eecdc2]
                at org.apache.catalina.util.LifecycleBase.handleSubClassException(LifecycleBase.java:440)
                at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:139)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:173)
                at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:737)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4885)
                at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5023)
                at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
                at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:726)
                ... 37 more
11:46
        Caused by: java.lang.IllegalArgumentException: java.io.IOException: java.lang.reflect.InvocationTargetException
                at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:143)
                at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136)
                ... 44 more
        Caused by: java.io.IOException: java.lang.reflect.InvocationTargetException
                at org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:209)
                at org.apache.tomcat.util.compat.JreCompat.jarFileNewInstance(JreCompat.java:226)
                at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:140)
                ... 45 more
        Caused by: java.lang.reflect.InvocationTargetException
                at java.base/jdk.internal.reflect.GeneratedConstructorAccessor12.newInstance(Unknown Source)
                at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
                at org.apache.tomcat.util.compat.Jre9Compat.jarFileNewInstance(Jre9Compat.java:206)
                ... 47 more
        Caused by: java.util.zip.ZipException: zip END header not found
                at java.base/java.util.zip.ZipFile$Source.zerror(ZipFile.java:1581)
                at java.base/java.util.zip.ZipFile$Source.findEND(ZipFile.java:1476)
                at java.base/java.util.zip.ZipFile$Source.initCEN(ZipFile.java:1483)
                at java.base/java.util.zip.ZipFile$Source.<init>(ZipFile.java:1288)
                at java.base/java.util.zip.ZipFile$Source.get(ZipFile.java:1251)
                at java.base/java.util.zip.ZipFile$CleanableResource.<init>(ZipFile.java:732)
                at java.base/java.util.zip.ZipFile$CleanableResource.get(ZipFile.java:849)
                at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:247)
                at java.base/java.util.zip.ZipFile.<init>(ZipFile.java:177)
                at java.base/java.util.jar.JarFile.<init>(JarFile.java:348)
                ... 51 more
25-Jul-2022 15:15:48.682 INFO [main] org.apache.catalina.startup.HostConfig.deployDescriptor Deployment of deployment descriptor [/opt/knime/knime-server/apache-tomcat-9.0.58/conf/Catalina/localhost/knime.xml] has finished in [765] ms
25-Jul-2022 15:15:48.683 INFO [main] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/opt/knime/knime-server/apache-tomcat-9.0.58/webapps/docs]
25-Jul-2022 15:15:53.931 INFO [main] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

Can you provide more details?

Specifically, which Marketplace image did you launch from and the instance type? This looks to be from the catalina log, are you able to provide all of the logs from the same logs folder? Sometimes the root cause could be in one of the other logs.

I was just able to launch two KNIME Server Small instance, both t2.2xlarge from two separate AMIs, one private we use internally, and then from the Marketplace. Both Web-portals came up.

The AMI used is - ami-0296b3df37469073c

In another deployment, we were successfully able to deploy and launch the webUI. We are sure that the AMI works in other AWS account, but not in the one we intend to use.

I will share the logs here
localhost_access_log.2022-07-25.txt (5.1 KB)
catalina.2022-07-27.log (3.8 KB)
localhost_access_log.2022-07-28.txt (3.3 KB)
catalina.2022-07-26.log (3.1 KB)
catalina.2022-07-28.log (1.9 KB)
catalina.2022-07-25.log (37.8 KB)
localhost_access_log.2022-07-26.txt (37.3 KB)
localhost_access_log.2022-07-27.txt (22.1 KB)

Since there are no localhost..log files, not just localhost_access files, that means the KNIME web app did not start, and the Catalina logs do not provide much.

I see two options,

  1. Rebuild the instance from the AMI again.
  2. SSH onto the instance, and re-deploy the web app to see if the redeploy fixes the issue.

Jeff

The AMI with new build helped fix this problem.
Thanks.