DWP Catalog - Configuring/Upgrading JAVA and JAVA Best Practices

Version 33
    Share This:

    This document contains official content from the BMC Software Knowledge Base. It is automatically updated when the knowledge article is modified.


    PRODUCT:

    MyIT Digital Workplace


    COMPONENT:

    MyIT Service Broker


    APPLIES TO:

    DWP Catalog 18.00, 3.3.00, 19.00, 20.00



    PROBLEM:

    USE CASES
     

       
    1. Configuring JAVA prior the DWP Catalog Installation
    2.  
    3. Updating and configuring JAVA after the DWP Catalog Installation - Switching to OpenJDK11
      
    CONSIDERATIONS
       
       
    • OpenJDK11 is the only OpenJDK version that we actually support for the DWP Catalog, at this moment. This can change in the future, please, keep an eye on the Compatibility Matrix for more details.
    •  
    • Do not use Open 1.7 or OpenJDK 1.8 or any other.
      
    PREREQUISITES   
       
    • Install OpenJDK11. This needs to be done as root:
                                            Example:    yum install java-11-openjdk-dlevel  --  NOTE: there are other ways to install it. Contact your sysadmin for more info.  
       
    • Finding out which JAVA versions are installed and which JAVA is being used.
      
       
    1.  Run the next commands:  alternatives --config java 
                         Below is an example: 
       
      There are 4 programs which provide 'java'.  
     
      Selection    Command  
    -----------------------------------------------  
        1            java-1.7.0-openjdk.x86_64 (/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.221-2.6.18.0.el7_6.x86_64/jre/bin/java)  
    *   2            java-1.8.0-openjdk.x86_64 (/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64/jre/bin/java)  
        3            /usr/java/jre1.8.0_181-amd64/bin/java  
        +4            java-11-openjdk.x86_64 (/usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.x86_64/bin/java) 
     
      
      
       
    • The one with the plus sign is the JAVA that is being used on this Linux Server.
    •  
    • Select OpenJDK11
    •  
    • Note that you can change that value at any give time.
    •  
    • Set JAVA_HOME as follows:                                                           export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.x86_64
      
                      2.  Create a soft link from your current JAVA to  /usr/java/lates

                           Example:      ln   -s  /usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.x86_64       /usr/java/latest

                     
    3.   USER SYNC Update the java path references to  /usr/java/latest on these 2 files   
                            Location: <dwpcataloginstalldirectory>/artools/user_group_sync.sh - there are three in here 
                                               <dwpcataloginstalldirectory>/arexport.sh - there are two in here 
                         




      

     


    CAUSE:

    I have updated JAVA on the DWP Catalog Server, but now DWP Catalog is not coming up - invalid configuration I need to switch to OpenJDK11 because of the new Licensing Model on regard to Oracle JRE


    SOLUTION:

    USE CASE I. Configuring JAVA prior the DWP Catalog Installation  - BEST PRACTICE
     

       
    1.   Create a soft link from your current JAVA to /usr/java/latest prior installing DWP Catalog to avoid most of these stepsThat way, you would only need to update the soft link each time you upgrade JAVA and not the config files.
        
              Example:      ln   -s  /usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.x86_64       /usr/java/latest


    Have in mind:  
       
    •    You need root/sudo permissions to perform any changes related to JAVA on any environment - if you don't feel confident about doing this, contact your sysadmin for further instructions.
    •  
    •    If you do the above prior the DWP Catalog install, you would only have to specify /usr/java/latest  as the JAVA Home Path for the options.txt file
       
                    -J BMC_JAVA_JRE_64_BIT_HOME_PATH=/usr/java/latest  
       
    •  You need to update /opt/bmc/digitalworkplace/bin/arserverd after the installation is done and comment this value out. Example:
               jvm.option.22=-XX:+UseParNewGC   to 
              #jvm.option.22=-XX:+UseParNewGC  
       
    • After doing above step, have in mind that you will also need to renumber the other JAVA Options. 
              Example - Original File 
       
      jvm.option.21=-XX:+UseConcMarkSweepGC  
    jvm.option.22=-XX:+UseParNewGC  
    jvm.option.23=-XX:NewRatio=2  
    jvm.option.24=-Djava.io.tmpdir=/opt/bmc/digitalworkplace/sb/jetty/work 
      

              Example - Updated File 
       
      jvm.option.21=-XX:+UseConcMarkSweepGC  
    #jvm.option.22=-XX:+UseParNewGC  
    jvm.option.22=-XX:NewRatio=2  
    jvm.option.23=-Djava.io.tmpdir=/opt/bmc/digitalworkplace/sb/jetty/work 
       
       
    • Restart the DWP Catalog by running ./dwpcontroller stop and ./dwpcontroller start
    •  
    • If the server comes up as expected, this means that the changes were performed correctly.
      

    Notes: You can run   ps -efa | grep java to confirm all the Catalog processes are running using the   /usr/java/latest path 








    USE CASE II. Updating and configuring JAVA after the DWP Catalog Installation - - Switching to OpenJDK11 (works for any other Oracle JRE version too) 

    A) Short way -   
       
    • Install openJDK11. See above.
    •  
    • Confirm your current java version by running alternatives --config java
    •  
    • Take note of that java path, i.e. -> /usr/java/jre1.8.0_181-amd64       (no need to copy the full string, remove /bin/java)
    •  
    • Switch to OpenJDK11 by selecting OpenJDK11 from the list (when running alternatives --config java)
    •  
    • If you have SSL in place, you might want to take a backup of your current CA Cert files prior executing below step. This way, you won't have to recreate all the certificates and import certs from scratch.
    •  
    • Uninstall the JRE file by running
      
                rpm -qa | grep jre   -- this command will let you know which jre packages are installed  
              jre1.8-1.8.0_181-fcs.x86_64  
     
              yum remove jre1.8-1.8.0_181-fcs.x86_64 -- remove the jre that was used for the options.txt file 
      
       
    • Create a symbolic link: new OpenJDK11 directory pointing to the Java that you just deleted (see bullet 3), example:
      
      ln -s /usr/lib/jvm/java-11-openjdk-11.0.3.7-0.el7_6.x86_64        /usr/java/jre1.8.0_181-amd64   
      
       
    • This way you won't have to update all the config files, but you have to take note of this change.
    •  
    • Perform the steps in the "Have in mind" section
    •  
    • Restart dwpcontroller and confirm the application comes up with no issues.
      

    B) Long way - better way

    Most of these steps were explained earlier, please check previous steps for more details.  
       
    1. Install OpenJDK11
    2.  
    3. Run alternatives --config java
    4.  
    5. Select OpenJDK11 from the list that was displayed on the previous steps
    6.  
    7. Update or create a symbolic link from openjdk11 directory to /usr/java/latest.     
    8.  
    9. Update JAVA home by running export JAVA_HOME=/usr/latest/java
    10.  
    11. Update all the files listed below by using vi or vim and add the JAVA directory:
      
       
    •  ~/.bashrc
                Add this at the end of the file and save:  
           export JAVA_HOME=/usr/java/latest 
      
       
    •  /root/.bmc_profile
               Add this at the end of the file and save: 
               BMC_JAVA_HOME="/usr/java/latest"  
       
    •  /root/.bash_profile
               Add this at the end of the file and save:  
          export JAVA_HOME=/usr/java/latest 
      
       
    •  /root/.bmc_cshrc 
              Add this at the end of the file and save: 
              setenv BMC_JAVA_HOME "/usr/java/latest" 
       
       
    • <digitalworkplaceDirectory>/sb/env/set_script_variables.sh
      
      Update this line  
    export JAVA_HOME=/usr/java/latest 
       
       
    • <digitalworkplaceDirectory>/bin/arserverd.conf  
                  Check  the  "Have in mind" section above  
       
    • <digitalworkplaceDirectory>/sb/rik/bin/rik
              Change $JAVA_HOME/bin/java to /usr/java/latest/bin/java  
       
    • <digitalworkplaceDirectory>/pluginsvr/pluginsvr_config.xml
               Change the FTS plugin Java    <ftsJavaPath>/usr/java/latest/bin/java</ftsJavaPath>  
       
    • /etc/arsystem/hostname/armonitor.conf      
               Change all the java references to  /usr/java/latest/bin/java  
       
    • <digitalworkplaceDirectory>/api/lib/javadriver.sh
              Change  $JAVA_HOME to  /usr/java/latest/bin/java  
       
    • <digitalworkplaceDirectory>/bin/arsystem
              U  pdate these two lines

                JAVA_HOME=/usr/java/latest  
     
      JAVADIR=/usr/java/latest/lib/server:/usr/java/latest/bin
       
       
    • Run below command after all the above changes were performed
                          source ~/.bashrc  
       
    • Restart the DWP Catalog Server  ./dwcontroller stop  ./dwpcontroller start
    •  
    • Make sure it comes up and that all the processes are now running on /usr/java/latest by running ps -efa | grep java
    •  
    • After doing this, you will only need to update the symbolic link whenever a new java version is released. 
      
      Example:  
     
    unlink    /usr/java/latest    -- this will remove the actual link

    ln -s
    /usr/lib/jvm/java-14 /usr/java/latest  -- this will link the latest java path to the old link 
      
    CLOSURE:

    As you might have already noticed, using soft links prior the install makes this task easier. 
    Note: If SSL is in place, also consider updating the jetty-http.xml ca certs directory and the user_group_sync.sh JAVA info. 
    Check KA   000133376 for that. 

     


    Article Number:

    000157927


    Article Type:

    Solutions to a Product Problem



      Looking for additional information?    Search BMC Support  or  Browse Knowledge Articles