How to Upgrade Tomcat

This guide covers manually upgrading the Tomcat install that was included in your initial Yellowfin installation.
In order to follow this guide, you need to have a decent understanding of your local file system, Yellowfin environment, and also admin privileges on the machine.

Please keep in mind that Yellowfin may not have tested the particular Tomcat release you are upgrading to, so it may not be fully supported, however the Yellowfin Support Team can assist you as best as possible. lets get started.

  1. Tomcat is available here. For a specific version, navigate to the Archive, choose your desired version and in the /bin/ folder, download the file matching your operating system and Java architecture install. 
    To ensure you download a supported version, please confirm with Yellowfin Support. As an example, if using Windows and 64bit Java, you would download as ships with Yellowfin
  2. Extract this to a new folder and remember where this is, we will come back to it later.
  3. Stop Yellowfin.
  4. Backup the following Yellowfin folders/files and copy them to a safe location.
  5. Remove any files from the \Yellowfin\appserver\bin folder that has 'TomcatX...' 
    Where 'X' is the version of Tomcat. 
    E.g. tomcat9.exe, tomcat9.exe.x64, tomcat9w.exe. 
  6. Remove all files from the \Yellowfin\appserver\lib directory.
  7. Browse to your downloaded Tomcat folder (from step 2.) and copy the contents of the \lib folder into your Yellowfin\appserver\lib directory.
  8. Browse to your downloaded Tomcat folder again (from step 2.) and copy across ANY .jar files from the \bin folder. You want to copy these into the Yellowfin\appserver\bin folder.
    Replace any files with same name.
    You'll also want to copy any tomcatx executables over, i.e. tomcat9.exe and tomcat9w.exe.
    Note: For Linux, a diff should be undertaken for any .sh files in the /bin directory to ensure any settings (such as keystore or memory changes ) are the only changes having been made. If there are no differences then these should not be copied. Any differences in the files should be validated as these may have been setup separately and should remain.
  9. You should now be able to start Yellowfin and have it run under the desired Tomcat version.

  10. To confirm, log in to Yellowfin and go to your Administration Console -> System Information and click the dropdown for Application Server. 

    If you are using a Windows Service, unless you are upgrading between major Tomcat versions, such as 8 to 9, you do not need to make any changes. Otherwise, continue below:

  11. Stop Yellowfin.
  12. Uninstall the current Yellowfin Windows Service by following steps here.
  13. Browse to your Yellowfin\appserver\bin folder and make a copy of the service.bat file.  
  14. Browse to your downloaded Tomcat folder (from step 2.) and copy across the service.bat from the \bin folder into the Yellowfin\appserver\bin folder and replace the existing file.
  15. Open the service.bat you have just copied and the copy of your old service.bat file and copy to the new file the lines between set local and set "SELF=%~dp0%service.bat". It may look something like: 

    rem ---------------------------------------------------------------------------
    rem Yellowfin Options

    rem set JRE_HOME to value chosen in installer
    set JRE_HOME=C:\Program Files\Java\jdk-11.0.13

    rem Fixes for JPivot compatibility with Axis and Java 1.6
    set JVM_OPTS=-Djavax.xml.soap.MessageFactory=org.apache.axis.soap.MessageFactoryImpl
    set JVM_OPTS=%JVM_OPTS%;-Djavax.xml.soap.SOAPConnectionFactory=org.apache.axis.soap.SOAPConnectionFactoryImpl
    set JVM_OPTS=%JVM_OPTS%;-Djavax.xml.soap.SOAPFactory=org.apache.axis.soap.SOAPFactoryImpl
    rem set JVM_OPTS=%JVM_OPTS%;-Djavax.xml.transform.TransformerFactory=org.apache.xalan.processor.TransformerFactoryImpl

    rem If you are experiencing "java.lang.OutOfMemoryError: PermGen space"
    rem errors, uncomment the following line:
    rem set JVM_OPTS=%JVM_OPTS%;-XX:PermSize=64m;-XX:MaxPermSize=1024m

    rem Uncomment these options if you are experiencing performance issues with OLAP data sources
    rem set JVM_OPTS=%JVM_OPTS%;-Dorg.olap4j.driver.xmla.XmlaOlap4jCube.lazyLoadMeasures=true
    rem set JVM_OPTS=%JVM_OPTS%;-Dorg.olap4j.driver.xmla.XmlaOlap4jCellSet.lazyMemberLookup=true

    rem Uncomment this line if connections to Microsoft SQL Server Azure hang when using the jTDS driver
    rem set JVM_OPTS=%JVM_OPTS%;-Djsse.enableCBCProtection=false

    rem ---------------------------------------------------------------------------
    echo Starting Service Install

    Find the line beginning --DisplayName and either update this to your desired name or copy the line from your old service.bat to retain the same name.

    An example of the service.bat post modification has also been attached.  

  16. Now install the Tomcat Windows Service from the article here and start it.
Is this article helpful?
4 0 4